License Policy: Difference between revisions
(Replaced content with 'See [http://www.mozilla.org/MPL/license-policy.html here].') |
|||
Line 1: | Line 1: | ||
See [http://www.mozilla.org/MPL/license- | <!-- | ||
Remaining to do: | |||
- Community checking | |||
- Make list of acceptable licences in point 3 match Support Code list | |||
- Add entries to 3rd Party Code section for all entries in about:licence | |||
--> | |||
<p style="color: red">N.B.: This is a draft, and also not the master copy.</p> | |||
<h1>Mozilla Foundation License Policy</h1> | |||
<div class=version> | |||
Version 2.0 draft 3 | |||
</div> | |||
<h2>Introduction</h2> | |||
<p>The Mozilla Foundation has created this formal policy governing licenses | |||
to be used for source files stored in our code | |||
repositories. Developers with check-in | |||
privileges to the mozilla.org code repositories must comply with | |||
this policy unless specifically advised otherwise in writing by | |||
The Mozilla Foundation.</p> | |||
<p>The following is a brief summary of the Mozilla Foundation | |||
license policy:</p> | |||
<ul> | |||
<li>Newly-added code must be licensed under the terms pertaining | |||
to that part of the repository to which it is added.</li> | |||
<li>You must consult the licensing team before adding code | |||
not under one of the mozilla.org-approved licenses.</li> | |||
</ul> | |||
<p>For the complete license policy see the following | |||
sections.</p> | |||
<h2>Definitions</h2> | |||
<ul> | |||
<li><b>Mozilla Code</b> is code in our repositories which originated with the Mozilla Project.</li> | |||
<li><b>Third Party Code</b> is code in our repositories which did not originate with the Mozilla Project. It is usually, but not always, under its own specific license.</li> | |||
<li><b>Product Code</b> means all files any part of which end up in nightly binaries of the | |||
Mozilla family of Internet clients - Firefox, Thunderbird, SeaMonkey | |||
and Camino. Note that this definition excludes the code of tools used merely to | |||
build these products. Code may be both Product Code and Third Party Code.</li> | |||
<li><b>Support Code</b> is code in our repositories which originated with the Mozilla Project but is not Product Code.</li> | |||
</ul> | |||
<p>Please see the diagram for the relationship between the four definitions.</p> | |||
[[Image:Code-diagram.png]] | |||
<h2>Acceptable Licenses</h2> | |||
<ol> | |||
<li><p>The following license (the "Mozilla tri-license") is acceptable in all circumstances except for those covered by point 4, below:</p> | |||
<ul> | |||
<li> | |||
MPL/GPL/LGPL triple license, | |||
allowing use of the file under the terms of any one of: | |||
<ul> | |||
<li>The [http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Public License, version 1.1] | |||
or later (MPL) | |||
<li>The [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2] | |||
or later (GPL) | |||
<li>The [http://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, version 2.1] | |||
or later (LGPL) | |||
</ul> | |||
</li> | |||
</ul> | |||
<p>For new source files | |||
please use the | |||
[http://www.mozilla.org/MPL/boilerplate-1.1/index.html boilerplate license notice] | |||
appropriate for the type of file you are creating. Please don't copy boilerplate from existing files.</p> | |||
<li><p>The following license is acceptable for trivial pieces of Support Code, such as testcases:</p> | |||
<ul> | |||
<li>Creative Commons Public Domain Dedication, using the following boilerplate: | |||
<blockquote><pre> | |||
Any copyright is dedicated to the Public Domain. | |||
http://creativecommons.org/licenses/publicdomain/</pre></blockquote> | |||
</li> | |||
</ul> | |||
<li><p>The following licenses are acceptable only for Support Code in | |||
directories whose files are already under the license in question, | |||
as outlined later in this policy:</p> | |||
<ul> | |||
<li>The [http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Public License, version 1.1] | |||
or later (MPL) alone | |||
<li>The [http://www.mozilla.org/MPL/NPL-1.1.html Netscape Public License, version 1.1] | |||
or later (NPL) alone | |||
<li>MPL/GPL dual license, allowing use of the file under the terms of either of: | |||
<ul> | |||
<li>The [http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Public License, version 1.1] | |||
or later (MPL) | |||
<li>The [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2] | |||
or later (GPL) | |||
</ul> | |||
</ul> | |||
<li><p>For Third Party Code, you should use the license pertaining to that | |||
code when modifying it or adding new files to it, and the tri-license when | |||
adding Mozilla-specific files such as build system files. See below for | |||
a list of directories this applies to.</p> | |||
<li><p><span style="color: red">All Product Code must be under either the tri-license or, for Third Party Product Code, a license compatible with all three sets of terms in the tri-license.</span> The purpose of this rule is to make sure that users of our code can take and use the same code under any one of the three licenses; no group is disadvantaged. | |||
</p> | |||
<li><p>If importing new Third Party Code, always inform licensing@mozilla.org. They can then check whether the license is compatible - even simple-looking licenses can have twists in them - and make sure we are meeting the requirements. </p></li> | |||
</ol> | |||
<h2>Repositories</h2> | |||
<p>The Mozilla project runs a number of source code repositories, plus repositories for documentation and websites which are out of scope for this policy. Here is a list of repositories plus a summary of the licensing situation.</p> | |||
<table border="1"> | |||
<tr> | |||
<th>Repository</th> | |||
<th>Domain Name</th> | |||
<th>Summary</th> | |||
</tr> | |||
<tr> | |||
<td>CVS</td> | |||
<td>cvs.mozilla.org</td> | |||
<td>Mozilla Code is mostly MPL/GPL/LGPL, with some exceptions - see below.</td> | |||
</tr> | |||
<tr> | |||
<td>Subversion</td> | |||
<td>[http://svn.mozilla.org/ svn.mozilla.org]</td> | |||
<td>All non-website Mozilla Code is MPL/GPL/LGPL.</td> | |||
</tr> | |||
<tr> | |||
<td>Mercurial</td> | |||
<td>[http://hg.mozilla.org/ hg.mozilla.org]</td> | |||
<td>All Mozilla Code except <span class="pathname">other-licenses/branding</span> is MPL/GPL/LGPL.</td> | |||
</tr> | |||
</table> | |||
<h2>Support Code (Not Tri-Licensed)</h2> | |||
<p>The following directories contain Support Code which is not tri-licensed. (See Acceptable Licenses item 3, above.)</p> | |||
<h3>Webtools</h3> | |||
<table border="1"> | |||
<tr> | |||
<th>Software</th> | |||
<th>Repository</th> | |||
<th>Directory</th> | |||
<th>License</th> | |||
</tr> | |||
<tr><td>APIDoc</td><td>CVS</td><td class="pathname">webtools/apidoc</td><td>NPL/GPL</td></tr> | |||
<tr><td>Bonsai</td><td>CVS</td><td class="pathname">webtools/bonsai</td><td>NPL</td></tr> | |||
<tr><td>Browser Buster</td><td>CVS</td><td class="pathname">webtools/browser-buster</td><td>MPL</td></tr> | |||
<tr><td>Build</td><td>CVS</td><td class="pathname">webtools/build</td><td>NPL</td></tr> | |||
<tr><td>Bugzilla</td><td>CVS</td><td class="pathname">webtools/bugzilla</td><td>MPL</td></tr> | |||
<tr><td>"Bugzilla 3" (defunct)</td><td>CVS</td><td class="pathname">webtools/bugzilla3</td><td>MPL/GPL</td></tr> | |||
<tr><td>Despot</td><td>CVS</td><td class="pathname">webtools/despot</td><td>MPL</td></tr> | |||
<tr><td>Doctor</td><td>CVS</td><td class="pathname">webtools/doctor</td><td>MPL</td></tr> | |||
<tr><td>Graph</td><td>CVS</td><td class="pathname">webtools/graph</td><td>MPL</td></tr> | |||
<tr><td>Hendrix</td><td>CVS</td><td class="pathname">webtools/hendrix</td><td>MPL</td></tr> | |||
<tr><td>Leak-O-Matic</td><td>CVS</td><td class="pathname">webtools/leak-o-matic</td><td>MPL</td></tr> | |||
<tr><td>Litmus</td><td>CVS</td><td class="pathname">webtools/litmus</td><td>MPL</td></tr> | |||
<tr><td>LXR</td><td>CVS</td><td class="pathname">webtools/lxr</td><td>Our fork is unlabelled, but [http://sourceforge.net/projects/lxr the original version] is GPL</td></tr> | |||
<tr><td>MiscStats</td><td>CVS</td><td class="pathname">webtools/miscstats</td><td>MPL</td></tr> | |||
<tr><td>MozBot</td><td>CVS</td><td class="pathname">webtools/mozbot</td><td>MPL</td></tr> | |||
<tr><td>NewsBot</td><td>CVS</td><td class="pathname">webtools/newsbot</td><td>MPL</td></tr> | |||
<tr><td>Party Tool</td><td>CVS</td><td class="pathname">webtools/partytool</td><td>MPL/GPL/LGPL, MIT and The Open Group Test Suite License (for [http://cakephp.org/ CakePHP])</td></tr> | |||
<tr><td>PLIF</td><td>CVS</td><td class="pathname">webtools/plif</td><td>MPL/GPL</td></tr> | |||
<tr><td>Registry</td><td>CVS</td><td class="pathname">webtools/registry</td><td>NPL</td></tr> | |||
<tr><td>Testopia</td><td>CVS</td><td class="pathname">webtools/testopia</td><td>MPL</td></tr> | |||
<tr><td>Tinderbox 1</td><td>CVS</td><td class="pathname">webtools/tinderbox</td><td>NPL</td></tr> | |||
<tr><td>Tinderbox 2</td><td>CVS</td><td class="pathname">webtools/tinderbox2</td><td>MPL</td></tr> | |||
<tr><td>Tinderbox 3</td><td>CVS</td><td class="pathname">webtools/tinderbox3</td><td>MPL</td></tr> | |||
<tr><td>Web Sniffer</td><td>CVS</td><td class="pathname">webtools/web-sniffer</td><td>MPL</td></tr> | |||
<tr><td>webstats</td><td>CVS</td><td class="pathname">webtools/webstats</td><td>MPL</td></tr> | |||
<tr><td>whack-license</td><td>CVS</td><td class="pathname">webtools/whack-license</td><td>MPL/GPL</td></tr> | |||
</table> | |||
<h3>Not Webtools</h3> | |||
<table border="1"> | |||
<tr> | |||
<th>Software</th> | |||
<th>Repository</th> | |||
<th>Directory</th> | |||
<th>License</th> | |||
</tr> | |||
<tr> | |||
<td>[http://www.mozilla.org/projects/cck/ Branding]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">other-licenses/branding</td> | |||
<td>See the [http://www.mozilla.org/foundation/trademarks/ trademark licensing pages]</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.mozilla.org/projects/cck/ Client Customization Kit]</td> | |||
<td>CVS</td> | |||
<td class="pathname">cck</td> | |||
<td>Some MPL 1.1 or later, some MPL/GPL/LGPL</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.mozilla.org/rhino/ Rhino] (JavaScript in Java)</td> | |||
<td>CVS</td> | |||
<td class="pathname">js/rhino</td> | |||
<td>[http://www.mozilla.org/MPL/MPL-1.1.html MPL 1.1] or later/[http://www.gnu.org/licenses/gpl-2.0.html GPL 2.0] or later</td> | |||
</tr> | |||
</table> | |||
<h2>Third Party Code</h2> | |||
<p>The following is a complete list of directories containing Third Party Code. (See Acceptable Licenses item 4, above.) Some of this code is also Product Code; if so, it will be under a license compatible with the tri-license.</p> | |||
<table border="1"> | |||
<tr> | |||
<th>Software</th> | |||
<th>Repository</th> | |||
<th>Directory</th> | |||
<th>License</th> | |||
</tr> | |||
<tr> | |||
<td>[http://www.7-zip.org/ 7-zip]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">other-licenses/7zstub</td> | |||
<td>LGPL</td> | |||
</tr> | |||
<tr> | |||
<td>[http://library.gnome.org/devel/atk/ ATK]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">other-licenses/atk-1.0</td> | |||
<td>LGPL</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.daemonology.net/bsdiff/ bsdiff]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">other-licenses/bsdiff</td> | |||
<td>BSD Protection License</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.cairographics.org cairo]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">gfx/cairo/cairo</td> | |||
<td>[http://www.gnu.org/licenses/lgpl-2.1.html LGPL 2.1]/[http://www.mozilla.org/MPL/MPL-1.0.html MPL 1.0] or later</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.linux-foundation.org/en/Accessibility/IAccessible2 IAccessible2]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">other-licenses/ia2</td> | |||
<td>LGPL</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.linux-foundation.org/en/Accessibility/IAccessible2 jemalloc]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">memory/jemalloc</td> | |||
<td>[http://mxr.mozilla.org/mozilla/source/memory/jemalloc/jemalloc.c BSD-like License]</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.artofcode.com/libart.html libart]</td> | |||
<td>CVS</td> | |||
<td class="pathname">other-licenses/libart_lgpl</td> | |||
<td>LGPL</td> | |||
</tr> <tr> | |||
<td>[http://sourceforge.net/projects/freeassociation/ libical]</td> | |||
<td>CVS</td> | |||
<td class="pathname">calendar/libical</td> | |||
<td>[http://www.gnu.org/licenses/lgpl-2.1.html LGPL 2.1]/[http://www.mozilla.org/MPL/MPL-1.0.html MPL 1.0] or later</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.ijg.org/ libjpeg]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">jpeg</td> | |||
<td>JPEG License</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.cairographics.org/ libpixman]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">gfx/cairo/libpixman</td> | |||
<td>BSD-like License</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.libpng.org/pub/png/libpng.html libpng]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">modules/libimg/png</td> | |||
<td>PNG License</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.sqlite.org/ sqlite]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">db/sqlite3</td> | |||
<td>[http://www.sqlite.org/copyright.html Public Domain]</td> | |||
</tr> | |||
<tr> | |||
<td>[http://www.zlib.net/ zlib]</td> | |||
<td>CVS, Mercurial</td> | |||
<td class="pathname">modules/zlib</td> | |||
<td>ZLib License</td> | |||
</tr> | |||
</table> | |||
<h2>Copying Code</h2> | |||
<p>You may copy code between files with identical licensing terms, or between files where the target file has a subset of the licenses of the source file (e.g. MPL/LGPL/GPL -> MPL). For any other transfer, consult the licensing team first.</p> | |||
<hr> | |||
<p>This concludes the list of licenses acceptable to mozilla.org | |||
for use with Mozilla code. If you happen to find a file in the | |||
Mozilla source tree under a license which does not conform to the pattern above, | |||
please report it to | |||
[mailto:licensing@mozilla.org licensing@mozilla.org].</p> |
Revision as of 14:16, 25 October 2010
N.B.: This is a draft, and also not the master copy.
Mozilla Foundation License Policy
Version 2.0 draft 3
Introduction
The Mozilla Foundation has created this formal policy governing licenses to be used for source files stored in our code repositories. Developers with check-in privileges to the mozilla.org code repositories must comply with this policy unless specifically advised otherwise in writing by The Mozilla Foundation.
The following is a brief summary of the Mozilla Foundation license policy:
- Newly-added code must be licensed under the terms pertaining to that part of the repository to which it is added.
- You must consult the licensing team before adding code not under one of the mozilla.org-approved licenses.
For the complete license policy see the following sections.
Definitions
- Mozilla Code is code in our repositories which originated with the Mozilla Project.
- Third Party Code is code in our repositories which did not originate with the Mozilla Project. It is usually, but not always, under its own specific license.
- Product Code means all files any part of which end up in nightly binaries of the Mozilla family of Internet clients - Firefox, Thunderbird, SeaMonkey and Camino. Note that this definition excludes the code of tools used merely to build these products. Code may be both Product Code and Third Party Code.
- Support Code is code in our repositories which originated with the Mozilla Project but is not Product Code.
Please see the diagram for the relationship between the four definitions.
Acceptable Licenses
The following license (the "Mozilla tri-license") is acceptable in all circumstances except for those covered by point 4, below:
-
MPL/GPL/LGPL triple license,
allowing use of the file under the terms of any one of:
- The Mozilla Public License, version 1.1 or later (MPL)
- The GNU General Public License, version 2 or later (GPL)
- The GNU Lesser General Public License, version 2.1 or later (LGPL)
For new source files please use the boilerplate license notice appropriate for the type of file you are creating. Please don't copy boilerplate from existing files.
-
MPL/GPL/LGPL triple license,
allowing use of the file under the terms of any one of:
The following license is acceptable for trivial pieces of Support Code, such as testcases:
- Creative Commons Public Domain Dedication, using the following boilerplate:
Any copyright is dedicated to the Public Domain. http://creativecommons.org/licenses/publicdomain/
- Creative Commons Public Domain Dedication, using the following boilerplate:
The following licenses are acceptable only for Support Code in directories whose files are already under the license in question, as outlined later in this policy:
- The Mozilla Public License, version 1.1 or later (MPL) alone
- The Netscape Public License, version 1.1 or later (NPL) alone
- MPL/GPL dual license, allowing use of the file under the terms of either of:
- The Mozilla Public License, version 1.1 or later (MPL)
- The GNU General Public License, version 2 or later (GPL)
For Third Party Code, you should use the license pertaining to that code when modifying it or adding new files to it, and the tri-license when adding Mozilla-specific files such as build system files. See below for a list of directories this applies to.
All Product Code must be under either the tri-license or, for Third Party Product Code, a license compatible with all three sets of terms in the tri-license. The purpose of this rule is to make sure that users of our code can take and use the same code under any one of the three licenses; no group is disadvantaged.
If importing new Third Party Code, always inform licensing@mozilla.org. They can then check whether the license is compatible - even simple-looking licenses can have twists in them - and make sure we are meeting the requirements.
Repositories
The Mozilla project runs a number of source code repositories, plus repositories for documentation and websites which are out of scope for this policy. Here is a list of repositories plus a summary of the licensing situation.
Repository | Domain Name | Summary |
---|---|---|
CVS | cvs.mozilla.org | Mozilla Code is mostly MPL/GPL/LGPL, with some exceptions - see below. |
Subversion | svn.mozilla.org | All non-website Mozilla Code is MPL/GPL/LGPL. |
Mercurial | hg.mozilla.org | All Mozilla Code except other-licenses/branding is MPL/GPL/LGPL. |
Support Code (Not Tri-Licensed)
The following directories contain Support Code which is not tri-licensed. (See Acceptable Licenses item 3, above.)
Webtools
Software | Repository | Directory | License |
---|---|---|---|
APIDoc | CVS | webtools/apidoc | NPL/GPL |
Bonsai | CVS | webtools/bonsai | NPL |
Browser Buster | CVS | webtools/browser-buster | MPL |
Build | CVS | webtools/build | NPL |
Bugzilla | CVS | webtools/bugzilla | MPL |
"Bugzilla 3" (defunct) | CVS | webtools/bugzilla3 | MPL/GPL |
Despot | CVS | webtools/despot | MPL |
Doctor | CVS | webtools/doctor | MPL |
Graph | CVS | webtools/graph | MPL |
Hendrix | CVS | webtools/hendrix | MPL |
Leak-O-Matic | CVS | webtools/leak-o-matic | MPL |
Litmus | CVS | webtools/litmus | MPL |
LXR | CVS | webtools/lxr | Our fork is unlabelled, but the original version is GPL |
MiscStats | CVS | webtools/miscstats | MPL |
MozBot | CVS | webtools/mozbot | MPL |
NewsBot | CVS | webtools/newsbot | MPL |
Party Tool | CVS | webtools/partytool | MPL/GPL/LGPL, MIT and The Open Group Test Suite License (for CakePHP) |
PLIF | CVS | webtools/plif | MPL/GPL |
Registry | CVS | webtools/registry | NPL |
Testopia | CVS | webtools/testopia | MPL |
Tinderbox 1 | CVS | webtools/tinderbox | NPL |
Tinderbox 2 | CVS | webtools/tinderbox2 | MPL |
Tinderbox 3 | CVS | webtools/tinderbox3 | MPL |
Web Sniffer | CVS | webtools/web-sniffer | MPL |
webstats | CVS | webtools/webstats | MPL |
whack-license | CVS | webtools/whack-license | MPL/GPL |
Not Webtools
Software | Repository | Directory | License |
---|---|---|---|
Branding | CVS, Mercurial | other-licenses/branding | See the trademark licensing pages |
Client Customization Kit | CVS | cck | Some MPL 1.1 or later, some MPL/GPL/LGPL |
Rhino (JavaScript in Java) | CVS | js/rhino | MPL 1.1 or later/GPL 2.0 or later |
Third Party Code
The following is a complete list of directories containing Third Party Code. (See Acceptable Licenses item 4, above.) Some of this code is also Product Code; if so, it will be under a license compatible with the tri-license.
Software | Repository | Directory | License |
---|---|---|---|
7-zip | CVS, Mercurial | other-licenses/7zstub | LGPL |
ATK | CVS, Mercurial | other-licenses/atk-1.0 | LGPL |
bsdiff | CVS, Mercurial | other-licenses/bsdiff | BSD Protection License |
cairo | CVS, Mercurial | gfx/cairo/cairo | LGPL 2.1/MPL 1.0 or later |
IAccessible2 | CVS, Mercurial | other-licenses/ia2 | LGPL |
jemalloc | CVS, Mercurial | memory/jemalloc | BSD-like License |
libart | CVS | other-licenses/libart_lgpl | LGPL |
libical | CVS | calendar/libical | LGPL 2.1/MPL 1.0 or later |
libjpeg | CVS, Mercurial | jpeg | JPEG License |
libpixman | CVS, Mercurial | gfx/cairo/libpixman | BSD-like License |
libpng | CVS, Mercurial | modules/libimg/png | PNG License |
sqlite | CVS, Mercurial | db/sqlite3 | Public Domain |
zlib | CVS, Mercurial | modules/zlib | ZLib License |
Copying Code
You may copy code between files with identical licensing terms, or between files where the target file has a subset of the licenses of the source file (e.g. MPL/LGPL/GPL -> MPL). For any other transfer, consult the licensing team first.
This concludes the list of licenses acceptable to mozilla.org for use with Mozilla code. If you happen to find a file in the Mozilla source tree under a license which does not conform to the pattern above, please report it to licensing@mozilla.org.