A composable, SPDX-compatible licensing framework that allows projects to define permissions, restrictions, and monetization models by selecting clauses instead of rewriting licenses.
MPLS is designed for:
- Personal / non-commercial projects
- Dual licensing (free + paid commercial)
- Donationware
- Open-source (MIT/GPL-style)
- AI, SaaS, libraries, research, and tooling
Traditional licenses are rigid. Modern projects need flexibility.
MPLS solves this by:
- Using modular legal clauses
- Supporting monetization by design
- Remaining SPDX-compatible
- Being machine-readable & generator-friendly
One base system. Infinite license combinations.
- Modular – Licenses are built from reusable clauses
- Minimal – Only explicitly enabled permissions apply
- Clear – No hidden rights, no ambiguity
- Composable – Mix non-commercial, paid, OSS, donation clauses
- Automatable – Generate licenses programmatically
MPLS uses valid SPDX custom identifiers:
LicenseRef-MPLS
LicenseRef-MPLS-NC-1
LicenseRef-MPLS-DUAL-1
LicenseRef-MPLS-DON-1
LicenseRef-MPLS-OSS-MIT
LicenseRef-MPLS-OSS-GPL
Clause-level identifiers are also supported internally:
LicenseRef-MPLS-Clause-U1
LicenseRef-MPLS-Clause-P1
LicenseRef-MPLS-Clause-D4
Each MPLS license consists of:
- SPDX Identifier
- Enabled Clause List
- Legal Text for Each Clause
- Warranty & Liability Disclaimer
Any permission not explicitly granted is prohibited.
- Personal
- Educational
- Commercial (allowed or prohibited)
- Free
- One-time fee
- Subscription
- Donationware
- No redistribution
- Redistribution allowed
- Modification allowed
- Copyleft enforcement
- Closed distribution allowed
- Source disclosure required
- Attribution required or optional
- Trademark restrictions
- No warranty
- No liability
Free for personal and educational use. Commercial use and redistribution are prohibited.
SPDX-License-Identifier: LicenseRef-MPLS-NC-1
Clauses: U1, U2, U3, P0, D1, S1, A1, W1, W2
Free for non-commercial use. Commercial use requires a paid license.
SPDX-License-Identifier: LicenseRef-MPLS-DUAL-1
Clauses: U1, U2, U3, U4, P1, D2, S1, A1, W1, W2
Free to use with optional donations.
SPDX-License-Identifier: LicenseRef-MPLS-DON-1
Clauses: U1, U2, U4, P3, D2, S1, A1, W1, W2
Equivalent to MIT-style licensing.
SPDX-License-Identifier: LicenseRef-MPLS-OSS-MIT
Clauses: U1, U2, U4, P0, D2, D3, S1, A1, W1, W2
Equivalent to GPL-style licensing.
SPDX-License-Identifier: LicenseRef-MPLS-OSS-GPL
Clauses: U1, U2, U4, P0, D2, D3, D4, S2, A1, W1, W2
A minimal Python-based generator is included.
python generate_license.py > LICENSE.md- SPDX Identifier
- Clause ID list
The generator outputs a complete, legal-grade license file.
/
├── LICENSE.md
├── README.md
├── generate_license.py
└── licenses/
├── MPLS-NC-1.md
├── MPLS-DUAL-1.md
└── MPLS-OSS-MIT.md
- Always include
SPDX-License-Identifierat the top of files - Clearly summarize the license in
README.md - Use predefined profiles where possible
- Avoid mixing contradictory clauses
MPLS is provided as a licensing framework. You are responsible for ensuring compliance with local laws and regulations.