Pacific Connection(英語)


Last January 22nd, Netscape made what is arguably the most radical announcement ever by a major software vendor. The company said it would make its source code available free of charge to the developer community. Even in the overhyped world of software development, Netscape's move is unprecedented: for the first time, a major software company has made its proprietary code public under a licensing agreement that allows outsiders to incorporate that code in their own products, or add new features to the browser and sell it as their own. Never before has the "freeware/open source" model been applied retroactively to such a well-known application, or by such a well-known company.

The "open source" approach has proven itself an effective way to produce commercially viable systems and applications packages, and development tools. One of the best known, of course, is Linux, which is based on the work of Linus Torvalds when he was a graduate student at the University of Helsinki. Torvalds released the first version-0.02-in 1991. Three years later, version 1 of the Linux Kernel was released under the GNU General Public License, which proscribed how others could use the source code. The global effort that followed so improved the operating system that it has earned a wide following. A report by the research firm International Data Corporation estimates that between two and four million Linux clients and between 200,000 and 400,000 Linux servers were installed by 1997, although the number is almost certainly greater because it does not account for free downloads-only those reported by Linux vendors like Red Hat Software and Caldera. For many, Linux, not Windows NT and Windows 95, has the moral standing to be the universal operating system.

Another well known open source project-one even more widely used than Linux-is the Apache Web server. As of April 1998, Apache, which was started in March of 1995, has grown to one million sites, compared to less than half that by Microsoft with its Information Internet Server. As with Linux, Apache can trace its origins to a single individual: Rob McCool, who worked for the National Center for Supercomputing Applications at the University of Illinois, in Urbana-Champaign. After McCool left in 1994, a core group of developers began patching the code, with eight core contributors forming the original Apache Group, which served to coordinate changes made by volunteers around the globe. Apache 1.0 was released in December 1995, and today, the Apache Group includes 19 members in North America and Europe.

One of the oldest successful examples of the open source model is sendmail, the server program that routes most e-mail correspondence over the Internet using SMTP (Simple Mail Transport Protocol) and related protocols. According to Sendmail, Inc., 76 percent of SMTP servers run sendmail, 80 percent if OEM and VAR copies are included. Eric Allman of the University of California at Berkeley first wrote the program, originally called "delivermail," as a means of connecting messaging on ARPAnet-the Internet's predecessor-with systems on the campus that ran Eric Schmidt's Berknet protocols. First distributed in 1979, delivermail became one of the earliest e-mail routing programs. In the following years, the code was enhanced to support the TCP and SMTP protocols, with contributions by Allman and others, including developers from Sun and Hewlett-Packard. The source code has always been part of the distribution. The program is now maintained and supported by the Sendmail Consortium, a worldwide team of volunteers.

Other open source projects include BSD, Emacs, the Perl and TCL scripting languages, and Pretty Good Privacy encryption. But Netscape's Communicator announcement is different in that these projects were based on the open source model almost from the beginning. By contrast, Netscape has always been an unabashedly for-profit business built around its browser software, but with wider Internet/intranet offerings as well. No other company of this stature has turned around and given away the source code to the development community.

Why Netscape switched from a closed to an open source model is open to speculation. In its January announcement, Jim Barksdale, Netscape's president and chief executive officer, said that "by giving away the source code for future versions, we can ignite the creative energies of the entire Net community and fuel unprecedented levels of innovation in the browser market. Our customers can benefit from world class technology advancements; the development community gains access to a whole new market opportunity; and Netscape's core businesses benefit from the proliferation of the market-leading client software."

