Oscar Wilde once observed, "A cynic is a man who knows the price of everything and the value of nothing."
Wilde was not only a razor-edged wit, he was also a keen observer of human nature. It seems to me that there’s no better modern illustration of the truth of his epigram than the computer software marketplace--more specifically, the Internet software marketplace.
Back in the 1960s, IBM, DEC and others created and sold commercial, shrink-wrapped software to business, government and other entities that required a high level of support and accountability--and which were willing to pay handsomely for it. Their business model survived and thrived through the 1970s--when it was still confined to mainframes and minicomputers - and into the 1980s and 90s, when the personal computer revolution created a gargantuan global marketplace for all kinds of software.
Meanwhile, begining in the 1970s, the ARPAnet--predecessor to the Internet--was created largely based on freeware. Many of its most fundamental services--sendmail, BIND and DNS, the TCP/IP protocol, FTP, Gopher and its successor the World Wide Web and many more--were created and lovingly maintained by computer scientists whose interest lay more in solving problems than in making money.
The microcomputer-based BBS culture of the 1980s served as an incubator for shareware--a marketing model with a foot in both the "software wants to be free" and the "we must make them pay" camps, based on the notion that potential customers should have the opportunity to test drive software before having to decide whether to lay out their hard-earned money for it. That model was also wildly successful, despite the relatively small percentage of users who ever actually paid for programs, because it reduced vendors’ distribution costs to almost zero, and it, too, has survived and thrived through the present day.
And Through The Wire
In the 1990s, the Internet began expanding exponentially in size as the microcomputing tsunami began to peak, and together these trends are rewriting the rules of software marketing altogether. Almost overnight, the ubiquitous physical storefront model, once typified by Egghead Software, has been made obsolete by the rising popularity of Internet-based electronic distribution. As a result, vendors’ distribution and packaging costs have plunged, as have their traditional marketing costs. Web sites and email lists are now rapidly replacing costly printed advertising and direct-mail solicitations, just as downloadable archives have replaced floppy diskettes and CD-ROMs.
As that trend accelerates, there will remain only one major cost center for software vendors: development of product code and documentation. (Product support, which requires huge amounts of human and other corporate resources, has largely shifted to a pay-as-you-go basis, making it revenue-neutral.)
The cost of traditional software development is substantial. Programmers--even imported Indian and Pakistani programmers--and their managers cost serious money. Development labs cost more money. Beta testers cost still more money, even if they’re all volunteers, because their feedback must be checked, coordinated and managed.
Worse still from a user perspective, early versions of products created in the old, proprietary fashion are often buggy, unstable and lacking in features that its customers desire. As a result, vendors’ reputations suffer and their support costs increase.
With the increasing tension between the relentless demand for more stringent cost containment and greater profit margins and the need to satisfy its user community’s demands, the software industry is ripe for yet another Internet-driven paradigm shift. And, oddly enough, the right model just might be the one on which the Internet is built.
I Shall Be Released
On January 22, 1998, Netscape announced that it would begin giving away to end-users Communicator 4.0, its flagship product. More startling still, it also announced that, beginning on March 31, 1998, it would release the source code to its next-generation browser suite, Communicator 5.0 under license terms that permitted third parties freely to modify the code to produce commercial and/or non-commercial products of their own--as long as those products were licensed to still other developers under identical terms.
Netscape’s announcement caused a sensation, even though such fundamental Internet building blocks as sendmail which routes most of the email on the Net and the Apache web server which powers over half the public web sites in the world have long been available under even less restrictive licenses. Industry pundits seemed to agree that Microsoft’s Internet Explorer--the binaries (but not the source code) for which have been distributed for free since version 1.0--had made such serious inroads into Communicator’s dominance of the browser market that Netscape had no choice.
Whatever the merits of that argument, the fact is that Netscape’s decision was strongly influenced by Eric S. Raymond’s seminal 1997 white paper, "The Cathedral and the Bazaar". In it, Raymond draws a distinction between two diametrically-opposed software development models: the "cathedral" model, in which source code is treated as an object of reverence, the construction and maintenance of which must be confined to the care of a select group of high priests, (read "in-house programming staff") and the "bazaar" model, in which source code is treated, instead, as a commons around which a community of developers coalesces to openly exchange fixes and improvements to the core product.
Raymond’s paper details the metamorphosis under his stewardship of an e-mail program called popclient into a very different e-mail program called fetchmail. He very consciously modeled the development process on that of Linux--and his own role in it on that of Linus Torvalds, the "benevolent dictator" of Linux’s evolution--and his essay draws many parallels between the two efforts.
Contrary to Brook’s Law ("Adding manpower to a late software project makes it later") but in keeping with the Linux model, Raymond found that opening his development effort to suggestions and improvements from all interested parties resulted in swift and substantial improvements in functionality, stability and, oddly enough, fundamental design. Like Linus Torvalds and Larry Wall (the "Perlfather") before him, Raymond discovered that the more programmers involved in the effort, the more quickly bugs were discovered and eliminated-and that the discoverer and exterminator were often different people. He also learned that the same principle applies equally to design and functionality issues.
And it was opening the source code to general scrutiny that was primarily responsible for these phenomena.
The Ties That Bind
Netscape’s March 31, 1998, release of Communicator’s source code garnered widespread coverage from the general and industry media and created considerable excitement in the Internet community. Moving quickly to capitalize on the buzz generated by Netscape’s move, on April 7, 1998, O’Reilly & Associates (publishers of a host of definitive books about various open source software products) hosted an Open Source Summit at Palo Alto, California, to which they invited an amazing contingent of core Internet software developers.
The attendees included:
Eric Allman, developer of sendmail and chief technology officer of Sendmail, Inc., an Emeryville, CA, startup devoted to developing and marketing a fully-commercial version of sendmail.
Brian Behlendorf, one of the core developers of the Apache web server.
John Gilmore, president of Cygnus Solutions, which provides commercial versions of and support for GNU tools and who is also (among other things) father of the alt Usenet hierarchy and founder of the Electronic Freedom Foundation.
Tim O’Reilly, president of O’Reilly & Associates and moderator of the plenary session.
John Ousterhout, developer of Tcl/Tk and president of Scriptics Corporation, a company he started to commercialize Tcl/Tk.
Tom Paquin and Jamie Zawinul of mozilla.org, respectively the manager of the Mozilla open source code project and the Mozilla webmaster and self-described "loose cannon" of the Mozilla team.
Sameer Parekh, CEO of C2Net Corporation, which developed the Stronghold SSL-encrypted server, a commercial product based on Apache.
Eric S. Raymond, President of opensource.org.
Guido van Rossum, developer of the Python language.
Paul Vixie, chief maintainer of BIND, the software behind the Domain Name Service that translates domain names to and from IP addresses.
Phil Zimmermann, developer of Pretty Good Privacy and senior fellow at Network Associates, Inc., the entity created by the marriage of McAfee Associates and Network General.
All these luminaries share one thing in common. The source code to the software they create, maintain and sell is made freely available to all comers (although, due to U.S. government restrictions on the export of encryption technology, the source to PGP is made available only on dead trees). The Open Source Summit brought them all together in one place for the first time.
The Summit itself was open only to the invited participants, but the plenary session that followed it was open to members of the press. About two dozen reporters from various magazines, newspapers and media attended and they grilled the summitteers mercilessly about the viability of open source business models.
Money (That's What I Want)
Unfortunately, the question-and-answer session generated much more heat than light. Over half the questions boiled down to some variation on the "How can you hope to compete with Microsoft?" theme, and just how open source business models work got lost in the resulting noise.
Essentially, there are four basic models for making money with open source software and there is at least one currently profitable example of each kind of approach:
Support sellers provide technical support for open source and/or freeware products (the two terms are not necessarily synonymous). Cygnus Solutions and Red Hat Software have both adopted this model and both are making a good profit on it.
Loss leaders give some software (and source code) away to create a market for other proprietary, non-open-source products. This is the model Netscape has adopted in an attempt to leverage a customer base for its servers by giving away its browser.
Widget frosting is what Eric Raymond calls the strategy by which hardware companies use open source code to get improved drivers and interfaces. On May 9, 1998, Corel Computer (a subsidiary of Corel Coporation) announced the release of its Linux-based NetWinder operating system, built to run on an NC-like thin client Corel has developed based on the 250-MIPS DEC StrongARM processor. Its stated goal in opening the NetWinder source is to "extend the software in ways that fall outside Corel Computer’s business plan."
Finally, accessorizing is what companies like O’Reilly & Associates and Progressive Computer Concepts do--sell books, posters, complete systems with pre-installed and configured software and other adjuncts to open source software.
All four of these models are based on the adding value to software, rather than on charging money for software in, of and by itself. And three of the four are anathema to Richard Stallman, who founded the Free Software Foundation, and The GNU Project, from which the GNU General Public License is derived.
The GNU GPU, less formally known as the "copyleft", essentially forbids the incorporation of open-source code into any commercial product. Other than cost-recovery fees for duplication and distribution, it permits charging end-users only for support, and, for a long time, it was the only visible licensing alternative to simply putting a software product in the public domain. Thus, it represents a philosophy, as opposed to a business strategy-and that philosophy has a distinctly anti-business tilt.
The GNU copyleft has been supplemented in recent years by a number of other licensing models for open source software. Among the least restrictive is the so-called "artistic" license under which Larry Wall’s brainchild, Perl, is made available to developers. The "artistic" license encourages developers to create purely commercial applications using Perl, as long the standard Perl interpreter and its components are either openly acknowledged as part of the product, or are thoroughly hidden from the end user. Mere variants on the Perl standard, on the other hand, must simply be named in such a way as to prevent end users from confusing them with the original.
The BSD and Debian license models--and the Netscape Public License--are all fairly liberal about permitting developers to incorporate open source code into commercial products, as well. In general, they merely require acknowledgment of the original author’s effort and indemnification of him or her from responsibility for liabilities arising from derivative works.
This fundamental difference in philosophy between the GNU copyleft’s abhorrence of profit-making and the other licenses’ embrace of it very likely explains why Richard Stallman, the eminence grise of the GNU community, was absent from O’Reilly’s first Open Source Summit--even though John Gilmore (who is almost equally revered in the GNU world) attended. Simply put, Stallman seems to believe that "profit" is a four-letter word.
I usually describe myself as a "radical centrist." By that, I mean that I find extremism of any stripe personally distasteful and generally counterproductive. Like all the attendees at the Open Source Summit, I think there’s a place for both open source and proprietary software (after all, 50 percent or more of all software is developed by corporations for in-house use). Unlike Richard Stallman, I think there’s room for both the cathedral and the bazaar--and that both are necessary.
Bring It On Home
So, you can buy Windows NT and a 400MHz PC with a quarter-gigabyte of RAM and put Microsoft’s Internet Information Server on it--and have it run like a slug on drugs and crash four times a week. Or you can put Linux on a Pentium 90 with 32 megs of RAM, load up Apache and watch it run like a Swiss watch. You can install Exchange on your NT box and let it hog all your system resources, or you can put sendmail on your Linux machine and have RAM to burn. The choice is up to you.
But, don’t try to find a commercial substitute for BIND. There isn’t one. And don’t look for a shrink-wrapped copy of Perl in a fancy box. You won’t find one--although you can get it on CDROM in O’Reilly’s Perl Resource Kit.
Because price is one thing. And value is quite another.
(Copyright© 1998 by Thom Stark--all rights reserved)