I came across an interesting essay recently that sheds a bit of light on why free/open source software hasn’t been more widely adopted in production environments. I’ve been using Inkscape, Blender and Gimp for much of my design work this semester, and I have to say Frederic Brooks nails it in his software development magnum opus, The Mythical Man-Month.
He starts off by analyzing garage-workshop software that often does things much better than suites on which hundreds of programmers sweat for years, and gives a good explanation for how that’s possible. Essentially, a program may be brilliant (and all three of the packages mentioned above do some things extremely well), but to be successful on the market it has to also be a system (in other words it has to to be able to work with other programs), and has to be a product, meaning it has to be reasonably usable by a wide range of people, not just savvy programmers. He says most of the time spent on a software package is not developing its meat-and-bones features, but actually taking them from the concept stage to being a system product. And that’s where many open source software packages fall short – they are often developed by and for programmers, who have little actual knowledge of what a professional user expects. In that respect Blender certainly is a notable exception in every regard – it is a system product of the highest caliber, but it has also been developed to a large extent by filmmakers, who are its target audience. Gimp is also a solid performer, and does the things you expect it to do very well. In general has very few shortcomings in comparison with Photoshop, the package it’s most often compared to.
Inkscape, however, is a different story altogether. It has some truly outstanding features (the tiled clone feature for one is amazing and very useful, see this post for a sample of what it can do), but it often breaks down at the day-to-day usability level. Printing and exporting in vector format is a chore for all but the simplest graphics. The program is constantly being developed, but the developers (as with most FOSS projects mostly volunteers) seem uninterested in making it a tool that professional users could apply in real production environments. Sure, you can do pretty much everything with it that you can with Illustrator and it doesn’t cost a dime, but what good is that when basic features like exporting and printing are an obstacle course? One that is possible to navigate, to be sure, but an obstacle course all the same.
That falls in neatly with Brooks’ argument – if you want Inkscape to output bitmap images (i.e. the format preferred by internet-minded types), Inkscape can’t be beat. But you better not want your final output to be vector-based, or you’re going to run into problems. Sure, on discussion boards someone will helpfully suggest that in the end all output is bitmap, since printers make dots not lines. But that misses the point that having the extra stage to go through does nothing to make your workflow smoother, and workflow is what professional software is all about. Just ask Adobe.
Inkscape is not alone in this, unfortunately. While there are more and more Blenders in the free/open source/libre software universe, it has some ways to go before it can truly stand on its own against commercial software. Having said that, I’m still wholeheartedly on its side, having put my money where my mouth is on more than one occasion. I simply think it’s worth having them around, if only as real competition to the mainstays of the industry.