License Policy: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(Replaced content with "The final version is [https://www.mozilla.org/MPL/license-policy.html here]. See the history of this page for drafts.")
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<!--
The final version is [https://www.mozilla.org/MPL/license-policy.html here]. See the history of this page for drafts.
 
Remaining to do:
 
- Update diagram; new names, definitions
- Show it to Frank
- Community checking
 
-->
 
<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 2
</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> If importing new Third Party Code, always ask licensing&#64;mozilla.org to check whether the license is compatible - even simple-looking licenses can have twists in them. 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>
 
</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://wiki.mozilla.org/Performance:Leak_Tools#Boehm_GC Boehm Garbage Collector]</td>
    <td>CVS</td>
    <td class="pathname">gc/boehm</td>
    <td>Some MIT-like, some MPL/GPL/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.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.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</td>
    <td class="pathname">jpeg</td>
    <td>JPEG License</td>
  </tr>
  <tr>
    <td>[http://www.libpng.org/pub/png/libpng.html libpng]</td>
    <td>CVS</td>
    <td class="pathname">modules/libimg/png</td>
    <td>PNG License</td>
  </tr>
  <tr>
    <td>[http://developer.mozilla.org/en/docs/XPIDL:xpidl XPIDL]</td>
    <td>CVS</td>
    <td class="pathname">xpcom/typelib/xpidl</td>
    <td>GPL</td>
  </tr>
  <tr>
    <td>[http://www.zlib.net/ zlib]</td>
    <td>CVS</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>

Latest revision as of 18:54, 19 March 2012

The final version is here. See the history of this page for drafts.