While all of this could well be true, it is probably not the whole story. The more obvious catalyst was Microsoft and its relentless pursuit of the Internet market. It is useful to recall that when Netscape first introduced its Navigator browser, it essentially did so for free, at least if you downloaded it from the Net. (Users may have been under contractual obligation to pay for the software, but Netscape didn't enforce it with any limits within the software, a common practice among most shareware products.) By the time Netscape attempted to charge a fee for such downloads, that business strategy only opened the door for Microsoft's Internet Explorer, which not only remained free of charge, but was bundled with every copy of Windows 95. Anyone purchasing a new PC would find Windows 95 pre-installed, making the choice of browsers fairly obvious. And it didn't help that Internet Explorer 4.0 has garnered favorable press reviews, including some prominent ones that claimed that Microsoft's product was superior to Netscape's. Not surprisingly, Internet Explorer has steadily gained marketshare at the expense of Netscape Navigator.

And so on January 22nd, Netscape returned pretty much to its original strategy, making Netscape Navigator and Communicator Standard Edition 4.0 immediately free for the downloading. At the same time, it took the considerably more daring step of releasing source code for Netscape Communicator 5.0. Netscape subsequently formed Mozilla, a small organization comparable to the Apache Group and Sendmail Consortium to act as a "switchboard" to coordinate the various releases. ("Mozilla" was the original code name for the Navigator/Communicator project, as well as the name of Netscape's mascot. The resemblance to "Godzilla," the giant lizard with the reviving film career, is almost certainly intentional). The open source itself is also called "Mozilla" and at this writing was first released on March 31st, with a second release on April 9th.

Two philosophies go head-to-head

In doing so, Netscape has created what amounts to a sumo competition between two radically different modes of software development. The face-off pits Microsoft, which like most software companies, has been built exclusively on the basis of proprietary code development-either in-house or through third party acquisition and licensing. Microsoft's principal opponent in the browser wars has now taken the idealistic approach of entrusting future development, not entirely, but at least partially, to the developer community. Both products are available for free, so price is not an issue. And so with price not a factor, it will be interesting to see which development model produces the better software-a staff of paid professionals, or a mix of full time professionals and part time volunteers.

Internet systems developer Eric Raymond has likened these two modes of software creation to a cathedral and a bazaar. In a cathedral-like software organization, access to the source code is tightly controlled by a "priesthood" of developers who decide who gets to make changes and what portions will be extensions. By contrast, a bazaar is a free-for-all, a seemingly chaotic marketplace of ideas where anyone with the time and programming skills can try their hand at improving the code.

Raymond himself was skeptical about the open source approach, believing that substantive software is built in a controlled environment, where interim releases are not issued before they are ready. But Torvalds proved that another approach was possible. "Linux is subversive," Raymond wrote. "Who would have thought even five years ago that a world-class operating system would coalesce as if by magic out of part-time hacking by several thousand developers scattered all over the planet, connected only by the tenuous strands of the Internet....

"Torvalds's style of development-release early and often, delegate everything you can, be open to the point of promiscuity-came as a surprise. No quiet, reverent cathedral building here-rather, the Linux community seemed to resemble a great babbling bazaar of differing agendas and approaches (aptly symbolized by the Linux archive sites, who'd take submissions from anyone) out of which a coherent and stable system could seemingly emerge only by a succession of miracles. The fact that this bazaar style seemed to work, and work well, came as a distinct shock."

In the wake of Netscape's announcement, 18 pioneers of the open source movement gathered in Palo Alto, California-the home of Stanford University-to compare notes behind closed doors and hold a press conference afterwards. The group acknowledged that the movement's successes has not been widely noticed by the general public. This is partly because the group's software is invisible to the average PC user, who appreciates the efficiencies of electronic mail and the World Wide Web-two areas where open source software dominates-while having absolutely no idea how either technology works. In addition, open source advocates must battle the widely held perception that anything free can't possibly be as good as something you pay for, which is why the developers prefer the term "open source" to "freeware." Indeed, this perception extends to the development community itself-especially in the context of the Silicon Valley, where entrepreneurship is the dominant religion. "What's odd in the computer industry is the idea of having a start-up and making a shitload of money, and that you're nothing if you can't do that," said Tim O'Reilly, a publisher of well-regarded technology books, who moderated the press conference.

It is just for this reason that Netscape is so important to the open source movement. Netscape Navigator is not only the most widely used browser, it is highly visible to legions of end users. They are familiar both with the browser and the company behind it, making Netscape's website one of the most visited. Not for nothing does Paul Phillips, the chief technology office of the company go2net calls the creation of potentially more significant than GNU. He argues that while projects like Linux, Apache, and Perl have shown the benefits of open source development, Mozilla will become the project by which the open source model is judged.

Andreessen turns open source evangelist

In April, Netscape co-founder Marc Andreessen went on a speaking tour in which the open source model was the chief subject-and he addressed it with the fervor of a convert. He told one conference, hosted by the CNET computer news network, that "the creative force on the Net will push open source faster than any software company can. It will be increasingly hard to function in this industry without taking advantage of the industry Net resources."

The following week, Andreessen told the Massachusetts Software Council that the open source code model will produce an economic shift for software companies. "The software industry has to reexamine how it develops revenue stream," he said. The idea is to "give source code away to get more users of your software. It's getting harder and harder to sell software as people want more content and services." He said that open source projects are resulting in code that is more stable and feature-rich, unconstrained by the economics of the corporate balance sheet, and produced by the best talent from around the world. The open source model builds software faster than any commercial company, does it for less cost, with better technical support and language localization.

The pluses and minuses

But if Netscape is the most watched open source event, Paul Phillips also noted that the timing was not opportune: "The source release is commonly viewed in the media as one driven by desperation, not inspiration," he said. "The announcement was made months in advance of the source release, giving everyone time to build up skepticism. The entire bombshell would have made much more sense a year or two ago when Netscape was gaining momentum rather than losing it."

Tom Paquin, the manager of, counters that the decision to go with an open source strategy is not that straightforward-but has clear benefits and certain drawbacks. "There are costs, risks, and ramifications. Any business decision is a teeter-totter, and you need to put costs and risks on one side, and benefits and opportunities on the other side. In this case, the deciding factor was when the cost of releasing the source plummeted when the price of Navigator went to zero. That made this a pretty easy decision, if you believe in the bazaar open source development model."

Indeed, despite the optimism and encouragement from outside observers, the open source approach to development is unlikely to catch fire among more conventional U.S. software companies. Giving away the source means not only giving away some control, but risking your built-in advantage as the inventor of the technology. From an unsentimental business point of view, why would you invest the resources to design and develop a software product, only to give the code away? The step remains so radical that even an outspoken open systems advocate like Sun Microsystems is not about to give away the source code for Java or Solaris-even if it were guaranteed a better product as a result. As for Microsoft, Bill Gates has believed in charging for software even when the microcomputer industry was in its embryonic, hobbyist stage. If the world's most successful software company has ever given away source code, it must have done so very quietly.

When contrasted with business pragmatism, the open source movement sometimes sounds like a religious movement. Yet most open source advocates understand the tradeoffs. Torvalds himself now works on the "cathedral" side of software development for a Silicon Valley firm. He has said that he doesn't want to be financially tied to his creation, although he still helps update the Linux code during his time off. Torvalds remains the open source movement's most compelling figure because he represents a balance between the mega-capitalistic fervor of a Bill Gates and the anti-business leanings of a Richard Stallman. Programming for money and programming for glory: in the lives of many software developers, both are important.

Mozilla licensing: how it works

Netscape's approach to open source reflects the unique circumstances of turning over a cathedral-developed product to the "bazaar." Netscape has not abandoned its own product base, but will continue to develop versions of Navigator, Communicator Standard and Professional Editions, and its mission control desktop all under the Netscape name. But in addition, it has made the source code for what it calls "Communicator 5.0" downloadable from the Web, with Mozilla in charge of coordinating third-party development efforts. The source code release includes much, but not all, of Communicator's functionality. Omitted are components developed by third-parties who are unwilling to have their source code distributed as well. Thus the release does not include source code for Communicator's Messenger, Collabra, or Calendar Component, as well as security elements, including the cryptography source that Netscape cannot legally export under U.S. law. Also missing is the source for Java, which is held by Sun Microsystems.

The licensing agreement for the source resembles that of GNU, but is written explicitly for Mozilla. Netscape's approach has been to issue not one, but two licenses-the Netscape Public License (NPL), and the Mozilla Public License (MozPL). This two-tier approach grew out of controversy surrounding a provision of the NPL proposal, which specifies that Netscape can use code covered by the NPL in other products that are themselves not covered by the NPL. Netscape can also re-license code covered by the NPL through third parties under terms that are different from the NPL. This approach contrasts markedly with the GNU license, which propagates its conditions on new releases. Netscape itself admitted that for many programmers, the clause would make the agreement unacceptable to the development community. But the company argued that the conditions were necessary to fully capitalize on Netscape's innovations in its other products, without having to release the source code for those products as well. That seems an understandable concern for a company that is, after all, still a for-profit business.

As it stands now, the NPL is the license of record for most developer situations, covering all modifications to the code issued on March 31st. But Netscape has been willing to exclude from the NPL a situation where "you add a new file that does not contain any of the original code or subsequent modified code....This remains true even if the new file is called or referenced by changes you made in an NPL file; the changes made to the NPL file would need to be covered by the NPL but the code in the new file could be under any other compatible license." (For a definitive discussion on this, see the Netscape Public License FAQ on the website.)

What this comes down to is that if you modify the Mozilla source, you must use the NPL license granting Netscape's rights to use those modifications in other products. On the other hand, if you are contributing entirely new code, those modifications can be licensed under MozPL or any other license you choose. You can also choose not to license those modifications at all. Netscape says that most other licenses are legally compatible with NPL. The exception is GPL, the GNU General Public License, which is structured so that derivative work from a GPL licensed code must also be made free, a restriction that Netscape could not to live with without putting its own proprietary products into the public domain. Indeed, GNU project founder Richard Stallman was noticeably absent from the open source gathering last April, perhaps because of philosophical differences.

In any case, Netscape believes that its dual license approach strikes a balance, making code covered by the NPL license freely available while allowing developers to "combine covered code with other code to create a larger work without requiring that other code to be covered by the license."