Is Open Always Better?
As supporters of open source software, our knee-jerk reaction to the question of if open development always results in better quality code is often an unqualified, “yes, of course!”. However, it may do the community good to take an objective look at the state of some of our projects, and how it reflects on the open source movement as a whole. It has been my experience that sometimes, not all the time, but sometimes, proprietary software is fantastic, and it would do us all a bit of good to ask why.
In the thirteen years I’ve been following open source, I’ve seen a few patterns emerge. First, the engineering excellence and quality that has gone into building Linux into the leading datacenter platform is nothing short of astonishing. The trend in the datacenter is clearly a move away from bloated, expensive, proprietary solutions like Tivoli from IBM and Microsoft’s Exchange and SharePoint to lean, optimized, open source alternatives. Even inside the open source community we are iterating on ourselves. Nginx seems like a successor to Apache, where Nginx is smaller and faster. The “cloud” as we know it today would not exist without open source software providing the building blocks. Again, I can’t emphasize enough the engineering excellence that has gone into making Linux the absolute best operating system for the data center. So why hasn’t that happened on the desktop?
The second pattern is that Linux on the desktop always lags behind. No matter what your desktop flavor of choice is, it’s not as good as Apple’s OS X. From the quality of the base operating system to the excellent third party ecosystem that surrounds it, OS X is the best desktop operating system available. There are, of course, specific instances when the engineering quality of the core Linux OS shines through. For example, support for high quality filesystems is excellent, but that’s not the aspect of the desktop that I’m addressing. The “Blog of Helios” has an interesting article up which touches on the subject:
This comes back to the argument of free software vs non-free or proprietary software.
If you paid good money for an application, you would not stand for shoddy coding for one minute. You would notify the author or company and complain immediately.
So why is FOSS held to a different standard?
A comment on the article furthers the point:
I’ve seen this happening in some other distros as well. For example in Fedora 15, Linux Containers (lxc.sourcefroge.net) was broken and it is still broken to this day in Fedora 17. Nothing new.
The commenter is correct that broken packages and software that doesn’t work quite right is nothing new in the open source community. We put up with it because, hey, it’s a work in progress, right? Release early, release often. Unless the specific package you are complaining about belongs to some esoteric functionality that the maintainers of the distro are not interested in. Then the release often part falls behind. An interesting project becomes not so interesting anymore, the code begins to stagnate and rot.
I believe it comes back to the money. Developing for idealism is admirable, but developing for idealism and a good paycheck is sustainable. We, the open source community, have been saying for years that because we have thousands of programmers all over the world looking at our code, we can find and fix bugs faster than proprietary software. However, I would like to point out two applications that serve as talking points that prove quite the opposite.
The first is an FTP app named Transmit. Transmit is considered to be the best file transferring app on the Mac, and it is developed by a small team of programmers that form the company Panic in Portland, OR. Panic’s attention to detail is legendary, and I would welcome anyone to find fault in their applications, or to find a better alternative on Linux.
The second app to consider is Acorn by Flying Meat. Flying Meat is actually a one man shop, so not only is Acorn “closed”, it is entirely the effort of one person. Acorn is an image editor, like Gimp and Photoshop. However, unlike either of those two, Acorn is designed to be powerful, beautiful, and easy to use. It is not enough to simply look at the list of features on the web site and use them as a check list. You’ve got to actually use the applications, get to know how they feel, get to know the trust that Mac users have in their applications.
These two examples are “best of breed” desktop applications that are developed by individuals, not collaboratively in the open. The developers are motivated to keep making their applications better because that’s what they do for a living. It’s how they put food on the table and pay the rent. I think that Ubuntu is on the right track with the software center by providing a mechanism for paying for software. Open source software has proven itself in the data center, but perhaps what we need on the desktop is less collaboration and more artesian craftsmanship. Perhaps what we need more than anything is to get out our wallets and start paying for open source software. Unfortunately hat’s a hard sell. Who will pay for what they can get for free?