Mozilla announced Tuesday the release of version 2.0 of the Mozilla Public License (MPL), which provides compatibility with the Apache and GPL licenses, opening up a wider body of code for reuse by the Mozilla project.
The new license like its is predecessor MPL 1.1 is a file-level copyleft license, that allows users to create projects that combine MPL licensed code with code under other open or proprietary licenses.
Mozilla describes its MPL as filling a “useful space in the spectrum of free and open source software licenses, sitting between the Apache license, which does not require modifications to be shared, and the GNU family of licenses, which requires modifications to be shared under a much broader set of circumstances than the MPL”. The GNU General Public License of the Free Software Foundation is a widely used free software license.
The new version of the MPL, which was drafted after a 21-month public consultation process, also provides patent protections for contributors more in line with those of other open source licenses, and allows an entire community of contributors to protect any contributor if they are sued, Mozilla said.
The primary change in the new version is simplification, according to Mozilla. For example, rather than exactly specifying the amount of time source code must be available, the source code must simply be made available when the executable is made available, it added.
License headers are shorter, and notification requirements have been simplified. The license is also substantially shorter and should be easier to understand, Mozilla said.
MPL 2.0, like MPL 1.1 before it, has been approved as a free software license by the Free Software Foundation and as an Open Source license by the Open Source Initiative, Mozilla said.
The MPL 2.0 will be adopted by the Mozilla project, said Mitchell Baker, chair of the Mozilla Foundation, which manages the releases of the Firefox browser and other software, in a blog post. Mozilla will be changing its code base to use the new license, though it hasn’t specified a time-frame.