There’s been some back and forth between various members of the technical press about whether the open source movement has lost its idealism, and the relative virtues of shunning or accepting proprietary software into your life. The last thing to cross my screen was an essay by Bruce Byfield that includes this gem:
In my mind, to buy and use proprietary products, except in the utmost necessity is something to be ashamed about. And that’s how I’ve felt the few times I’ve bought proprietary myself. It seems an undermining of FOSS’ efforts to provide an alternative.
Over the years, I’ve become less patient with the stridency of the FOSS movement, or at least some of the more pedantic wings of it. It is certainly not my place to tell anyone that they should buy or not buy any kind of software. However, the repeated assertions by members of the FOSS movement that proprietary software is somehow dirty or a corruption of principles has begun to stick in my craw.
There are plenty of places where FOSS makes all the sense in the world, and those are the places that FOSS has succeeded. No one uses a closed source compiler anymore, Eclipse is one of the leading IDEs for many languages, and Linux is a dominant player in embedded operating systems. All these cases succeeded because, largely, the software is secondary to the main business of the companies using it (the major exception being Linux vendors who contribute to the kernel, but they have a fairly unique business model.)
Where FOSS breaks down pretty quickly is when the software is not a widely desired tool used by the developer community. Much as you can quickly get to the Wikipedia philosophy page by repeated clicking on the first link of articles, you can quickly get to the requirement for a utopian society once you start following the line of assumptions needed to make consumer-level FOSS work.
The typical line of thought runs like this: Let’s say we’re talking about some truly boring, intricate, detail-laden piece of software, such as something to transmit dental billing records to insurers (this type of stuff is going to be required under the new health care laws.) Clearly, people don’t write these things for kicks, and your typical open-source developer is unlikely to be either a dentist, or a dental billing specialist.
So, if all software should be free and open source, who is going to write this code? One argument is that the dentist, or a group of dentists, should underwrite the production of the code. But dentistry, like most things in western society, tends to be a for-profit competitive enterprise. If everyone gets the benefit of the software (since it’s FOSS), but a smaller group pays for it, the rest of the dentists get a competitive advantage. So there is no incentive for a subset of the group to fund the effort.
Another variant is to propose that the software will be developed and given away, and the developers will make their living by charging for support. Leaving alone the cynical idea that this would be a powerful incentive to write hard-to-use software, it also suffers from a couple of major problems. To begin with, software this complex might take a team of 10 people one or more years to produce. Unless they are independently wealthy, or already have a pipeline of supported projects, there’s no way they will be able to pay for food (and college!) while they create the initial product.
And once they do, the source is free and available to everyone, including people who live in areas of the world with much lower costs (and standards) of living. What is going to stop someone in the developing world from stepping in and undercutting support prices? It strikes me as an almost automatic race to the bottom.
And this assumes that software development is the only cost. Let’s think about a game such as “Portal 2” or one of the “Call of Duty” titles. They have huge up-front costs for actors, motion capture, and so on. And they have very little in the way of potential revenue from support, as well. So do the FOSS proponents believe that modern computer games are all evil, and we should all go back to “NetHack” and “Zork”?
Let me be clear here: I am in no way trying to undermine anyone who wants to develop or use FOSS. But I have spent most of my adult life writing proprietary software — most of it so specialized and complicated that no open source project would ever want to take it on — and I find the implication that the work I do is in some way cheap or degrading to be a direct insult. When it has made sense, I have contributed work to open source projects, sometimes to a significant degree. But when it made sense, and when not, should remain my choice.
In many ways, the web is a perfect example of the marketplace of ideas. No one knows (or in most cases, cares) whether the technology under the covers is FOSS or proprietary. Individuals make the same measured decisions when selecting software for personal or business use. If there is a FOSS package that meets all the requirements, it tends to be selected. If it suffers in comparison to proprietary counterparts, it it may still be selected if the need to modify or extend the package is important, or if the price differential is just too hard to justify. But in many cases, proprietary software fills niches that FOSS software does not. If individual activists want to “wear a hair shirt” and go without functionality in the name of FOSS, that’s their decision. But I like linen, thank you.
If there are people out there who are willing to engage in a reasoned, non-strident discussion of this issue, I’d love to talk it out. But they need to accept the ground rules that most of us live in a capitalist society, we have the right to raise and provide for a family, and that until we all wake up in a FOSS developer’s paradise, we have to live and work inside of that context. Drop me a note or post a comment. I’d love to hear how a proprietary-free software world could work.
Photo on index and category pages: open by tinou bao, on Flickr