Skip to content

Commit d6e13c6

Browse files
hyperpolymathclaude
andcommitted
docs(licence): update PMPL policy — MPL-2.0 is automatic legal fallback
Three changes: - PALIMPSEST.adoc: rewrite — PMPL-1.0-or-later is stated primary; MPL-2.0 is automatic legal fallback until PMPL achieves formal legal recognition (lawyer-confirmed); AGPL-3.0 exception for IDApTIK + ASS (son co-dev) - LICENCE-POLICY.adoc: new canonical policy document — three rules, SPDX header table, enforcement references - rhodium-standard-repositories/PALIMPSEST.adoc: update legal status section to capture the MPL-2.0 fallback and AGPL exceptions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9bf4690 commit d6e13c6

3 files changed

Lines changed: 195 additions & 80 deletions

File tree

LICENCE-POLICY.adoc

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
= Hyperpolymath Licence Policy
3+
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
:toc:
5+
:toc-placement: preamble
6+
7+
Canonical licence policy for all hyperpolymath repositories and code.
8+
All contributors and AI agents must follow this document.
9+
10+
== Three Rules
11+
12+
=== Rule 1 — PMPL-1.0-or-later Is the Stated Licence
13+
14+
All hyperpolymath original code carries:
15+
16+
```
17+
SPDX-License-Identifier: PMPL-1.0-or-later
18+
```
19+
20+
This applies everywhere — source files, docs, config, scripts — unless
21+
Rule 2 or Rule 3 applies.
22+
23+
=== Rule 2 — MPL-2.0 Is the Automatic Legal Fallback
24+
25+
PMPL does not yet have formal legal standing as a standalone licence.
26+
A lawyer has confirmed: until PMPL is formally recognised, *MPL-2.0 is the
27+
automatically operative legal fallback* for all code marked
28+
`PMPL-1.0-or-later`. No additional declaration is needed.
29+
30+
This means:
31+
32+
* SPDX headers say `PMPL-1.0-or-later` — this is correct and intentional
33+
* Legally, the enforceable text today is MPL-2.0
34+
* When PMPL achieves legal recognition, existing headers take full effect
35+
without any re-labelling
36+
37+
*Platform registries* (crates.io, Hackage, npm) that require OSI-approved
38+
licences need an explicit MPL-2.0 declaration:
39+
40+
```
41+
SPDX-License-Identifier: MPL-2.0
42+
// (PMPL-1.0-or-later preferred; MPL-2.0 required for [platform])
43+
```
44+
45+
This is distinct from the automatic fallback — it is a platform-compliance
46+
declaration, not a signal of preference.
47+
48+
=== Rule 3 — AGPL-3.0 for Co-Developed Projects
49+
50+
Two projects are co-developed with Jonathan's son and use AGPL-3.0:
51+
52+
* **IDApTIK** — adaptive tutoring game
53+
* **Airborne Submarine Squadron (ASS)** — aerial combat game
54+
55+
These use `SPDX-License-Identifier: AGPL-3.0-or-later`. This exception is
56+
permanent. All other hyperpolymath original code follows Rule 1 + Rule 2.
57+
58+
== SPDX Header Quick Reference
59+
60+
[cols="2,3,2"]
61+
|===
62+
| Situation | Header | Notes
63+
64+
| Standard hyperpolymath code
65+
| `PMPL-1.0-or-later`
66+
| MPL-2.0 is automatic legal fallback
67+
68+
| crates.io / Hackage / npm package
69+
| `MPL-2.0` + comment
70+
| Add: `(PMPL-1.0-or-later preferred; MPL-2.0 required for [platform])`
71+
72+
| IDApTIK or Airborne Submarine Squadron
73+
| `AGPL-3.0-or-later`
74+
| Permanent exception — co-developed with son
75+
76+
| Third-party code
77+
| Original SPDX (e.g. `MIT`, `Apache-2.0`)
78+
| Never relicense; preserve original header exactly
79+
|===
80+
81+
== What PMPL Adds Over MPL-2.0
82+
83+
Once PMPL has legal standing, it adds:
84+
85+
* *Emotional Lineage* — preserve narrative intent and cultural context
86+
* *Provenance Integrity* — retain attribution and lineage metadata
87+
* *Ethical Use Constraints* — explicit consent for non-interpretive AI training
88+
* *Quantum-Safe Provenance (optional)* — post-quantum signature support
89+
90+
MPL-2.0 provides the legal foundation: file-level copyleft, patent grants,
91+
compatibility with other licences, clear modern language.
92+
93+
== Enforcement
94+
95+
* CI: `hypatia-scan.yml` checks SPDX headers on all files
96+
* Pre-commit: `panic-attack assail` catches missing or wrong SPDX identifiers
97+
* New repos: rsr-template-repo defaults to `PMPL-1.0-or-later`
98+
99+
== See Also
100+
101+
* `PALIMPSEST.adoc` (this directory) — full narrative
102+
* `rhodium-standard-repositories/PALIMPSEST.adoc` — RSR integration
103+
* link:https://github.com/hyperpolymath/palimpsest-license[palimpsest-license] — PMPL licence text
104+
* link:https://www.mozilla.org/en-US/MPL/2.0/[MPL-2.0] — legal fallback text

