We are living in an age of software dinosaurs. Lumbering behemoths that dominate their environment, but who are surely doomed to extinction. The reason for their demise won't be any metaphorical meteorite, but rather the advent of fleet-of-foot, apparently insignificant creatures that can adapt more quickly to a changing ecosystem. Evolution will out.
More on that in a second, but first, some history.
In 1984, a young programmer called Richard Stallman1 was disgusted when he was asked to sign a non-disclosure agreement before he was allowed to fix the Xerox printer software. So disgusted, in fact, that he gave up a promising career as an MIT lecturer to devote his life to preaching software freedom. Stallman founded the Free Software Foundation2, whose aim was to rid the world of the divisive scourge of closed, proprietary software, and to replace it with the utopian ideal of open, Free Software ("that's free as in speech, not as in lunch"). After building a souped-up text editor3 and a C compiler4, the FSF's first goal became to develop an entire operating system that could be freely redistributed. Looking around, the best commercial system had to be Unix, which, although it had started as a free and open system, had by that time degenerated into several fragmented versions, variously 'owned' by companies who jealously guarded the source code.
Thus the GNU5 project was born. By 1991, the GNU utilities had become nearly as powerful and flexible as those found on commercial Unices, but were missing a small yet crucial component known as the kernel. Fortunately at that time a Finnish university student called Linus Torvalds had been working on a piece of code that would allow Intel-based personal computers (then available as 286 an 386 vintages, and dominated by the extremely limited DOS6 operating system) to carry out all of the advanced functions of Unix. As luck would have it, he released the code under the General Public License, or copyleft7. This piece of legalese was the brainchild of Richard Stallman, and turned traditional copyright on its head: rather than restricting a user's freedom, it explicitly granted them the right to copy, modify, redistribute and resell it. Thus the missing piece of the jigsaw fell in to place, and the operating system known as Linux8 was born.
Skip forward seven years to 1998. The internet had exploded into public consciousness, and a whole new generation of free software programs were quietly taking over the infrastructure of this new world. The Apache9 web server, the Perl10 programming language, and the sendmail11 email routing system - samizdat software that formed the building blocks of the net. Down in the server rooms, techies raved about the stability and flexibility of these new systems, but upstairs in the boardrooms, this soft revolution was barely heard. Compared to the glossy brochures and slick assurances of the major commercial operating system vendors, Free Software had a serious image problem.
Enter stage left a soft-spoken libertarian programmer called Eric Raymond12. Raymond had been observing the evolution of these free software systems13, and had come up with a simple, demonstrable proposition that even the 'suits' would understand: due to the massively parallel way in which free software was developed, it was of higher quality than its proprietary rivals14. This meant less bugs, less downtime, less maintenance headaches, and so less outgoing money. The business case was clear15, but the image problem remained. Nobody in the bullish, free-market business world liked Stallman's idealistic talk of individual freedom, or the ambiguous use of the word 'free'* ("free? if it doesn't cost anything, it can't be worth anything!"). So Raymond decided that a re-brand was in order. He coined the term 'open-source software'* to describe the systems, and evangelized the business benefits of publicly-available, rapidly-updated software over their closed, unstable rivals. Open source16 and free software became different phrases to describe the same phenomenon.
So here we are again, confronted by evolution. Free software works better because it is crafted by hundreds. Something that is a stumbling block for one person becomes a trivial fix for someone else. Peer review means more robust software: "given enough eyeballs, all bugs are shallow". Participatory software creates a virtuous circle: endless public (and archived) conversation leads to rapid consensus and swift re-working of deficiencies. When security flaws are discovered in open systems, fixes tend to emerge within days17, rather than the weeks or months necessary for large corporate vendors to rework their systems.
And this evolution also occurs on a macro level. Thousands of projects start up, exchange information, divide, merge or die. The pace of development is dizzying, with natural selection being the only criterion for success. Vendors of proprietary systems scoff at this 'lack of development roadmap', but believers in Charles Darwin's famous hypotheses know that there was no roadmap for the killer whale or the lion or for homo sapiens, yet each manages to dominate its environmental niche. The fecund chaos of this software ecosystem is producing an astounding variety of new applications: the KDE18 and GNOME19 desktop environments; the GIMP20 graphics package; the Mozilla21 browser; the Abisource22 office suite; the Gnumeric23 spreadsheet; the Samba24 networking project, as well as a whole host of internet application servers: Cocoon25, Enhydra26, Hamilton27, Horde28, Locomotive29, Midguard30, PHP31, Zope32.
Linux is the fastest-growing operating system ever, and now runs on more hardware platforms than any other OS. From mainframes to PalmPilots, Linux and its cute penguin logo33 is the new lingua franca. It's putting the free back in to the free market34. Companies new and old are rushing to jump on the open source bandwagon: AOL35, Borland36, Caldera37, Cobalt38, Corel39, IBM40, RedHat41, SuSE42, SGI43 - all of these and more are now developing and selling free software. Less a snowball effect - more an avalanche. Linux accounts for over 25% of all purchased server operating systems44. The Apache web server runs 58% of the sites on the internet45. Sendmail runs 75% of all internet mail servers46. Free software is a child of the net. The terms of its distribution policy means that it is a global heritage owned by everybody and nobody. It has a longevety that goes way beyond any shrink-wrapped system: the only way that it can die out is through lack of interest. There is no such thing as open source vapourware. It cannot be bought out, and it cannot lock you in. It is a pure expression of free choice.
And what does all of this mean for the software systems that we use at [company name removed to protect the guilty], and for the way in which we develop our applications? We should change. Change everything.
©Tristan Roddis, April 2000.
(This document is licensed under the Open Publication License v1.0 without any options)
1 Richard Stallman: www.gnu.org/people/rms.html
2 Free Software Foundation: www.fsf.org
3 Emacs editor: www.gnu.org/software/emacs/emacs.html
4 gcc C compiler: www.gnu.org/software/gcc/gcc.html
5 GNU is the recursive acronym GNU's Not Unix: www.gnu.org
6 There is also a free software project to ressurect DOS: www.freedos.org
7 GNU General Public License: www.gnu.org/copyleft/gpl.html
8 Linux: www.linux.org
9 Apache: www.apache.org
10 Perl: www.perl.org
11 Sendmail: www.sendmail.com
12 Raymond: www.tuxedo.org/~esr
13 Raymond analyses the motivation for writing free software in his essay Homesteading the Noosphere: www.tuxedo.org/~esr/writings/homesteading
14 Two of Raymond's essays discuss why free software leads to high quality : The Cathedral and the Bazaar www.tuxedo.org/~esr/writings/cathedral-bazaar/) and The Magic Cauldron www.tuxedo.org/~esr/writings/magic-cauldron/)
15 Business case for open source: www.opensource.org/for-suits.html
16 Open Source Definition: www.opensource.org/osd.html
17 Security problems fixed faster with free software (RedHat vs Microsoft vs Sun): securityportal.com/direct.cgi?/cover/coverstory20000117.html
18 KDE: www.kde.org
19 GNOME: www.gnome.org
20 GIMP: www.gimp.org
21 Mozilla: www.mozilla.org
22 Abisource Office: www.abisource.com
23 Gnumeric: www.gnome.org/gnumeric
24 Samba: www.samba.org
25 Cocoon: xml.apache.org
26 Enhydra: www.enhydra.org
27 Hamilton: microstate.com/hamilton
28 Horde: www.horde.org
29 Locomotive: www.locomotive.org
30 Midguard: www.midgard-project.org
31 PHP: www.php.net
32 Zope: www.zope.org
33 Tux the penguin logo: www.woodsoup.org/projs/tux_aqfh/doc
34 Free software fulfils every single one of Kevin Kelly's New Rules for the New Economy www.wired.com/wired/5.09/newrules.html)
35 AOL: www.aol.com
36 Borland: www.borland.com
37 Caldera: www.caldera.com
38 Cobalt: www.cobalt.com
39 Corel: www.corel.com
40 IBM: www.ibm.com
41 RedHat: www.redhat.com
42 SuSE: www.suse.com
43 SGI: www.sgi.com
44 Server OS sales (source: IDC): news.cnet.com/news/0-1003-200-1546430.html?tag=st.ne.1002.bgif?st.ne.fd.gif.j
45 Netcraft web server survey: www.netcraft.com/survey
46 Sendmail Inc. press release: www.sendmail.com/text/press