MPL Upgrade: Difference between revisions

66 bytes removed ,  4 January 2012
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
__NOTOC__
__NOTOC__


==MPL 2 Upgrade FAQ==
==MPL 2 Upgrade==


====What's this about?====
===Introduction===


Mozilla has now completed a 21-month process to revise the Mozilla Public License (MPL), the licence it has used for most new code since the original release of the source code in 1998. The result is a licence which is about half the length, has many provisions removed which have become onerous to comply with, and has better compatibility with other licences. This work has been overseen by [http://blog.lizardwrangler.com/ Mitchell Baker] (the author of the original MPL) and led by [http://tieguy.org/ Luis Villa], with help from [http://www.gerv.net/ Gervase Markham], [http://lockshot.wordpress.com/ Harvey Anderson], Heather Meeker of [http://gtlaw.com/ Greenberg Traurig], and [http://mpl.mozilla.org/participate/ many helpful commenters].
Mozilla has now completed a 21-month process to revise the Mozilla Public License (MPL), the licence it has used for most new code since the original release of the source code in 1998. The result is a licence which is about half the length, has many provisions removed which have become onerous to comply with, and has better compatibility with other licences. [http://groups.google.com/group/mozilla.governance/msg/50954ce2033f7c0c It has been decided] that Mozilla will be changing our codebase to use the new licence.


[http://groups.google.com/group/mozilla.governance/msg/50954ce2033f7c0c It has been decided] that Mozilla will be changing our codebase to use the new licence.
===The Plan===


====How will this happen?====
We have a script which replaces existing tri-licence blocks with the MPL 2 boilerplate (which is only 3-5 lines long), and adds license blocks to files without it (if the file type is recognized). We would run it against the following repositories:
 
(This is the current plan; subject to confirmation with project leaders.)
 
We will develop a script to replace existing tri-licence blocks with the MPL 2 boilerplate (which is only 3 lines long). We would run it against the following repositories:


* mozilla-central
* mozilla-central
Line 27: Line 23:


<i>If you feel this list is incorrect by omission or commission, please let us know.</i>
<i>If you feel this list is incorrect by omission or commission, please let us know.</i>
The script excludes files and directories which are known to have a different licence (e.g. third party libraries).


Repos which feed into mozilla-central (e.g. mozilla-inbound, tracemonkey) would need to merge the changes from mozilla-central, and run the script to upgrade any new files they might have created, before making any further merges into to mozilla-central.
Repos which feed into mozilla-central (e.g. mozilla-inbound, tracemonkey) would need to merge the changes from mozilla-central, and run the script to upgrade any new files they might have created, before making any further merges into to mozilla-central.
Line 34: Line 32:
Merges from any other repositories into mozilla-central would need to have the license upgraded before the merge was permitted.
Merges from any other repositories into mozilla-central would need to have the license upgraded before the merge was permitted.


In terms of mechanics, after various dry-runs which made sure the script was working correctly, we will probably declare a "relicensing day" where the trees would be closed to other changes, and we would make all of the upgrades and various back-and-forth merges, before asking people to update their local trees.
===Step By Step Procedure===
 
# Close all trees
# Update mozilla-central
# Relicense mozilla-central
# Build Firefox
# Push to try (everything: try: -b do -p all -u all -t all)
# Relicense comm-central
# Build Thunderbird
# Push to try (everything: try: -b do -p all -u all -t all)
# Check that the try runs are green
# Check in mozilla-central and comm-central
# Reopen mozilla-central and comm-central
# Relicense l10n-central
# Check in l10n-central
# Relicense all other trees listed above
# Check in all other trees listed above
 
===Q&A===


====Where can I read about the new licence?====
====Where can I read about the new licence?====
Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
4,925

edits