 |

|
 |
 |
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:
- 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.
- 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.
- 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. |
 |
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.
|