PALIMPSEST.adoc

Lines changed: 64 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,92 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
12
= Palimpsest Licence
3+
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
24
:toc:
3-
:toc-placement!:
5+
:toc-placement: preamble
46

5-
image:https://img.shields.io/badge/license-MPL--2.0-blue.svg[MPL-2.0,link="https://www.mozilla.org/en-US/MPL/2.0/"]
6-
image:https://img.shields.io/badge/philosophy-Palimpsest-purple.svg[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-licence"]
7+
image:https://img.shields.io/badge/License-PMPL--1.0--or--later-blue.svg[PMPL-1.0-or-later,link="https://github.com/hyperpolymath/palimpsest-license"]
8+
image:https://img.shields.io/badge/Legal_fallback-MPL--2.0-orange.svg[MPL-2.0 fallback,link="https://www.mozilla.org/en-US/MPL/2.0/"]
79

8-
toc::[]
10+
== Licence Summary
911

10-
== Legal Status
11-
12-
This project is legally licensed under the **Mozilla Public License 2.0 (MPL-2.0)**.
13-
14-
The Palimpsest Licence is a philosophical and ethical framework that accompanies the legal license. **Palimpsest does not currently provide legal protections** - it is a manifesto and a set of principles that we encourage adopters to embrace alongside the MPL-2.0.
15-
16-
== Why MPL-2.0 + Palimpsest?
17-
18-
=== The Legal Foundation: MPL-2.0
19-
20-
The Mozilla Public License 2.0 provides:
21-
22-
* **File-level copyleft** - modifications to MPL-licensed files must remain open
23-
* **Compatibility** - can be combined with proprietary code and other open source licenses
24-
* **Patent protection** - includes explicit patent grants
25-
* **Clear, modern language** - well-drafted and widely understood
26-
27-
=== The Philosophical Layer: Palimpsest
12+
[cols="1,2"]
13+
|===
14+
| | Status
2815

29-
Palimpsest adds an ethical dimension that legal licenses cannot capture:
16+
| *Stated SPDX licence* | `PMPL-1.0-or-later`
17+
| *Legal operative fallback* | MPL-2.0 (automatic, until PMPL achieves formal legal recognition)
18+
| *Exception — IDApTIK + Airborne Submarine Squadron* | AGPL-3.0 (co-developed projects, see below)
19+
|===
3020

31-
* **Layered contribution** - like a palimpsest manuscript, each contributor adds to what came before
32-
* **Transparent provenance** - clear attribution of ideas, not just code
33-
* **Collaborative evolution** - encouraging forks that improve rather than fragment
34-
* **Ethical use guidelines** - principles beyond what law can enforce
21+
== PMPL-1.0-or-later
3522

36-
== Future Direction
23+
The **Palimpsest-MPL License 1.0 (PMPL-1.0)** is the intended primary licence
24+
for all hyperpolymath original code. It incorporates the Mozilla Public
25+
License 2.0 by reference and adds:
3726

38-
**Palimpsest v0.5** will integrate MPL-2.0 and Palimpsest principles into a single, legally recognized license. This work is ongoing.
27+
* **Emotional Lineage** — preserve narrative intent and cultural context
28+
* **Provenance Integrity** — retain attribution and lineage metadata
29+
* **Ethical Use Constraints** — explicit consent for non-interpretive AI training
30+
* **Quantum-Safe Provenance (optional)** — post-quantum signature support
3931

