April 10, 2008
Open Source Software, An Idea Whose Time Has Come
The following essay is in reply to a post at The Motley Fool suggesting that VMware's virtualization solutions are the replacement for Microsoft's Windows as the desktop Operating System du jour based on the opinion that Windows has become uncontrollable bloat-ware: VMW as OS
It's not Windoze that's broken, it's the proprietary software model that's broken, at least, for large scale projects. To explain it in political terms, central planning simply becomes too cumbersome and too disconnected from the end users and consumers. Central planning can grow huge at the expense of efficiency but, sooner or later it must collapse under its own weight.
Replacing Windoze with some other proprietary software is not the solution although it's something that could have a half life of five to ten years. Windoze's half life is pretty much all used up.
The problem with software gigantism was recognized over 40 years ago. Frederick P. Brooks wrote the seminal book about it in 1975, The Mythical Man-Month. The central issue can be defined as: "It takes nine months to deliver a child no matter how many women you assign to the task." Brooks' argument was that by adding more resources to a project you would add even more complexity. Within those limitations, he described what he considered the most efficiency organization for large scale software projects: a dictatorship by the chief system architect. Curiously enough, that was the organization that Linus Thorwald would use to develop Linux. The main difference between Linux and the system Brooks advocated is that the Linux peons (hackers) don't get paid and they set their own hours and work goals.
Engineers typically think that something as disjointed as open source software cannot possibly be efficient. Time has show that open source software can produce excellent stable systems such as LAMP - Linux, Apache, MySQL, php. With these four open source products you can create websites such as amazon.com and yahoo!. That should be proof enough that open source works. A developer such as myself can create websites for his customers at very low cost because most of the tools are free. I will typically buy a new Macintosh laptop every couple of years at a cost of around $1500 or less as time goes by. That is just $60 a month, about three tankfuls of gas!
What brought large projects to a standstill back in the 1960s was that communications were rudimentary and hackers practically had to be face-to-face to exchange information. This justified Brooks' Law that adding people increased productivity linearly but it increased complexity exponentially. This will bring down any system that relies on this kind of economics. The Internet and specially the WWW streamlined communications to the point that Brooks' Law no longer applies. With email we no longer play phone tag, in other words we can communicate asynchronously. We no longer have to sit in meetings hour after hour. With search engines finding important information is much easier than with treeware books. In other words, the bad networking effect of Brooks' Law gives way to a very efficient networking effect.
Today I would not put my money on any company that depends on proprietary software because you will likely be disappointed. I often wondered when and how the law of increasing returns would break down. Increasing returns is what drove Microsoft to the lofty heights. But it is hard to see how a company can attain those heights when it is competing against someone who gives away their product for free. Once software is free we are back to the law of diminishing returns and what applies is being the low cost producer. The high salaries, bonuses and stock options makes it very difficult for any enterprise to compete with an army of volunteers provided these volunteers are properly organized. Linux is an example of an efficient volunteer organization.
As an aside, I have been reading about the Anarchists as that is a concept that appeals to me -- excluding their political aims. What appeals to me is the lack of force based authority. It didn't work for them, anarchists were crushed by Fascists and Bolsheviks alike. David Friedman is trying to revive the concept but his writings (The Machinery of Freedom) make very little sense to me. On the other hand, open source software is a perfect example of anarchy at work. On the deeper question of why open source software works while other forms of anarchy have been failures I would have to conclude that it is because the information industry has reached a level of complexity sufficient for self organization to work. Without a communication network such as the Internet and versioning software such as Subversion anarchy would not be able to organize itself sufficiently to produce any useful output on a large scale.
The Mythical Man-Month.
The Machinery of Freedom.
Copyright © Software Times, 2000, 2001, 2003. All rights reserved