Yes, that’s right. After four and a half years, 445 contributors and 28522 files, we can celebrate Mozilla’s eighth birthday by announcing that the relicensing process is complete. All the code in the Mozilla source code repository which makes up Firefox, Thunderbird, Seamonkey and Camino is available under your choice of the MPL, LGPL or GPL.
This change is in line with the Mozilla Foundation’s commitment to making our code available to as wide a group of developers as possible, as part of our mission to promote choice and innovation on the Internet. We hope that this will enable people to build even more cool and innovative products.
The complete relicensed codebase is available by checking out the Mozilla trunk (which will become Firefox/Thunderbird 3) or the 1.8 branch (which will become Firefox/Thunderbird 2)*.
Points to note:
- This affects source code licensing only. Binaries for Firefox and Thunderbird will continue to be available under their respective EULAs.
- People wishing to use the Mozilla source code under GPL terms will, obviously, need to abide by those terms and also make sure all the other code they use is GPLed or GPL-compatible. Similar considerations apply for the LGPL.
- In order to use the code under alternative terms, there is no need to change the licence headers. We hope that those projects using it will be good community members and make their changes available under all three licences rather than just the one they have chosen to use.
I started this project when I was a mozilla.org intern working for Netscape in the autumn of 2001. Netscape 6.1 had just been shipped, we were figuring out what a Mozilla 1.0 would look like, and Mitchell was just about to be laid off. At times, I thought it would never get finished, and I’m very pleased to be able to finally tick it off my to do list.
Many thanks to Scott Collins, formerly of mozilla.org, and Trent Mick of ActiveState, who respectively wrote and helped maintain the relicensing script.
* Technical note: A checkout of the Firefox or Thunderbird trunk using client.mk pulls NSS from the NSS_3_1_RTM tag. There are 22 files which were still MPL/GPL at the time this tag was cut. Because you can’t check in on a tag using CVS, I can’t fix this. But the files are relicensed on the tip, and will be so in the next release of NSS. So if you want to use the code under LGPL terms, you should probably change the headers of those 22 files manually on your copy.