# Mozilla Public License 2.0 (MPL), About



## sidetone (May 1, 2022)

Mozilla Public License (MPL) 2.0 is more than about Mozilla created software. The Mozilla Foundation is a steward of its licenses also intended for use in software development by other authors. It's similar to how the Apache Foundation is a strong backer of its current license. Mozilla Public License 2.0 is well thought out, and it seems to be a great license.

MPL also has well defined definitions at the beginning of it.

*License notices*

MPL licensed files must be clearly indicated from files not under MPL.
The license can go into a file named "LICENSE" within a relevant (usually top level) directory of this software. A statement indicating that MPL 2.0 is used can also go into the header of each file that is under it.
The following license header must be included and commented out of applicable files:


> This Source Code Form is subject to the terms of the Mozilla Public
> License, v. 2.0. If a copy of the MPL was not distributed with this
> file, You can obtain one at https://mozilla.org/MPL/2.0/.



*Use*

MPL 2.0 can be used with more restrictive opensource licenses and proprietary code that allow it, provided there's a clear separation from the MPL code.
MPL 2.0 is standardized to be compatible with use with code of other licenses, so the need for multi-licenses is reduced.
Software using previous MPL versions can be upgraded to MPL 2.0 without requiring the authors' consent. With this upgrade, putting the code under the newer license, allows Apache licensed code to be used with the software. The original authors' consent would still be required to opt-in to certain parts of MPL 2.0.
Apple Public Source License (APSL) and Common Development and Distribution License (CDDL) are based on previous versions of MPL.

*Comparison to Apache License 2.0*

MPL 2.0 like the Apache 2.0 license protect from patent trolling and have protections over patent lawsuits.
Under MPL 2.0, additional rights are also terminated when its license terms are broken due to patent infringement claims.
Differences in what is excluded (such as counterclaims) in patent infringement claims. Judge declarations due to inquiring about rights is allowed under MPL 2.0, but there's no specific reference of this in the Apache 2.0 license.
MPL 2.0 has better defined clauses.
Apache 2.0 also requires modifications that aren't of its license to be indicated. MPL keeps modifications per file under its license terms.
Code modifications applied to files under MPL 2.0, must be kept under this license, unlike Apache License 2.0. Code modifications outside of MPL 2.0 licensed files aren't required to be converted to be held under it.
Apache also uses the "NOTICE" file for important related information.
MPL 2.0 and Apache License 2.0 are OSI approved licenses.
MPL 2.0 is a weak (non-viral) copyleft license, while Apache License 2.0 is a permissive license. The boundary between these two licenses is close for being different kinds of licenses.

*Mozilla Public License 2.0 and Apache License 2.0 use with permissive licenses*
Software with permissive (BSD-style) licenses can be incorporated into MPL 2.0, Apache License 2.0 and other licensed code. While MPL 2.0 and Apache License 2.0 can be used together, it adds to limitations on compatibility with other licenses that are incompatible with either.

Internet Systems Consortium (ISC) developed the ISC License and still sponsors it. However, their current product offerings are under MPL 2.0. Their software of ISC DHCP, Bind9 and Kea below older versions are under ISCL. Stork always started out with the MPL 2.0 license. Internet Systems Consortium decided to switch over to MPL 2.0 from ISCL, because of they wanted users of their software to give back improvements, while still allowing freedom with opensource code that their foundation adheres to.

OpenBSD uses ISCL for its offerings. Its copyright policy states that Apache License 2.0 licensed code isn't included in OpenBSD, because of worries that the patent clause could threaten their code and can bring the rest of the license into it. While MPL 2.0 isn't mentioned in OpenBSD's copyright policy at this time, those same terms of Apache License 2.0 can be expected to fall on it.

For inclusion into FreeBSD's base, Apache License 2.0 is sparsely allowed for select components. The inclusion must be audited by FreeBSD, so that this code doesn't incorporate more code into the license for distribution than is essential to some functions. If Apache License 2.0 code were removed, so the rest of the components would be free from it for distribution, such a removal of code would make relevant components incomplete. Apache License 2.0 in FreeBSD's base is limited to LLVM, Subversion and Subversion dependencies.

There's no mention of MPL 2.0 in FreeBSD's software license policy, so it's doubtful that any of its relevant code is in FreeBSD's base. However, this license can be expected to be treated similarly by FreeBSD to Apache License 2.0.

Inclusion of MPL 2.0 or Apache License 2.0 could make the rest of those components incompatible with software in ports that those licenses are incompatible with.

While Apache License 2.0 allows software to be multi-licensed by other parties, the Apache Foundation doesn't distribute projects it collaborates on with licenses with additional restrictions. The Apache Foundation also doesn't multi-license projects it works on.

These foundations adhere to similar and varying ideas and principles about open-source collaboration.

*Regarding BSD 3-Clause Clear License*

Parts written into the files of MPL 2.0 containing code stay with this license.
Like BSD Clear, MPL and Apache 2.0 Licenses keep clear separation of their code from code with more restrictive licenses. Code under BSD, ISCL, MIT and public domain licenses can be absorbed into MPL 2.0 without needing to be kept separate from other MPL code.
BSD Clear doesn't grant patent use of license.
MPL and Apache have better protection than BSD clear.
MPL 2.0 is more universal with other licenses than BSD clear
MPL 2.0 may be compatible to be used with BSD Clear provided they keep their separations per license.
BSD Clear is limited in ability, and is obsolete. Apache 2.0 and MPL 2.0 are better licenses.

*Regarding GPL and LGPL*

MPL isn't a viral license.
MPL only requires modifications to MPL licensed code to be released. GPL affects other code linked to GPL licensed files as well.
MPL defines GPL, AGPL and LGPL licenses as secondary opensource licenses under its terms.
LGPL only allows dynamic library linking. MPL additionally allows static linking to code under other licenses that allow it.
LGPL isn't as viral as GPL.
Dual licensing provides for freedoms of MPL 2.0 while allowing more leeway for LGPL3 and thus GPL3 terms of code licensing.
MPL 2.0 is compatible for use alongside (L)GPL, so long as their respective license terms are kept.
MPL 1.0 and 1.1 didn't allow use with (L)GPL and Apache licenses.
Apache 2.0 is compatible for use with (L)GPL3, but not (L)GPL2, due to differences in termination and indemnification.

*Resources*:

https://www.mozilla.org/en-US/MPL/2.0/
https://www.mozilla.org/en-US/MPL/2.0/FAQ/
https://www.mozilla.org/en-US/MPL/headers/
https://www.mozilla.org/en-US/MPL/2.0/combining-mpl-and-gpl/
https://opensource.com/law/11/9/mpl-20-copyleft-and-license-compatibility
https://apache.org/licenses/LICENSE-2.0.html
https://apache.org/foundation/license-faq.html
https://apache.org/licenses/GPL-compatibility.html
https://medium.com/shakuro/software-licenses-explained-77f4f18ebeb1
https://choosealicense.com/licenses/
https://choosealicense.com/appendix/
https://opensource.org/licenses/MPL-2.0
https://opensource.org/licenses/Apache-2.0
https://opensource.org/licenses/category
https://www.isc.org/licenses/
https://www.isc.org/blogs/isc-dhcp-moves-to-mpl-2-0-license/
https://www.isc.org/blogs/bind9-adopts-the-mpl-2-0-license-with-bind-9-11-0/
https://www.isc.org/blogs/kea-license-2-0/
https://www.openbsd.org/policy.html
https://www.freebsd.org/internal/software-license/


----------

