Netscape 2.x browser archive ·  Netscape 3.x browser archive ·  Netscape 4.x browser archive
Netscape 4.5 browser archive ·  Netscape 4.6 browser archive ·  Netscape 4.7 browser archive
Netscape 6.x browser archive ·  Netscape 6.2 browser archive
Netscape Netcenter
   |  Download 

You are here: Home > Netscape > Products > White Papers > Open Source Code White Paper
Netscape Communicator Open Source Code White Paper


Netscape Continues to Innovate and Demonstrate Leadership

In 1994, as the Internet and the World Wide Web began to gain widespread acceptance, Netscape pioneered the idea of online distribution of its key product, Netscape Navigator.  Netscape was both hailed and criticized for this unique and controversial move back in 1994, yet now, a mere four years later, nearly all major software vendors make their products available for download on the Internet.  While software distribution on the Internet was once viewed as an unusual idea, it is now commonplace.

On January 22, 1998, in another unprecedented move, Netscape announced that it would make the source code to its flagship client software, Netscape Communicator, freely available for modification and redistribution on the Internet. Other programs have been developed using open source models, but this was the first time a commercial software company allowed broad access to the source code of a major shipping product - in fact, one of the most popular software applications in the world.

This paper discusses Netscape's new open source development strategy; provides examples of successful open source projects; describes how Netscape plans to use this model to deliver high-quality, branded versions; and reveals how developers, enterprise customers, and consumers ultimately benefit from this new strategy, which is now an integral part of Netscape's client product development.

Examples of Open Source Development

Although this is the first time that a public company has released the source code to a major commercial product, it is not the first time that a product has been created under the open source development model.  The following are some of the most well-known examples.

LINUX
(Portions of this section were excerpted from Linux Online - About the Linux Operating System.)

Linux, one of the most popular and robust Unix-based operating systems, was developed using the open source development process. With a multithreaded, multitasking system, it's known for its high performance and availability on more platforms than any other OS. Linux is used for a wide variety of purposes, including networking, software development, and as an end-user platform. Linux is often considered an excellent, low-cost alternative to more expensive operating systems.

Linux was initially created as a hobby by a talented graduate student, Linus Torvalds, at the University of Helsinki in Finland. He began his work in 1991, when he released version 0.02 and worked steadily until 1994, when version 1.0 of the Linux Kernel was released. Linux is developed under the GNU General Public License and its source code is freely available to everyone.

Due to the very nature of Linux's functionality and availability, it has become quite popular worldwide, and a vast number of software programmers have taken Linux's source code and adapted it to meet their individual needs.  According to IDC1, in 1997, an estimated 2 to 4 million Linux clients and 200,000 to 400,000 Linux servers were installed.  This number, however, includes only the revenue units reported by Linux vendors and does not take into account free downloads. Currently, there are dozens of ongoing projects for porting Linux to various hardware configurations and purposes. There are now companies that make a business of building, documenting, distributing, and supporting Linux operating systems.  Two examples are Red Hat Software and Caldera.

In November 1997, Red Hat's Linux 5.0 won InfoWorld magazine's Product of the Year award in the operating system category.  In addition, InfoWorld awarded the Linux user community for Best Technical Support.

APACHE HTTP SERVER PROJECT
The Apache web server is arguably the most widely used web server in the world, garnering 47 percent of the web server market, according to Netcraft. Apache was built and is maintained by a group of 20 core developers and 10 major contributors from around the world.  Its development is open in that its source code is also freely available.  A large pool of developers regularly suggest and implement minor adjustments and bug fixes to the core group.

OTHER OPEN SOURCE PROJECTS
While Linux and Apache are among the most well-known open source-based applications, there are many others, including BSD, Debian, Perl, Emacs, and other applications based on the GNU license.

Open Source Influencers

ERIC RAYMOND
In a paper entitled "The Cathedral and the Bazaar," first presented at Linux Kongress 97, author Eric Raymond describes an open-source project that he ran for a product called fetchmail.  He also discusses his theories of two fundamentally different development styles: the "cathedral" model (used by most of the commercial world), in which only a relative few developers labor in isolation to produce a piece of software, and the "bazaar" model (used by the Linux world), in which software is created with a large, loosely affiliated group of developers with minimal central control. The paper contains sound thinking about and evidence for the success of open source development models such as Netscape is trying to achieve.

THE DEBIAN GROUP
This group of developers has been engaged in developing a Linux-based operating system called Debian.  During the course of their development, they put together a list of guidelines that provide a definition of what should be present in an open source license. This includes free redistribution of the product, availability of source code to anyone, ability of other developers to create derived works, and nondiscrimination.