40-
Until then:
32+
SPDX identifier used in all source files: `PMPL-1.0-or-later`
4133

42-
1. **MPL-2.0** is the legally binding license for this project
43-
2. **Palimpsest** is the philosophical framework we encourage you to adopt
44-
3. Distributing Palimpsest alongside your use of this code is encouraged but not required
34+
== Legal Status and MPL-2.0 Fallback
4535

46-
== Get Involved
36+
PMPL does not yet have formal legal standing as a standalone licence.
37+
Until it achieves that status:
4738

48-
We are actively developing Palimpsest as a real, legally recognized license that captures both the legal and ethical dimensions of open source collaboration.
39+
* All code labelled `PMPL-1.0-or-later` is **legally operative under
40+
MPL-2.0** terms automatically — no additional declaration is required.
41+
* If a legal dispute arose today, MPL-2.0 would be the enforced text.
42+
* This is **not a dual-licence** — PMPL-1.0-or-later is the stated form;
43+
MPL-2.0 is the automatic fallback, not a separate grant.
4944

50-
If you are interested in:
45+
When PMPL achieves formal recognition, the fallback becomes unnecessary and
46+
all existing `PMPL-1.0-or-later` declarations take full legal effect without
47+
any re-labelling.
5148

52-
* Contributing to the Palimpsest license design
53-
* Adopting Palimpsest for your own projects
54-
* Providing legal expertise on open source licensing
55-
* Discussing the philosophy behind Palimpsest
49+
== Platform Fallback (MPL-2.0 Explicit)
5650

57-
**Please get in touch:**
51+
For distribution on registries that require an OSI-approved licence
52+
(crates.io, Hackage, npm), use:
5853

59-
* GitHub: https://github.com/hyperpolymath
60-
* Palimpsest Licence repo: https://github.com/hyperpolymath/palimpsest-licence
54+
```
55+
SPDX-License-Identifier: MPL-2.0
56+
// (PMPL-1.0-or-later preferred; MPL-2.0 required for [platform])
57+
```
6158

62-
== Signing Up to Palimpsest
59+
This is distinct from the automatic legal fallback above — it is an explicit
60+
declaration for platform compliance, not a signal that PMPL is not preferred.
6361

64-
While Palimpsest is not yet legally formalized, you can signal your support by:
62+
== Exception: AGPL-3.0 Projects
6563

66-
1. Adding the Palimpsest badge to your project README
67-
2. Including `PALIMPSEST.adoc` in your repository
68-
3. Mentioning Palimpsest in your LICENSE file
69-
4. Joining discussions about the license's development
64+
**IDApTIK** and **Airborne Submarine Squadron** are co-developed with
65+
Jonathan's son. These projects use AGPL-3.0, not PMPL-1.0-or-later.
7066

71-
== Summary
67+
This exception is permanent for those two projects. All other hyperpolymath
68+
original code uses PMPL-1.0-or-later (falling back to MPL-2.0).
7269

73-
[cols="1,2"]
74-
|===
75-
|Aspect |Status
70+
== SPDX Header Summary
7671

77-
|**Legal License**
78-
|MPL-2.0 (Mozilla Public License 2.0)
72+
[source]
73+
----
74+
# Hyperpolymath original code — standard:
75+
# SPDX-License-Identifier: PMPL-1.0-or-later
7976
80-
|**Philosophical Framework**
81-
|Palimpsest (encouraged, not legally binding)
77+
# Platform-required fallback (crates.io, Hackage, etc.):
78+
# SPDX-License-Identifier: MPL-2.0
79+
# (PMPL-1.0-or-later preferred; MPL-2.0 required for [platform])
8280
83-
|**SPDX Identifier**
84-
|`MPL-2.0`
81+
# Co-developed projects (IDApTIK, Airborne Submarine Squadron):
82+
# SPDX-License-Identifier: AGPL-3.0-or-later
8583
86-
|**Future License**
87-
|Palimpsest v0.5+ (MPL-2.0 integrated, legally recognized)
88-
|===
84+
# Third-party code — preserve original:
85+
# SPDX-License-Identifier: MIT (or whatever the original is)
86+
----
8987

