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.")
 
(15 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. XXX DIAGRAM NOT AVAILABLE YET</p>
 
 
<h2>Acceptable Licenses</h2>
 
<ol>
<li><p>The following license (the "Mozilla tri-license") is acceptable in all circumstances:</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 (e.g. BSD-like licenses).</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>
 
</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 ** non-free ** (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>Remora (addons.mozilla.org 2)</td><td>CVS</td><td class="pathname">webtools/remora</td><td>** to be CVS removed **</td></tr>
<tr><td>Survey</td><td>CVS</td><td class="pathname">webtools/survey</td><td>** to be CVS removed **</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>Uninstall Survey</td><td>CVS</td><td class="pathname">webtools/uninstall_survey</td><td>** to be CVS removed **</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.