You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.



mozilla.org License Policy

Version 1.1.1

Introduction

mozilla.org has created this formal policy governing licenses to be used for source files stored in our CVS repository; this version of the policy covers only licenses used for Mozilla code. (A future version of this policy will also address licenses used for code for other mozilla.org-hosted projects.) Developers with check-in privileges to the mozilla.org CVS repository must comply with this policy unless specifically advised otherwise in writing by mozilla.org staff.

The following is a brief summary of the mozilla.org license policy:

  • If you're adding a new Mozilla source file then you must license it under an MPL/GPL/LGPL "triple license," unless the new file contains code taken from a file under another license. (In the latter case you may need to talk to mozilla.org staff before adding the new file.)
  • If you're making a modification to an existing Mozilla source file then the file must remain under its current license, unless the modification contains code taken from a file under another license. (In the latter case you may need to talk to mozilla.org staff before checking in the change.)
  • If your code is added to a file not under the tri-license, you must be willing for your code to be relicensed under that license once permission has been obtained from the other copyright holders for that file.

For the complete license policy see the following sections.

Mozilla Code vs. Other Code

"Mozilla code" means all files located in the directory hierarchy rooted at the top-level directory mozilla in the mozilla.org CVS repository, except for files located under the following subdirectories of the mozilla directory:

apache
calendar
cck
directory/java-sdk
directory/perldap
ef
grendel
js/rhino
mstone
sun-java
webtools
xpfc

(Note: because our CVS repository is not as organised as it might be, the above list may not necessarily be complete. Please consult staff@mozilla.org if in any doubt as to the status of particular files.) Files in the above directory hierarchies are not considered to be Mozilla code, nor are files in the mozilla.org CVS repository located under top-level directories other than mozilla.

This version of the mozilla.org License Policy addresses only files considered to be Mozilla code; a future version of this policy will address other code in the mozilla.org CVS repository.

New Original Source Files

The following policies apply to new original Mozilla source files added to the mozilla.org CVS repository; "new original source files" are source files which have not previously existed in the mozilla.org CVS repository, and which do not contain any code from other previously existing source files (whether hosted at mozilla.org or not):

All new original Mozilla source files must be licensed under an MPL/GPL/LGPL triple license, using the appropriate license boilerplate notices approved by mozilla.org. The only exceptions to this policy are for the following Mozilla (sub)directories:

dbm
expat
gc/boehm
jpeg
modules/libimg/mng
modules/libimg/png
modules/zlib
xpcom/typelib/xpidl

New original source files added to one of these directories (or subdirectories thereof) should be licensed under the license already used for existing source files in that directory. (For more information see the COPYING, LICENSE, and/or README files for each of the above directories.)

New Non-Original Source Files

The following policies apply to new non-original Mozilla source files added to the mozilla.org CVS repository; "new non-original source files" are source files which have not previously existed in the mozilla.org CVS repository, and which do contain code taken from other previously existing source files (whether hosted at mozilla.org or not):

New non-original Mozilla source files must be licensed under the license of the file from which the pre-existing code was taken, except if that file was NPL or NPL/<something>, in which case the new code should be placed under the MPL/GPL/LGPL triple license. (mozilla.org has the right to automatically relicense NPLed code.) If you have taken code from two or more files which have different licenses, then you should contact mozilla.org staff prior to checking in the new file, in order to determine the proper license to be used for the file.

Original Modifications to Existing Source Files

The following policies apply to original modifications to be checked in to Mozilla source files already existing in the mozilla.org CVS respository; "original modifications" are changes which do not incorporate code taken from other files existing in the mozilla.org source repository or elsewhere:

When making such modifications, do not add new license notices to the existing source files or delete or modify existing license notices in the files, without the express written consent of mozilla.org staff.

In addition, do not delete or modify copyright notices in existing source files, or delete or modify lists of contributors to such files, without the express written consent of mozilla.org staff, except as described below.

When making original modifications to existing source files you may add the names of new contributors to those files (including yourself, if you are contributing code and not simply checking code in for someone else.) You may also add additional copyright notices to existing files if and when appropriate. (For example, if you check in code contributed by J. Random Hacker, but the code in question is copyright by his employer, then you may add J. Random Hacker as a contributor and also add a new copyright notice referencing his employer.) If you do this, please duplicate the three lines of the header starting with "Portions created by:" and fill them in appropriately. Place the new text underneath the existing instance(s) of those three lines, separated from them by an empty line.

Non-Original Modifications to Existing Source Files

The following policies apply to non-original modifications to be checked in to Mozilla source files already existing in the mozilla.org CVS repository; "non-original modifications" are changes which do incorporate code taken from other files existing in the mozilla.org source repository or elsewhere:

When making such a modification to an existing Mozilla source file, if the existing file is licensed under a license different to the file from which you took the non-original modification, you should contact mozilla.org staff prior to checking in the changed file, in order to determine the proper license to be used for the file.

When making the modification you must not change the license on the existing Mozilla source file, except that you may and should add any new contributors to the existing list of contributors, and add any new copyright notices needed, as previously discussed in the section "Original Modifications to Existing Source Files."

Acceptable Licenses

The following licenses have been determined to be acceptable to mozilla.org for use with Mozilla code. Note that not all licenses are acceptable in every possible context.

The following license is acceptable for both new Mozilla source files and modifications to existing source files, for any directory in the Mozilla source tree (except those specified below):

The following licenses are acceptable only for modifications to existing files already under the license in question:

  • The MPL.
  • MPL/GPL dual license. Allows use of the file under the terms of either the MPL or the GPL.

If you contribute Mozilla code to files under one of the above licenses, you must be willing for your code to be relicensed under the tri-license after permission has been obtained from the other copyright holders for that file.

The following directories (and subdirectories thereof) contain code under licenses other than those above; these licenses are acceptable to mozilla.org only for new files in those directories and modifications to existing files in those directories:

dbm
expat
gc/boehm
jpeg
modules/libimg/mng
modules/libimg/png
modules/zlib
xpcom/typelib/xpidl

For more information on the license terms for code in these directories, see the files COPYING, LICENSE, and/or README in each directory.

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 different from those above, please report it to mozilla.org staff.