The Dawning of Free Software
Linux is heir to a revolutionary development paradigm in the midst of another revolution: the free software movement. And Linux is perhaps the best known success story. Only 4 or 5 years ago, Linux was the obscure pet of kernel hackers and computer scientists. Now, there are estimated to be more than five million users, conservatively, and possibly as many as 15 million. It's now an industry. How could this happen with a product of part-time hackers and loosely-connected contributers who don't even stand to make money as a direct result of their efforts?
Something is up with this open-sourced, free software stuff. Netscape recently announced that they would release the source code for free to their Communicator browser. And Eric S. Raymond, the author of The Cathedral and the Bazaar, a paper about the success of the open-source development model, has been reading his papers and sharing his thoughts at every convention from Usenix to the Perl Conference, from the Linux Expo to the boardrooms of Netscape and other Silicon Valley corporations. They want to know what's going on too. Is it a mania? Like tulip bulbs and hula hoops? Or is it for real in some important way that bears our heightened attention?
Breaking Windows in the Cathedral
I hope you'll read Eric Raymond's paper at
http://www.earthspace.net/~esr. He
considers the traditional software development model like a cathedral
where the ascetics cloister themselves away from distractions and only
involve a few key people in the software development process. This
process happens away from the press, away from the purview of the
common man. The debugging and testing takes place largely among
insiders and effort is taken to keep the project ``quiet'' until a
full-blown release is made and a hefty sales price can be realized.
The ``Bazaar'' method of development, on the other hand, takes place in a noisy and largely unstructured fashion. Sources are released early and often. Many users are involved in one way or another in the debugging process. In contrast to the Cathedral approach, anyone can be involved in development under the bazaar paradigm. If you wish to write a patch, send it in to the developer. If it works, they'll probably use it. If not a patch, you can send in a bug report with instructions on how to reliably recreate the error. If not a bug report, ask a question on the mailing list, and someone else will either identify the bug (if any), or come up with an idea for adding a feature that removes your problem.
This type of thing happens time and time again with free software; with hundreds of eyes looking at each piece of open-source software, ``all bugs become shallow,'' as Raymond says. And history has shown it to be an extremely successful method for making very robust software. This success probably has most to do with the absence of the profit motive; open-source software developers are striving to build something that solves problems for large groups of people. This zeal for solving problems is an essential part of the ``hacker spirit'' that so permeates the open-source culture. To have contributed something so acclaimed as Linux or Perl or Emacs is to have carved out a small piece of immortality for yourself. It's a ``higher cause'' that these people work for, and they often give it much more devotion than they do their paychecks.
Living in Interesting Times
Other forces contribute to the zeal behind open-source development.
Given Microsoft's (with their closed standards and proprietary
formats) domination of the personal computer OS market, and given the
nuisance of code licensing and non-disclosure agreements, developers
who wish to collaborate to improve their software feel the quality of
their livelihood is threatened. It is their nature to collaborate
openly, to share code and ``clever hacks,'' but competitive commercial
restraints make this nearly impossible. The only way to get away from
these restraints is to get away from commercial pressures. The GNU
Manifesto (written by the legendary Richard Stallman) describes these
pressures and the inherent conflict of interest the open-source model
tries to avoid. (See
http://www.gnu.ai.mit.edu for a copy of the GNU Manifesto
and the GNU Public License. Eric Raymond also has an updated
write-up on the open-source model on his website mentioned earlier.)
``King Bill, Meet King George...''
As far as Microsoft's world domination goes, it's not so funny when you stop and think about it. Today's development environment resembles how it must have been during pre-Revolutionary times. Monied gentry were morally conficted because they wanted to profit from England's prosperity that came from the colonies. But supporting the King also extended his monopoly and weakened the colonial solidarity and incentive. The King was growing so large that supporting him was becoming an onerous burden. His power and invasiveness seemed to grow with his expanding dominion.
Nowadays with software, one similarly wonders who's in business for whom: does Microsoft exist to serve us with computing solutions, or do we exist to buy their next software release that, we hope, will finally fix the bugs from the previous release and deliver what Redmond promises it will. When it doesn't and we spend half a week's paycheck on hold for what euphamistically is called ``customer support,'' we sincerely wonder if there isn't a better way.
Best of Both Worlds
Open-source software is an idealistic alternative to all this. The quality is there. The price is right. And the momentum seems to be growing. More and more volunteer programmers are carving out niches that allow them to do what they love full-time (and get paid for it), as well as enjoy the satisfaction that comes from participating in a cause they believe in. The open-source ``bazaar'' development approach doesn't promise a pot of gold, but it does deliver piece of mind to the developer and high quality software at an affordable price to the consumer.