Things we do better

One of rather fair questions I keep hearing is what exactly free open source software is better at. Sadly, typical reponses often rely on rather flawed argumentation. So it’s time for a bit of myths breaking.

  1. It has more features. A very popular argument, often used by people who don’t really have a good idea what proprietary tools can do. You can see lots of those in your typical “Photoshop vs. GIMP” thread. Being open-minded never hurts, you know :)
  2. It doesn’t use evil proprietary file formats, so you have full control over your data. File formats of open source applications are often badly documented if ever. In some cases like Scribus file formats change so frequently that developers never have time to write docs on that. As for full control, well, I’m not a control freak, but not being able to open my GRAMPS database after an upgrade to a newer version that introduced a new file format was quite a disaster. And don’t forget expenses to write a filter for even a documented file format (lower than same + reverse-engineering, mind you).
  3. You can modify it to suit your needs. Modifying core functionality is more widespread in web tools such as content management systems. True — there is e.g. the whole flRaw/jlRaw/dlRaw/Photivo thing among photography tools and half a dozen of friendly forks of Audacity, but I’d say it’s rather rare. Mostly people rely on plug-in architecture, especially if it’s well designed. Lots of proprietary tools have plug-in architecture, as well as free/libre ones. Both have cases of lousy plug-in architecture.
  4. It’s cheaper. It quite depends. Lots of things need taking into consideration, like all sorts of migration costs. In general, cost of a commercial tool is often not a big problem when it helps getting job done, pays off in the long run and doesn’t demand special attention like upgrading every week with subsequent workflow changes etc.
  5. Communities rule. As a matter of fact working with communities is a lesson well learnt for many proprietary software vendors. Go read “Is Ableton Open Source?”, if you want an example.

So, what do we actually excel at?

  1. Survival. If a commercial software project fails to justify cost of its production for any reason, it is either abandoned and ditched (e.g. MainActor, GigaSampler), or is sold, or, in most unfortunate case, opensourced :) . In some cases an acquired software project is closed for public access, e.g. Chameleon by Ares Software, acquired by Adobe. If you look around, you can easily spot free/libre applications that were abandoned by original developers and taken over by somebody else (GIMP, GRAMPS, FontForge etc.). The point of opening source code and freeing it is not just about getting contributions, it’s also about hereditability. The only way to insure that with proprietary tools is for community to buy them off which worked fine for Blender, but cannot possibly work for every single project out there.
  2. Localization. Of course I’m biased :) But it’s true — very popular commercial products never get localized into many languages. After five years on market immensely popular Adobe Lightroom is available in just 12 languages to the best of my knowledge. This is usually explained by cost of production of localization and its maintenance, as well as programming efforts to fix related bugs. With distributed development model this limitation can be easily surpassed. Last week darktable got full Albanian translation (its 13th in just a year). Can you imagine Lightroom in Albanian? The dark side of this, of course, is that quality of translation varies, but so it does for pricey commercial tools: a $20K worth chemical calculations package full of awful l10n errors is something I realy didn’t expect to find out about few years ago.
  3. Partial reuse of code. Leaving aside possible legal issues (Ramen is one of most terrible counter-examples of recent) this really is something to be proud of. Webkit based help browser from Scribus was reused and improved in Fontmatrix, and later reused and improved in Luminance HDR (neé Qtpfsgui), and is likely to be reused in Hydrogen. Darktable as of today’s Git master uses Rawspeed library developed by Rawstudio team, and Photivo is practically built on top of everything its developer scraped from various free digital photography tools.
  4. Early adoption of new technologies. Free software developers tend to have a more relaxed attitude towards release cycles which makes it possible to work on things they find interesting to work on. E.g. we had a year ahead start with seam carving: Photoshop was a year too late to get content-aware scaling in comparison to GIMP and its 3rd party plug-ins; PTGui was second to Enfuse re Hugin, darktable makes a heavy use of recent SIGGRAPH papers, FontForge is always first to implement new drafts of OpenType, and the list goes on. This is of course, debatable, since in a number of cases some new technologies never make it to free software.

Is it good enough? Not really. We deal with several major problems. More on that in the next blog posting.

  • http://www.grafica20.com.ar Mat!as

    Good post, interesting point of view!

  • http://www.hellocatfood.com Antonio

    Great analysis!

    To add to #3 of the flawed arguments, often I hear people say how you can hire a developer to modify software to meet your needs. Not only does that increase the time it takes to complete a project but it seems some people are very optimistic about how much hiring a developer costs. Exactly how long does it take to implement a feature in, say, GIMP? 10 hours? 20 hours? Does that take into account the time it takes for a developer to learn the codebase and to make it work? If we go with around £20 per hour (similar to what graphic designers should earn) the cost of hiring a developer soon outweigh the perceived benefits of doing so.

  • Jos

    I am the starter/author of flRaw, dlRaw and jdlRaw. And obviously also copyright holder on large parts of Photivo.nnActually I believe this is an example of failing open-source. With the exception of flRaw which was more like an immature prototyping, all of the other software would have benefited of cooperation rather than diversification. nnBut exactly that is difficult to manage in a non-company setting. n(probably it’s why some more successful open-source stuff is linked with companies !)nnSee also this blog