Mozilla Public License
Author | Mozilla Foundation[1] |
---|---|
Latest version | 2.0[1] |
Publisher | Mozilla Foundation[1] |
Published | January 3, 2012[1] |
Debian FSG compatible | Yes[2] |
FSF approved | Yes[3] |
OSI approved | Yes[4] |
GPL compatible | 2.0: Yes[3] (by default, unless marked as "Incompatible With Secondary Licenses") 1.1: No[5] |
Copyleft | Yes, file-level[6] |
Linking from code with a different licence | Yes |
Website | www |
The Mozilla Public License (MPL) is a free and open-source software license developed and maintained by the Mozilla Foundation.[8] It is a weak copyleft license, characterized as a middle ground between permissive software licenses and the GNU General Public License (GPL), that seeks to balance the concerns of proprietary and open-source developers.[9] As such, it allows re-licensing. MPL software can thus be converted into a copyleft license such as the GPL or to a proprietary license (example: KaiOS).
It has undergone two revisions:[10] a minor update to version 1.1, and a major update to version 2.0 with the goals of greater simplicity and better compatibility with other licenses.[11]
The MPL is the license for Mozilla Firefox, Mozilla Thunderbird, and most other Mozilla software,[12] but it has been used by others, such as Adobe to license their Flex product line,[13] and The Document Foundation to license LibreOffice 4.0 (also on LGPL 3+).[14][15] Version 1.1 was adapted by several projects to form derivative licenses like Sun Microsystems' own Common Development and Distribution License.[16]
Terms
The MPL defines rights as passing from "contributors", who create or modify source code, through an optional auxiliary distributor (itself a licensee), to the licensee. It grants liberal copyright and patent licenses allowing for free use, modification, distribution, and "exploit[ation]" of the work, but does not grant the licensee any rights to a contributor's trademarks.[6] These rights will terminate if the licensee fails to comply with the license's terms and conditions, but a violating licensee who returns to compliance regains its rights, and even receiving written notice from a contributor will result in losing rights to that contributor's code only. A patent retaliation clause, similar to that of the Apache License, is included to protect an auxiliary distributor's further recipients against patent trolling. The contributors disclaim warranty and liability, but allow auxiliary distributors to offer such things on their own behalf.
In exchange for the rights granted by license, the licensee must meet certain responsibilities concerning the distribution of licensed source code. Covered source code files must remain under the MPL, and distributors "may not attempt to alter or restrict recipients' rights" to it. The MPL treats the source code file as the boundary between MPL-licensed and proprietary parts, meaning that all or none of the code in a given source file falls under the MPL. An executable consisting solely of MPL-covered files may be sublicensed, but the licensee must ensure access to or provide all the source code within it. Recipients can combine licensed source code with other files under a different, even proprietary license, thereby forming a "larger work" which can be distributed under any terms, but again the MPL-covered source files must be made freely available.[6] This makes the MPL a compromise between the MIT or BSD licenses, which permit all derived works to be relicensed as proprietary, and the GPL, which requires the derived work as a whole to be licensed under the GPL. By allowing proprietary modules in derived projects while requiring core files to remain open source, the MPL is designed to motivate both businesses and the open-source community to help develop core software.[17]
The one exception to covered source files remaining under the MPL occurs when code under version 2.0 or later is combined with separate code files under the GNU GPL, GNU Lesser GPL (LGPL), or GNU Affero GPL (AGPL). In this case, the program as a whole will be under the chosen GNU license, but the MPL-covered files will be dual-licensed, so that recipients can choose to distribute them under that GNU License or the MPL.[3] The initial author of MPL code may choose to opt out of this GPL compatibility by adding a notice to its source files.[6]
It is explicitly granted that MPL-covered code may be distributed under the terms of the license version under which it was received or any later version.[1]: 10.2 If code under version 1.0 or 1.1 is upgraded to version 2.0 by this mechanism, the 1.x-covered code must be marked with the aforementioned GPL-incompatible notice. The MPL can be modified to form a new license, provided that said license does not refer to Mozilla or Netscape.
History
Version 1.0 of the MPL was written by Mitchell Baker in 1998 while working as a lawyer at Netscape Communications Corporation.[18] Netscape was hoping that an open-source strategy for developing its own Netscape web browser would allow it to compete better with Microsoft's browser, Internet Explorer.[19] To cover the browser's code, the company drafted a license known as the Netscape Public License (NPL), which included a clause allowing even openly developed code to be theoretically relicensed as proprietary.[20]
However, at the same time, Baker developed a second license similar to the NPL. It was called the Mozilla Public License after Netscape's project name for the new open-source codebase, and, although it was originally only intended for software that supplemented core modules covered by the NPL, it would become much more popular than the NPL and eventually earn approval from the Open Source Initiative.[21]
Less than a year later, Baker and the Mozilla Organization would make some changes to the MPL, resulting in version 1.1, a minor update.[22] This revision was done through an open process that considered comments from both institutional and individual contributors. The primary goals were to clarify terms regarding patents and allow for multiple licensing. This last feature was meant to encourage cooperation with developers that preferred stricter licenses like the GPL.[23] Not only would many projects derive their own licenses from this version, but its structure, legal precision, and explicit terms for patent rights would strongly influence later revisions of popular licenses like the GPL (version 3).[16]
Both versions 1.0 and 1.1 are incompatible with the GPL, which led the Free Software Foundation to discourage using version 1.1.[5] For these reasons, earlier versions of Firefox were released under multiple licenses: the MPL 1.1, GPL 2.0, and LGPL 2.1.[24] Some old software, such as the Mozilla Application Suite, is still under the three licenses. Therefore, in early 2010, after more than a decade without modification, an open process for creating version 2.0 of the MPL began. Over the next 21 months, the MPL was not only changed to make the license clearer and easier to apply, but also to achieve compatibility with the GPL and Apache licenses.[11][25] The revision team was overseen by Baker and led by Luis Villa with key support from Gervase Markham and Harvey Anderson. They would publish three alpha drafts, two beta drafts, and two release candidates for comment before releasing the final draft of version 2.0 on January 3, 2012.[11]
Notable users
- Apache Flex (Formerly known as Adobe Flex)[13]
- Armadillo
- Boulder[26], the software that runs the Let's Encrypt certificate authority
- Cairo[27]
- Celtx[28]
- Eigen[29]
- H2 (DBMS)[30]
- Internet Systems Consortium[31]
- LibreOffice[15]
- Mozilla Firefox
- OpenMRS[32]
- Syncthing[33]
- Servo[34]
- Brave Browser[35]
Licenses based on pre-MPL 2.0
- AROS Public License 1.1 (based on MPL 1.1)
- Common Development and Distribution License
- Common Public Attribution License
- Erlang Public License 1.1[36] (modified MPL 1.0,[37] where "disagreements are settled under Swedish law in English"[38])
- Firebird's Initial Developer's Public License (based on MPL v1.1)[39]
- MonetDB Public License (based on MPL 1.1)[40]
- Sun Public License
- Yahoo! Public License
- Openbravo's Openbravo Public License (based on MPL v1.1)[41]
See also
References
- ^ a b c d e "Mozilla Public License, version 2.0". Mozilla Foundation. Retrieved 28 February 2012.
- ^ "Mozilla Public License (MPL)". The Big DFSG-compatible Licenses. Debian Project. Retrieved 2009-06-06.
- ^ a b c "Mozilla Public License (MPL) version 2.0". Various Licenses and Comments about Them. Free Software Foundation. Retrieved 2012-01-03.
- ^ "Open Source Licenses". Open Source Initiative. Retrieved 2012-01-07.
Mozilla Public License 2.0 (MPL-2.0)
- ^ a b "Various Licenses and Comments about Them". Free Software Foundation. Retrieved 2016-08-12.
- ^ a b c d "MPL 2.0 FAQ". Mozilla Foundation. Retrieved 2020-10-14.
- ^ Copyfree Rejected Licenses
- ^ "Open Source Software: a legal guide". LawGives. Retrieved 2015-09-08.
- ^ Andrew Laurent (2004). Understanding Open Source and Free Software Licensing. O'Reilly Media, Inc. p. 62. ISBN 978-0-596-00581-8.
- ^ "Historical Licensing Documents". Mozilla Foundation. Retrieved 29 February 2012.
- ^ a b c "About MPL 2.0: Revision Process and Changes FAQ". Mozilla Foundation. Retrieved 29 February 2012.
- ^ "Mozilla Foundation License Policy". Mozilla Foundation. Retrieved 29 February 2012.
- ^ a b "Adobe Flex FAQ: Licensing". Adobe Systems. Retrieved 29 February 2012.
- ^ "The meaning of the 4.0". 24 January 2013.
- ^ a b "Licenses". LibreOffice.
- ^ a b Fontana, Richard (9 January 2012). "The new MPL". Retrieved 1 March 2012.
- ^ O'Hara, Keith J.; Kay, Jennifer S. (February 2003). "Open source software and computer science education" (PDF). Journal of Computing Sciences in Colleges. 18 (3). Consortium for Computing Sciences in Colleges: 3–4. ISSN 1937-4771. Retrieved 29 February 2012.
- ^ Rosen, Lawrence (2004). "7. The Mozilla Public License (MPL)". Open Source Licensing – Software Freedom and Intellectual Property Law. Prentice Hall PTR. ISBN 0-13-148787-6.
- ^ Andreessen, Marc (18 April 2005). "The Time 100: Mitchell Baker: The "Lizard Wrangler"". Time Magazine. 165 (16). Time. ISSN 0040-781X. OCLC 1311479.
- ^ "Netscape Public License". Netscape Communications. Archived from the original on 27 August 2015. Retrieved 16 August 2016.
- ^ Wilson, Rowan (15 November 2011). "The Mozilla Public License - An Overview". OSS-Watch. University of Oxford. Retrieved 29 February 2012.
- ^ Hecker, Frank (2 April 1999). "Mozilla at One: A Look Back and Ahead". Archived from the original on 28 June 2008. Retrieved 1 March 2012.
- ^ "NPL Version 1.0M FAQ". 24 September 1999. Archived from the original on 5 January 2011. Retrieved 1 March 2012.
- ^ "Mozilla Relicensing FAQ". Mozilla Foundation. 14 August 2007. Archived from the original on 21 April 2008. Retrieved 28 February 2012.
- ^ Villa, Luis (29 August 2011). "The Mozilla Public License - almost 2.0 (part 1)". Opensource.com. Retrieved 16 August 2016.
- ^ https://github.com/letsencrypt/boulder
- ^ "cairographics.org".
- ^ "Celtx - Policies".
- ^ "Eigen". eigen.tuxfamily.org. Retrieved 23 February 2017.
- ^ "License".
- ^ "Kea to be released under Mozilla Public License 2.0 - Internet Systems Consortium".
- ^ "OpenMRS Licensing Moves to MPLv2 - OpenMRS".
- ^ "syncthing/syncthing".
- ^ "servo/servo". GitHub. Retrieved 2020-11-08.
- ^ "brave/brave-browser". GitHub. Retrieved 2020-11-08.
- ^ "Erlang Programming Language".
- ^ "ERLANG PUBLIC LICENSE: Version 1.1".
This Erlang License is a derivative work of the Mozilla Public License, Version 1.0.
- ^ "English translation of the Erlang Public License legal text". Archived from the original on 7 June 2012.
- ^ "Initial Developer's Public License".
- ^ "MonetDB License - MonetDB".
- ^ "Openbravo Public License".