License Policy: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 62: Line 62:


<ol>
<ol>
<li><p>The following license (the "Mozilla tri-license") is acceptable in all circumstances:</p>
<li><p>The following license (the "Mozilla tri-license") is acceptable in all circumstances except for those covered by point 4, below:</p>


<ul>
<ul>
Line 120: Line 120:


</ol>
</ol>


<h2>Repositories</h2>
<h2>Repositories</h2>

Revision as of 15:47, 13 March 2008


N.B.: This is a draft, and also not the master copy.

Mozilla Foundation License Policy

Version 2.0 draft 2

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.

Code-diagram.png

Acceptable Licenses

  1. The following license (the "Mozilla tri-license") is acceptable in all circumstances except for those covered by point 4, below:

    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.

  2. 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/
  3. 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:

  4. 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.

  5. 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). 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.

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
APIDocCVSwebtools/apidocNPL/GPL
BonsaiCVSwebtools/bonsaiNPL
Browser BusterCVSwebtools/browser-busterMPL
BuildCVSwebtools/buildNPL
BugzillaCVSwebtools/bugzillaMPL
"Bugzilla 3" (defunct)CVSwebtools/bugzilla3MPL/GPL
DespotCVSwebtools/despotMPL
DoctorCVSwebtools/doctorMPL
GraphCVSwebtools/graphMPL
HendrixCVSwebtools/hendrixMPL
Leak-O-MaticCVSwebtools/leak-o-maticMPL
LitmusCVSwebtools/litmusMPL
LXRCVSwebtools/lxrOur fork is unlabelled, but the original version is GPL
MiscStatsCVSwebtools/miscstatsMPL
MozBotCVSwebtools/mozbotMPL
NewsBotCVSwebtools/newsbotMPL
Party ToolCVSwebtools/partytoolMPL/GPL/LGPL, MIT and The Open Group Test Suite License (for CakePHP)
PLIFCVSwebtools/plifMPL/GPL
RegistryCVSwebtools/registryNPL
TestopiaCVSwebtools/testopiaMPL
Tinderbox 1CVSwebtools/tinderboxNPL
Tinderbox 2CVSwebtools/tinderbox2MPL
Tinderbox 3CVSwebtools/tinderbox3MPL
Web SnifferCVSwebtools/web-snifferMPL
webstatsCVSwebtools/webstatsMPL
whack-licenseCVSwebtools/whack-licenseMPL/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
Boehm Garbage Collector CVS gc/boehm Some MIT-like, some MPL/GPL/LGPL
bsdiff CVS, Mercurial other-licenses/bsdiff BSD Protection License
IAccessible2 CVS, Mercurial other-licenses/ia2 LGPL
libart CVS other-licenses/libart_lgpl LGPL
libical CVS calendar/libical LGPL 2.1/MPL 1.0 or later
libjpeg CVS jpeg JPEG License
libpng CVS modules/libimg/png PNG License
XPIDL CVS xpcom/typelib/xpidl GPL
zlib CVS 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.