MPL-2.0 vs Proprietary License
Mozilla Public License 2.0 compared with Proprietary / commercial licence: what each licence allows, and whether code under one can be used in a project under the other. Results are generated by the open-source license compatibility checker.
Quick Answer
Compatibility is directional, so both directions are answered separately (distributed software):
MPL-2.0 code in proprietary software
Compatible With ConditionsUsing MPL-2.0-licensed code in a proprietary project is generally possible if the listed conditions are met.
MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
proprietary code in a project licensed under MPL-2.0
Manual Review RequiredUsing Proprietary-licensed code in a project under MPL-2.0 requires review of the actual licence terms.
The component is under proprietary terms. Whether it may be used, modified, redistributed, resold or white-labelled depends entirely on the specific licence agreement.
Key Differences
- Type: MPL-2.0: open source; Proprietary: proprietary.
- OSI approved: MPL-2.0: yes; Proprietary: no.
- Commercial use: MPL-2.0: permitted; Proprietary: depends on the licence agreement.
- Modification: MPL-2.0: permitted; Proprietary: depends on the licence agreement.
- Distribution: MPL-2.0: permitted; Proprietary: depends on the licence agreement.
- Copyleft: MPL-2.0: file-level; Proprietary: none.
- Network-use (SaaS) clause: MPL-2.0: no; Proprietary: depends on the licence agreement.
- Source disclosure: MPL-2.0: licensed files and changes to them; Proprietary: depends on the licence agreement.
- Same licence for distributed changes: MPL-2.0: yes; Proprietary: depends on the licence agreement.
- Attribution / notices: MPL-2.0: yes; Proprietary: depends on the licence agreement.
- Mark modified files: MPL-2.0: no; Proprietary: depends on the licence agreement.
- Express patent licence: MPL-2.0: yes; Proprietary: depends on the licence agreement.
- Patent termination clause: MPL-2.0: yes; Proprietary: depends on the licence agreement.
- Trademark rights granted: MPL-2.0: no; Proprietary: not addressed.
Comparison Table
| MPL-2.0 | Proprietary | |
|---|---|---|
| Type | Open source | Proprietary |
| OSI approved | Yes | No |
| Commercial use | Permitted | Depends on the licence agreement |
| Modification | Permitted | Depends on the licence agreement |
| Distribution | Permitted | Depends on the licence agreement |
| Copyleft | File-level | None |
| Network-use (SaaS) clause | No | Depends on the licence agreement |
| Source disclosure | Licensed files and changes to them | Depends on the licence agreement |
| Same licence for distributed changes | Yes | Depends on the licence agreement |
| Attribution / notices | Yes | Depends on the licence agreement |
| Mark modified files | No | Depends on the licence agreement |
| Express patent licence | Yes | Depends on the licence agreement |
| Patent termination clause | Yes | Depends on the licence agreement |
| Trademark rights granted | No | Not addressed |
Commercial Use
- MPL-2.0: permitted.
- Proprietary: depends on the licence agreement.
- MPL-2.0 code in proprietary software: MPL-2.0 permits commercial use. Commercial use, including selling copies, is allowed; the copyleft conditions still apply to how the code is distributed.
- proprietary code in a project licensed under MPL-2.0: The component is under proprietary terms. Whether it may be used, modified, redistributed, resold or white-labelled depends entirely on the specific licence agreement.
Proprietary Software
MPL-2.0 code in closed-source commercial software
Compatible With ConditionsUsing MPL-2.0-licensed code in a proprietary project is generally possible if the listed conditions are met.
MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
- MPL-2.0 code in closed-source commercial software: MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
SaaS
- Network-use clause: MPL-2.0: no; Proprietary: depends on the licence agreement.
MPL-2.0 code in a closed-source SaaS
Generally CompatibleUsing MPL-2.0-licensed code in a proprietary project is generally compatible in this scenario.
MPL-2.0 copyleft conditions are triggered by distribution; this scenario does not include distribution.
- MPL-2.0 code in a closed-source SaaS: MPL-2.0 has no network-use (SaaS) clause.
Modification
- MPL-2.0: permitted.
- Proprietary: depends on the licence agreement.
Modifying MPL-2.0 code used in closed-source software
Compatible With ConditionsUsing MPL-2.0-licensed code in a proprietary project is generally possible if the listed conditions are met.
MPL-2.0 is file-level copyleft: its files, including your modifications to them, must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
- Modifying MPL-2.0 code used in closed-source software: MPL-2.0 permits modification.
Distribution
- MPL-2.0: permitted.
- Proprietary: depends on the licence agreement.
- MPL-2.0 code in proprietary software: MPL-2.0 permits distribution subject to its copyleft conditions.
- proprietary code in a project licensed under MPL-2.0: The component is under proprietary terms. Whether it may be used, modified, redistributed, resold or white-labelled depends entirely on the specific licence agreement.
Copyleft
- MPL-2.0: file-level copyleft.
- Proprietary: none copyleft.
- MPL-2.0 code in proprietary software: MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
- proprietary code in a project licensed under MPL-2.0: Proprietary has no copyleft.
Source Disclosure
- MPL-2.0: licensed files and changes to them.
- Proprietary: depends on the licence agreement.
- MPL-2.0 code in proprietary software: MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
- proprietary code in a project licensed under MPL-2.0: See Proprietary source-disclosure conditions.
Attribution
- MPL-2.0: Covered files and their modifications stay under MPL-2.0.
- MPL-2.0: Make source code of covered files available when distributing executable form.
- MPL-2.0: Retain copyright and licence notices.
- MPL-2.0 code in proprietary software: MPL-2.0 requires the copyright and licence notices to be kept with copies you distribute.
- proprietary code in a project licensed under MPL-2.0: Proprietary attribution requirements apply on distribution.
Patent Considerations
- Express patent licence: MPL-2.0: yes; Proprietary: depends on the licence agreement.
- Patent termination clause: MPL-2.0: yes; Proprietary: depends on the licence agreement.
- MPL-2.0 code in proprietary software: MPL-2.0 includes an express patent licence from contributors. That patent licence terminates for anyone who initiates patent litigation alleging that the work infringes a patent.
- proprietary code in a project licensed under MPL-2.0: Patent terms are unknown.
Common Scenarios
| Scenario | MPL-2.0 code in proprietary software | proprietary code in a project licensed under MPL-2.0 |
|---|---|---|
| Use as a dependency / library | Compatible With Conditions | Manual Review Required |
| Copy source code into the project | Compatible With Conditions | Manual Review Required |
| Modify the component | Compatible With Conditions | Manual Review Required |
| SaaS / network service (not distributed) | Generally Compatible | Manual Review Required |
| Internal / private use only | Generally Compatible | Manual Review Required |
| Resell the software | Compatible With Conditions | Manual Review Required |
| White-label / rebrand | Compatible With Conditions | Manual Review Required |
FAQ
Can I use MPL-2.0 code in proprietary software?
Using MPL-2.0-licensed code in a proprietary project is generally possible if the listed conditions are met. MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
Can I use proprietary code in a project licensed under MPL-2.0?
Using Proprietary-licensed code in a project under MPL-2.0 requires review of the actual licence terms. The component is under proprietary terms. Whether it may be used, modified, redistributed, resold or white-labelled depends entirely on the specific licence agreement.
Do I have to publish my source code when I use MPL-2.0 code?
MPL-2.0 is file-level copyleft: its files must remain under MPL-2.0 and their source must be made available when distributed. Your own separate files in the larger work may use other terms, including proprietary terms.
Can I use MPL-2.0 code in a closed-source SaaS?
Using MPL-2.0-licensed code in a proprietary project is generally compatible in this scenario. MPL-2.0 copyleft conditions are triggered by distribution; this scenario does not include distribution.
Try the Interactive Checker
Change the scenario, say whether the code is modified, distributed or offered as SaaS, and see every rule that applies.
Related Comparisons
Authoritative Sources
This tool provides general software licensing information and is not legal advice. License obligations may depend on how software components are combined, modified, distributed and used. For high-risk results, review the actual license text before relying on this result.