Mozilla Public License
Author | Mozilla Foundation[1] |
---|---|
Latest version | 2.0[1] |
Publisher | Mozilla Foundation[1] |
Published | January 3, 2012[1] |
SPDX identifier | MPL-2.0 MPL-1.1 MPL-1.0 (see list for more[2]) |
Debian FSG compatible | Yes[3] |
FSF approved | Yes[4] |
OSI approved | Yes[5] |
GPL compatible | 2.0 and later: Yes[4] (by default, unless marked as "Incompatible With Secondary Licenses") 1.1: No[6] |
Copyleft | Yes, file-based[7] |
Linking from code with a different licence | Yes |
Website | www |
The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird.[9] The MPL license is developed and maintained by Mozilla,[10] which seeks to balance the concerns of both open-source and proprietary developers. It is distinguished from others as a middle ground between the permissive software BSD-style licenses and the GNU General Public License.[11] As such, it allows the integration of MPL-licensed code into proprietary codebases, as long as the MPL-licensed components remain accessible under the terms of the MPL.
MPL has been used by others, such as Adobe to license their Flex product line,[12] and The Document Foundation to license LibreOffice 4.0 (also on LGPL 3+).[13][14] Version 1.1 was adapted by several projects to form derivative licenses like Sun Microsystems' Common Development and Distribution License.[15] It has undergone two revisions:[16] the minor update 1.1, and a major update version 2.0[17] nearing the goals of greater simplicity and better compatibility with other licenses.[18]
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.[7] 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.[7] 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.[19]
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 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.[4] The initial author of MPL code may choose to opt out of this GPL compatibility by adding a notice to its source files.[7]
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.[20] 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.[21] 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.[22]
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.[23]
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.[24] 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.[25] 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).[15]
Both versions 1.0 and 1.1 are incompatible with the GPL, which led the Free Software Foundation to discourage using version 1.1.[6] For these reasons, earlier versions of Firefox were released under multiple licenses: the MPL 1.1, GPL 2.0, and LGPL 2.1.[26] 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.[18][27] 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.[18]
Notable users
- Apache Flex (Formerly known as Adobe Flex)[12]
- Armadillo
- Boulder,[28] the software that runs the Let's Encrypt certificate authority
- Cairo[29]
- Celtx[30]
- Cemu
- Eigen[31]
- H2 (DBMS)[32]
- Internet Systems Consortium[33]
- LibreOffice[14]
- Mozilla Firefox
- OpenMRS[34]
- Syncthing[35]
- Servo[36]
- Brave Browser[37]
- MonetDB (marked as "Incompatible With Secondary Licenses")
- RabbitMQ[38]
- VLC (iOS Version)
- ZeroMQ (since version 4.3.5)[39]
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[40] (modified MPL 1.0,[41] where "disagreements are settled under Swedish law in English"[42])
- Firebird's Initial Developer's Public License (based on MPL v1.1)[43]
- Sun Public License
- Yahoo! Public License
- Openbravo's Openbravo Public License (based on MPL v1.1)[44]
See also
References
- ^ a b c d e "Mozilla Public License, version 2.0". Mozilla Foundation. Retrieved February 28, 2012.
- ^ "SPDX License List". spdx.org.
- ^ "Mozilla Public License (MPL)". The Big DFSG-compatible Licenses. Debian Project. Retrieved June 6, 2009.
- ^ a b c "Mozilla Public License (MPL) version 2.0". Various Licenses and Comments about Them. Free Software Foundation. Retrieved January 3, 2012.
- ^ "Open Source Licenses". Open Source Initiative. December 19, 2011. Retrieved January 7, 2012.
Mozilla Public License 2.0 (MPL-2.0)
- ^ a b "Various Licenses and Comments about Them". Free Software Foundation. Retrieved August 12, 2016.
- ^ a b c d "MPL 2.0 FAQ". Mozilla Foundation. Retrieved October 14, 2020.
- ^ Copyfree Rejected Licenses
- ^ "Mozilla Foundation License Policy". Mozilla Foundation. Retrieved February 29, 2012.
- ^ "Open Source Software: a legal guide". LawGives. Archived from the original on July 30, 2020. Retrieved September 8, 2015.
- ^ Andrew Laurent (2004). Understanding Open Source and Free Software Licensing. O'Reilly Media, Inc. p. 62. ISBN 978-0-596-00581-8.
- ^ a b "Adobe Flex FAQ: Licensing". Adobe Systems. Retrieved February 29, 2012.
- ^ "The meaning of the 4.0". January 24, 2013.
- ^ a b "Licenses". LibreOffice.
- ^ a b Fontana, Richard (January 9, 2012). "The new MPL". Retrieved March 1, 2012.
- ^ "Historical Licensing Documents". Mozilla Foundation. Retrieved February 29, 2012.
- ^ "Mozilla Public License 2.0 (MPL-2.0) | Open Source Initiative". opensource.org. December 19, 2011. Retrieved March 9, 2022.
- ^ a b c "About MPL 2.0: Revision Process and Changes FAQ". Mozilla Foundation. Retrieved February 29, 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 February 29, 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 (April 18, 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 August 27, 2015. Retrieved August 16, 2016.
- ^ Wilson, Rowan (November 15, 2011). "The Mozilla Public License - An Overview". OSS-Watch. University of Oxford. Retrieved February 29, 2012.
- ^ Hecker, Frank (April 2, 1999). "Mozilla at One: A Look Back and Ahead". Archived from the original on June 28, 2008. Retrieved March 1, 2012.
- ^ "NPL Version 1.0M FAQ". September 24, 1999. Archived from the original on January 5, 2011. Retrieved March 1, 2012.
- ^ "Mozilla Relicensing FAQ". Mozilla Foundation. August 14, 2007. Archived from the original on May 5, 2009. Retrieved February 28, 2012.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ Villa, Luis (August 29, 2011). "The Mozilla Public License - almost 2.0 (part 1)". Opensource.com. Retrieved August 16, 2016.
- ^ "Boulder - an ACME CA". GitHub. October 19, 2021.
- ^ "cairographics.org".
- ^ "Celtx - Policies".
- ^ "Eigen". eigen.tuxfamily.org. Retrieved February 23, 2017.
- ^ "License".
- ^ "Kea to be released under Mozilla Public License 2.0 - Internet Systems Consortium". December 8, 2015.
- ^ "OpenMRS Licensing Moves to MPLv2 - OpenMRS".
- ^ "syncthing/syncthing". GitHub. October 20, 2021.
- ^ "servo/servo". GitHub. Retrieved November 8, 2020.
- ^ "brave/brave-browser". GitHub. Retrieved November 8, 2020.
- ^ "Mozilla Public License — RabbitMQ". www.rabbitmq.com. Retrieved August 18, 2021.
- ^ "ØMQ Licensing - zeromq". June 6, 2023. Retrieved December 5, 2024.
- ^ "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 June 7, 2012.
- ^ "Initial Developer's Public License".
- ^ "Openbravo Public License". Archived from the original on August 20, 2013. Retrieved January 5, 2019.