90-
---
88+
== Further Reading
9189

92-
_This project uses MPL-2.0 for legal licensing and encourages adoption of the Palimpsest philosophy. See link:LICENSE[LICENSE] for the full legal text._
90+
* `LICENCE-POLICY.adoc` — canonical policy statement (this directory)
91+
* `rhodium-standard-repositories/PALIMPSEST.adoc` — RSR integration
92+
* link:https://github.com/hyperpolymath/palimpsest-license[palimpsest-license repo] — PMPL licence text
Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,44 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
12
= Palimpsest License
3+
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
24
:toc:
3-
:toc-placement!:
5+
:toc-placement: preamble
46

5-
image:https://img.shields.io/badge/License-PMPL--1.0-blue.svg[License: PMPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"]
6-
image:https://img.shields.io/badge/Philosophy-Palimpsest-indigo.svg[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"]
7-
8-
toc::[]
7+
image:https://img.shields.io/badge/License-PMPL--1.0--or--later-blue.svg[PMPL-1.0-or-later,link="https://github.com/hyperpolymath/palimpsest-license"]
8+
image:https://img.shields.io/badge/Legal_fallback-MPL--2.0-orange.svg[MPL-2.0 fallback,link="https://www.mozilla.org/en-US/MPL/2.0/"]
99

1010
== Legal Status
1111

12-
This project is licensed under the **Palimpsest-MPL License 1.0 (PMPL-1.0)**.
13-
For SPDX and tooling, use **PMPL-1.0-or-later**.
12+
This project is licensed under **PMPL-1.0-or-later** (Palimpsest-MPL License 1.0).
1413

15-
PMPL-1.0 incorporates the Mozilla Public License 2.0 by reference and adds
14+
PMPL incorporates the Mozilla Public License 2.0 by reference and adds
1615
ethical-use, provenance, and lineage requirements.
1716

17+
*Legal fallback:* Until PMPL achieves formal legal recognition, all code
18+
labelled `PMPL-1.0-or-later` is automatically operative under **MPL-2.0**
19+
terms. No separate declaration is needed — the fallback is unconditional.
20+
1821
== What PMPL Adds
1922

20-
* **Emotional Lineage** - preserve narrative intent and cultural context
21-
* **Provenance Integrity** - retain attribution and lineage metadata
22-
* **Ethical Use Constraints** - explicit consent for non-interpretive AI training
23-
* **Quantum-Safe Provenance (optional)** - post-quantum signature support
23+
* **Emotional Lineage** preserve narrative intent and cultural context
24+
* **Provenance Integrity** retain attribution and lineage metadata
25+
* **Ethical Use Constraints** explicit consent for non-interpretive AI training
26+
* **Quantum-Safe Provenance (optional)** post-quantum signature support
2427

2528
== How to Adopt
2629

2730
1. Include the PMPL-1.0 license text in `LICENSE`.
2831
2. Add SPDX headers to source files:
2932
`SPDX-License-Identifier: PMPL-1.0-or-later`
30-
3. Add a Palimpsest badge to your README (see `assets/badges/` and `embed/license-blocks/`).
33+
3. Add a Palimpsest badge to your README (see `assets/badges/`).
34+
35+
For platform registries requiring OSI-approved licences (crates.io, Hackage):
36+
`SPDX-License-Identifier: MPL-2.0` with a comment explaining the fallback.
37+
38+
== Exception: AGPL-3.0 Co-Developed Projects
39+
40+
IDApTIK and Airborne Submarine Squadron use AGPL-3.0 (co-developed). All
41+
other hyperpolymath original code uses PMPL-1.0-or-later.
3142

3243
== Versioning
3344

@@ -36,6 +47,6 @@ The current legal text is PMPL-1.0.
3647

3748
== References
3849

39-
* `legal/README.adoc`
40-
* `assets/badges/README.md`
41-
* `embed/license-blocks/README.md`
50+
* `../LICENCE-POLICY.adoc` — canonical estate-wide policy
51+
* `../PALIMPSEST.adoc` — full policy with platform fallback rules
52+
* link:https://github.com/hyperpolymath/palimpsest-license[palimpsest-license repo]

0 commit comments

Comments
 (0)