FREE SOFTWARE FOUNDATION
The Free Software Foundation (FSF) is dedicated to eliminating restrictions on copying, redistributing, understanding, and modifying computer programs. They do this by promoting the development and use of free software in all areas of computing, but particularly by helping develop the GNU operating system.

Mozilla.Org and Harnessing Net Development

When Communicator was developed solely within Netscape, it was a sizable development effort that required a good deal of coordination to manage and to ensure that one developer's feature x would work seamlessly with another developer's feature y. With the release of the Communicator source code, the group of developers working on the code at any one time grows from hundreds to thousands.

It may seem that a development effort of this size may be difficult or impossible to manage, but the above examples of successful open source development demonstrate that a distributed, loosely organized group of developers can be highly effective at developing high-quality software at an exceedingly rapid rate.

While several factors lead to this success, including a compelling need for the software and a good base of code from which to start, the most important is a person or group trusted by the development community to lead and guide the development effort. To fill this role, Netscape has created mozilla.org to provide leadership for the Communicator source code.

THE ROLE OF MOZILLA.ORG
In its role as leader of the Communicator source code development community, mozilla.org will perform three main tasks:

  1. Foster communication among developers. Mozilla.org must foster communication among the developer base for two reasons.  First, while some of the innovative development ideas will come from within Netscape, some will come from outside the company. Mozilla.org must constantly look for creative ideas and encourage developers to pursue them, and must link developers who can serve as resources to each other.

    Second, mozilla.org will arbitrate disputes and facilitate further communication, and so influence the overall direction of development.

    Mozilla.org is already providing the infrastructure through which the ongoing Communicator source dialog can take place. A dedicated web site called mozilla.org and associated newsgroups have already been formed.  Active dialog has taken place in these forums, demonstrating the enormous interest in the Net development community.
     

  2. Identify technical leaders. To keep the development process running smoothly for all programmers working on the code, both inside and outside of Netscape, mozilla.org must maintain a high standard for submissions to be included in the source code base.  The technical leaders will control the quality of the submissions to the source code and will assure that all submissions pass a specific set of quality standards.
     
    Initially, Netscape engineers will be technical leaders in mozilla.org because of their in-depth knowledge of the Communicator source code.  Over time, Internet developers will demonstrate expertise within various areas of the source code and become technical leaders as well.
     
  3. Maintain the source. The final and most practical role mozilla.org will play is to maintain a central source code repository.  This will involve accepting changes and additions to the code from the technical leaders and incorporating those changes into the main body of the code.

Netscape Interacts With Mozilla.org in the Same Way as Any Internet Developer

The graphic above depicts how mozilla.org will interact with the Net development community as well as with Netscape's client engineering organization.  Netscape will follow the same guidelines for submitting and using the source code as all other Net developers. Netscape will be one of the major contributors to the source code in the beginning, but over time, the larger Net development community may contribute even more than Netscape does.

Learning From and Leveraging the Open Source Community

Netscape is committed to the open source development process, but in doing so wanted to learn from and leverage the work of successful projects such as Linux, Apache, and others.   Netscape consulted with various pioneers and leaders of the open source community, such as Eric Raymond, Linus Torvalds, Bruce Perens, and Richard Stallman. Their advice and guidance is positively reflected in the formation of mozilla.org and the Netscape Public License.

MOZILLA AND NETSCAPE PUBLIC LICENSES
Netscape reviewed various licenses, including the Free BSD License, the GNU General Public License (GPL), and others before drafting its own license. The objectives in developing our own license included balancing the needs of several different constituencies: the open software development community, commercial entities, and Netscape. Netscape needs to foster the growth of a Communicator development community on the Net and at the same time allow Netscape to meet its business goals moving forward.

In order to satisfy these diverse needs, Netscape created two licenses, the Mozilla Public License (MPL) and the Netscape Public License (NPL). The NPL is identical to the MPL, except that it allows Netscape to meet its existing contractual obligations to continue to provide source code to certain partners without requiring them to return their source code to the open development community. In addition, the NPL also grants Netscape the right to include the initial Communicator source code elements in its other products that are not under an open source license for a period of two years. An example of this is including JavaScript in our server products without having to release our server source code.

The main points of the Mozilla Public License and the Netscape Public License are:

  • All source code released on March 31, 1998, is released under the NPL.
  • If a modification is made to the original set of files released on March 31, 1998, it is subject to the NPL. (See Figure 1.)
  • We expect new additions created by external developers to be released under the MPL. This applies to new files whose content does not include any of the original Communicator source code.
  • By developing through an API, developers have the right to choose whether or not to return their contribution to the source base. The API itself, however, is subject to the MPL or NPL. (See Figure 2.)

