Annotations to the Netscape Public License
(These annotations are meant for descriptive purposes only and do not in any way constitute a legally binding portion of the License.)
``Netscape / Mozilla
Public License''
We wanted easy names that people could remember. We also wanted names
that is distinguishable from other licenses, so we shied away from more
generic names like "Source Code License".
``Covered Code''
This means any software or code that is covered by this License.
``Source Code'' vs
``Executable''
These licenses make a distinction between covered Source Code, and
the binary executable products that can be made from them. It defines
all possible forms of the Mozilla code as either one or the other.
They have different restrictions and requirements placed on their use and
distribution.
``Initial Developer''
In the NPL, the Initial Developer is Netscape Communications Corporation.
In the MozPL, it is whomever contributes code and places it under the MozPL.
``Larger Work''
This is the definition that allows you, provided that you have taken
the proper care in your coding, to combine NPL or MozPL covered code with
other code -- such as code governed by a proprietary license -- to make
a product.
``Modifications''
This is a very important definition, as it specifies precisely what
code you write must be made available and what you can keep. "Made available"
here means given to anyone to whom you give a binary.
This definition also refers only the modifications themselves, not the complete file as modified. Later in the License, we require that the Source Code to Modifications be made available, and this way a developer need only post his changes to the Source, not the entire source in changed form. This should cut down on the need for quite a bit of FTP space.
``Original Code''
In this case, it is the Mozilla Communicator code released by Netscape
on March 31, 1998. In the case of the MozPL used in the future, this
definition will apply to code released by other developers. This
definition makes clear that a Modification is not Original code.
``You''
This definition of You allows either an individual or an organization
to use code covered by these licenses.
``Source Code License''
This is the part of the License in which it is spelled out precisely
what permissions the contributors to the Source Code are granting.
``Initial Developer Grant'' and ``Contributor
Grant''
This section is derived from the basic principles below.
1. It is not OK for someone to create a Modification for which he or she has a patent, make the Modification available free of charge as required under the License, and then come back and try to charge everyone for the patent rights.
2. On the other hand, the patent rights of contributors should be protected in a manner consistent with the goal of the License.
``Availability of
Source Code''
This provision is intended to ensure availability of code, while minimizing
the burden on each Contributor. It is based on the principle of ``code follows
the executable'' that is found in the GPL. It does not require that
you return Modifications to mozilla.org or any other named organization.
However, you may do so if you choose, and we hope that you wish to participate
in the development community that mozilla.org is chartered to foster.
``Third Party Claims''
We considered whether we should prohibit the use of any functionality
where a contested intellectual property claim exists. But because these
claims are often in contention, or unclear, or limited in their geographical
scope so that they do not apply in some areas, we decided that this would
limit the range of products that could be created from the Mozilla Communicator
code too severely. Instead, we decided that contested intellectual property
claims should be clearly disclosed so that each developer understands to
the greatest extent possible the intellectual property issues surrounding
the Source Code. This will help them to choose, on a case-by-case basis,
whether or not they are interested enough in using the functionality to
deal with the rights issues that surround that functionality.
``Contributor APIs''
This section is designed to protect developers using code covered by
the NPL or MozPL against stealthy patent attacks.
``Required Notices''
This section is intended to allow Contributors to receive proper recognition
for their contributions and to provide additional value-added services
as long as they take the appropriate precautions to protect other Contributors
from liability associated with such services.
``Distribution of
Executable Versions''
The goal of the NPL and the MozPL is to encourage as much innovation
as possible. We anticipate that people will take the code licensed under
the NPL and MozPL and combine it with code developed or licensed under
other terms. We also anticipate that the combined code will be licensed
under a variety of terms, including different payment terms, support terms
and use restrictions. Netscape does not wish to dictate the terms under
which any such executables will be available. The NPL and MozPL are designed
to make sure that the Source Code Modifications are freely available. After
that, the creator of a larger work is free to license the executable of
the work as he or she sees fit.
``Inability to Comply
Due to Statute or Regulation''
This section was included so that the license could allow for the inclusion
in the Source Code of regulated software such as cryptographic code which
may have legal restrictions placed on its broad and public distribution.
``Versions of the License''
We realize that we are not perfect and may not have thought of all
possible contentious situations that may arise because of this License.
This clause give us the opportunity to address problems that may arise
in the future.
``Effect of New Versions''
This clause guarantees that Netscape will never be able to take away
rights that you have under the version of the license under which your
code or modifications were created.
``Derivative Works''
We think that the NPL and MozPL are pretty good licenses, and we've
done our best to make them serviceable for both Modifications and new code.
However, if someone wants to make a new license based on either the NPL
or MozPL, they need to distinguish their license from ours to avoid unnecessary
confusion.
Required Legalese
These last sections of the License are the inevitable legal statements.
Where they are in CAPS, we are not shouting, but are required to write
these sections in capital letters by law.
``Responsibility for Claims''
This section is designed to spread the burden of intellectual property
claims made on Mozilla based code over the group of developers responsible
for distributing copies of covered code that contain the offense that leads
to the claim.
We believe wholeheartedly in the benefits of open source development, but not everyone does. Some people or groups may try to take advantage of the work of open source development through claims of patent infringement. This is unfortunate, but it is also reality. We suggest that you be aware of the intellectual property implications of what you are working on to protect yourself and others from falling afoul of someone else's patent.
``Amendments''
The NPL and the MozPL are virtually identical, except that the NPL
contains a set of rights that Netscape is reserving for itself in the Amendments
section.
``Mozilla''
We used ``Mozilla'' rather than Netscape for several reasons. First,
``Netscape Communicator'' is a trademarked name that we want to reserve for
our branded products. Mozilla helps to differentiate between them and what
many people will soon be developing from the Source Code.
The mozilla.org version is derived from Netscape Communicator Standard Edition, but there are several critical differences of which the following are examples. First, we've removed the cryptographic capabilities of the Netscape product due to US export control issues. We've also removed code licensed from third parties which Netscape doesn't have the right to license under the NPL. Finally, we may remove some functionality for patented inventions which Netscape may not have the right to distribute in Source Code form at this time.
``Communicator client code''
We used ``Communicator client code'' because the code being released
is the mozilla.org version of the Netscape Communicator Standard Edition
product.
``Netscape and logo''
We've been moving very quickly to ready our code for release on March
31, and we may have missed something. All this section says is that if
you come across something that we've missed, that doesn't give you the
rights to use our trademarks. It doesn't require you to do our work for
us. This section is designed to protect us from our screw ups, not to screw
you up.
``Other Products''
This section is here because of the state of Netscape's code today.
Netscape has a number of server products that contain NPL code. We intend
to make sure those products can comply with the terms of NPL license as
soon as practical. This is why we have included the two year time
limit.
``Alternative Licensing''
This is included because Netscape already has certain source code licenses
in place whose terms differ from those of this NPL. These licenses may
not require the license back of code, although in many cases such licensees
do return code voluntarily.
``Exhibit A''
This is the text that you must include in all files that are covered
by the NPL or MozPL.