Contents

The MPL has been approved as both a free software license by the Free Software Foundation[3] and an open-source software license by the Open Source Initiative.[4] The MPL allows covered source code to be mixed with other files under a different, even proprietary license. However, code files licensed under the MPL must remain under the MPL and freely available in source form.[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 whole of a derived work, even new components, to remain 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.[16]

The rights granted by the Mozilla Public License are primarily defined as passing from "contributors", who create or modify source code, to the licensee. In the absence of patents, MPL-licensed code can be freely used, altered, and redistributed. Versions with patented code can still be used, transferred, and even sold, but cannot be altered without special permission. In addition, the MPL does not grant the licensee any rights to a contributor's trademarks.[7]

To fulfill the terms of the MPL, the licensee must meet certain "responsibilities", mostly concerning the distribution of licensed software. The licensee must ensure access to or provide all source code files covered by the MPL, even if the software is offered as an executable or combined with other code under a proprietary license. The one exception to covered files remaining under the MPL occurs when they are combined with code under the GPL, Lesser GPL (LGPL), or Affero GPL (AGPL). In this case, the creator of the combined software can choose to provide the entire work under the stricter GPL-based licenses.[7]

Version 1.0 of the MPL was written by Mitchell Baker in 1998 while working as a lawyer at Netscape Communications Corporation. Netscape was hoping an open source strategy for developing their own Netscape web browser would allow them to compete better with Microsoft's browser, Internet Explorer.[17] 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. The possibility of Netscape accepting code from others only to claim it exclusively with a new license received wide criticism from the open source community.

However, at the same time, Baker developed a second license similar to the NPL, but with copyleft features to ensure contributions remained open source. 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.[18]

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.[19] 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.[20] 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]

In early 2010, after more than a decade without modification, an open process for creating version 2.0 of the MPL began.[21] 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.[10] The revision team was overseen by Baker and led by Luis Villa with key support from Gervase Markham and Harvey Anderson.[22] 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.[10]

Unlike strong copyleft licenses, code under the MPL may be combined with files under any license in a "larger work", so long as conditions for the MPL are still met for "covered" components (Section 3.3 of the license).[7] 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.[7]

“

The MPL is a simple copyleft license. The MPL's "file-level" copyleft is designed to encourage contributors to share modifications they make to your code, while still allowing them to combine your code with code under other licenses (open or proprietary) with minimal restrictions.

MPL version 2.0 is compatible with both the Apache License[10] and by default "the GNU GPL version 2.0, the GNU LGPL version 2.1, the GNU AGPL version 3.0, and all later versions of those licenses".[3] Version 1.1 had "some complex restrictions" that made it incompatible with the GPL by default (and thus preventing updating to the MPL 2.0). Although the MPL 1.1 did include a provision (Section 13) for providing a work under a secondary license (including the GPL or GPL-compatible ones), MPL 1.1 and GPL code could not "legally be linked," leading the Free Software Foundation to discourage using the MPL 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.[23] Some old software such as the Mozilla Application Suite is still under the three licenses.