Differences between MPL and NPL and Existing Open Source Licenses
Two of the major open software licenses are GNU General Public License (GPL) and Free BSD. The main difference between Netscape licenses and GPL is that Netscape is less restrictive in terms of requiring all modifications to be covered under an open source license. For example, if a developer wants to add functionality to Communicator and not make its source code to that modification openly available, the developer can do so by adding that functionality through an API.

Free BSD, on the other hand, does not require any modifications to be submitted back to the open source community. The Netscape licenses do require that changes to the source code (not made through an API) are returned to the open source community and believes that this requirement will foster ongoing interest and development.

Figure 1: Original source code (A) released on 3/31, modification (B) added later, both subject to NPL.
NPL Image Figure 2: Original source (A), API (B), and added new code (C). A and B are subject to the NPL. We encourage developers to submit C under the MPL.

NETSCAPE AND OPEN SOURCE DEVELOPMENT
Netscape-Branded Software
As in the past, Netscape will continue to deliver high-quality, robust, feature-rich software that meets the needs of its customers both in the enterprise, small business, and at home.  Netscape will continue to develop its product line, including Communicator, Navigator, Mission Control Desktop, and the Client Customization Kit.

How Will the Development Process Be Different?
The development process for Netscape-branded products in the open source development world is very similar to Netscape's production process today, with one key difference - Netscape is no longer the sole contributor to the Communicator source code.  Instead, Netscape will benefit from the best of both worlds, using its own development team to innovate on new features and functionality, while selecting the best enhancements from the open source development to create Netscape-branded versions of software.

How Netscape Will Leverage Open Source Development

Just as today, Netscape will continue to employ a large team of development engineers to work on new product features and enhancements.  In addition, Netscape will conduct quality assurance testing throughout the product development cycle as it has with all previously released versions.  Netscape will continue to fully document its products and continue to package those products for distribution, whether through online or physical media, and support those products once they are in customers' hands.

BENEFITS OF OPEN SOURCE DEVELOPMENT
Enterprise Customers
Netscape-branded products benefit from the best-of-breed enhancements from the Internet development community, augmented with world-class enterprise functionality developed within Netscape.  In addition, the quality of Netscape-branded products will be enhanced by leveraging the broader development community.  The source code will be scrutinized by a much larger development organization, and experts in various areas can focus on fixes and enhancements, leading to better quality overall.

By expanding the developer community, Netscape will be able to deliver a broader range of features on a greater number of platforms.  In addition, greater modularity will proliferate add-ons for the Communicator platform, such as security modules or third-party Java VMs.
 
Developers and Independent Software Vendors
The enormous support and interest in developing the Communicator source code has been evidenced by the hundreds of postings and queries on the mozilla.org newsgroups and early support of large ISVs. Developers can now influence and guide the development of Netscape Communicator as well as extend Communicator functionality through the creation of APIs.

ISVs also have the ability to build and distribute custom solutions that meet the needs of their customers, while leveraging the efforts of the larger development community.  Through the Netscape Public License, ISVs are encouraged to develop Netscape-compatible products that meet the specific needs of their markets.

General Consumers
Consumers will reap the tremendous benefits of this innovative development process and receive great products that are high in quality and rich in features.  In addition to Netscape-branded products, specialized versions of Communicator will be made available, such as new language versions of Communicator, children's versions, and more.  Although Communicator is available on 16 platforms, the Net development community has expressed a great interest in porting Communicator to more platforms such as the BeOS, Amiga, and others.  This means that consumers running nearly any operating system will be able to run Communicator.  All this is possible through the release and development of the source code.

SUMMARY
Netscape's pioneering decision to distribute software via the Internet has become an integral strategy for every software company worldwide. Netscape's adoption of open source development benefits all customers because it harnesses the innovation of the entire Internet development community.  Products created in this new model will benefit from the feature and quality enhancements inspired by Netscape and the Internet community.  We anticipate that the development community will rally behind Communicator as the vehicle for standards-based innovation.  As the benefits of this model are demonstrated, commercial software companies may adopt this process as their mainstream development model. The commitment of Netscape and the Internet development community to this open source development process will usher in a new era of software development, once again demonstrating Netscape's leadership and vision.

1 Source: estimates from IDC, 1998.


home
|  Download  

® 2000 Netscape, All Rights Reserved. Legal & Privacy Notices
® 2001 - 2006 H.R. Communications Corp., All Rights Reserved.  
This site powered by H.R. Communications Corp.' Secure servers.