NETSCAPE PUBLIC LICENSE, Annotated

Note that these explanations are not the license. The explanations are not a legal document, or legal advice. If you need to know exactly what the license requires, you need to read and understand the license itself; if you need legal advice, you need to talk to a lawyer. The annotations are merely a good faith effort to explain the license in simpler language.

Back to the NPL page.

1. Definitions.

2. Source Code License. 3. Distribution Obligations. 4. Inability to Comply Due to Statute or Regulation. 5. Application of this License. 6. Versions of the License. 7. DISCLAIMER OF WARRANTY. 8. TERMINATION. 9. LIMITATION OF LIABILITY. 10. U.S. GOVERNMENT END USERS. 11. MISCELLANEOUS. 12. RESPONSIBILITY FOR CLAIMS. AMENDMENTS
Additional Terms applicable to the Netscape Public License.
EXHIBIT A.

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 public and what you can keep.

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'' section (b)
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.