I'm always surprised when users wish that Microsoft Office or PhotoShop would be ported to Linux. Probably, some just want to be able to use standard industry software on their favorite operating system. But so far as I am concerned, applications like LibreOffice Writer or Krita are not just substitutions -- even without my ideals, I would choose them as the highest quality software available for my needs.
Nor am I the only one who feels this way. Over three- quarters of companies today use open source software somewhere in their business. Unlike a decade ago, many open source applications are not only mature, but have been repeatedly shown to have fewer errors than their proprietary equivalents.
The reasons for the superiority of open source code? I can think of at least seven reasons:
As the Preamble to the GNU General Public (GPL) License states, "The licenses for most software and other practical works are designed to take away your freedom to share and change the works.” By contrast, open source licenses like the GPL set the terms under which software code can be borrowed and developed.
Because of open source licenses, programmers save time by not needing to duplicate what has already been done. Their software can be completed more quickly, or else more features can be added and more testing can be done. For companies, these conditions mean less time to market and a more mature product.
Proprietary development usually involves keeping a close watch on costs. Too many new features, too much customization -- even too many bug-fixes -- can make a proprietary release go over budget.
At the same time, new features have to be added to encourage purchases, and that can be hard do with mature products. Recently, for instance, observers have suggested that Apple has been making cosmetic changes that, far from enhancing usability, actually detract from it.
By contrast, open source projects can customize at will, including developing for minority languages whose potential users are too few for them ever to be a profitable market.
Marketing software requires new features. With major software categories already mature, this requirement can mean change for change's sake, or the emphasis on minor improvements.
Open source software, however, has no such requirements. If no new features are being requested, open source projects can even have a release or two in a row that concentrate on streamlining the code, reducing bugs or other maintenance work that improves software quality but is mostly invisible to end users.
In 2008, Mark Shuttleworth, the founder of Ubuntu, tried to interest other projects in coordinating their releases so they all happened at the same time. Especially from the point of a distribution, the idea seemed logical and efficient.
Yet it was ignored even more than it was denounced. "It's ready when it's ready" became a rallying cry, as many projects expressed fear that keeping to a deadline would result in a decline in software quality. To this day, even large projects like Fedora, which have gone through numerous versions, regularly change their release days rather than release something with problems. It's a luxury that few commercial companies can afford, although the practice does little to affect the reputation of open source projects.
For years, open source had to concentrate on functionality, because projects were struggling to catch up with proprietary rivals. Increasing these days, free software has caught up and often surprised proprietary software, but the emphasis remains. Although in the past concentrating on functionality has often meant that interface design was neglected, this emphasis means that the focus is usually on real improvements. To this day, "eye candy" -- good looking but non-functional change -- remains a term of dismissal among many open source developers.
Open source development, as the saying goes, begins when a programmer decides to scratch their own itch. Even when that is not true, the egalitarian spirit of most projects means that end users have more direct access to developers than registered users generally have to proprietary developers. Either way, open source developers interact more closely with users -- a fact that betters their software even when they would prefer a more distant relationship.
When open source was written primarily by volunteers, the incentive was credit. In return for writing their lines of code, programmers enhanced their reputation. Now, many open source programmers are paid in one way or the other, but the incentive remains largely intact: programmers want to write the best possible code because their reputation is on the line. As an incentive, maintaining their personal reputation is often far more effective than being paid.
These reasons, of course, can fail in any given project. In particular, several of them depend on having enough developers, and many projects are chronically short of assistance.
All the same, the general trend is clear. Given the advantages of open source, proprietary software is constantly having to lower its price or support uneconomical audiences or features to have any hope of staying competitive. For example, in the last decade, Microsoft Office has greatly expanded its language support, something it showed little interest in doing before LibreOffice and OpenOffice.org started to port versions to minority languages.
Even now, LibreOffice supports 112 languages and locales to Microsoft's 106 -- a small difference, but one that can quickly add up when repeated constantly, especially when the other side has trouble emulating it. Having caught up to proprietary software, today many open source applications are increasing their lead year by year.
Photo courtesy of Shutterstock.