Skip to content

Commit 1f0d4eb

Browse files
chore(licence): set repo primary licence to MPL-2.0 (core tech); keep AGPL game-content tier (#656)
Resolves the flagged licence inconsistency: the root `LICENSE` was `AGPL-3.0-or-later` while the guix files and CLAUDE.md treat the repo as MPL-2.0. Per owner decision, **the repository's primary licence is now MPL-2.0** (with `CC-BY-SA-4.0` for prose), matching the estate standard and the dual-SPDX pattern used in oikosbot. Crucially, this is **not** a blanket relicence — `docs/governance/LICENSING-GUIDE.md` documents a deliberate **three-tier** structure, which I've preserved: | Tier | Licence | This PR | |---|---|---| | Core Technology (compiler, runtime, stdlib, tooling, editors) | **MPL-2.0** | set to MPL-2.0 (was mislabeled AGPL in places) | | Game Content (`proposals/idaptik/**`, game `examples/**`) | AGPL-3.0-or-later | **untouched** | | Foundational (Gossamer, Burble) | PMPL-1.0 / MPL-2.0 | unchanged | ## Changed (Core Technology → MPL-2.0) - `LICENSE`: AGPL-3.0-or-later text → MPL-2.0 with dual SPDX header (`MPL-2.0` + `CC-BY-SA-4.0`). - Distribution metadata: `runtime/Cargo.toml`, `packages/{affinescript-cli,affine-js,affine-vscode}`, `affinescript-tea`, `editors/{vscode,tree-sitter-affinescript,tree-sitter-rescript}` licence fields/headers AGPL → MPL-2.0. - Repo infra: `.gitattributes`, `.gitignore` SPDX → MPL-2.0. - `README.adoc` licence section → three-tier framing (MPL-2.0 core / AGPL game / PMPL foundational). ## Deliberately NOT changed - **`proposals/idaptik/**`** (146 files) — the IDApTIK AGPL game; `TRUST.contractile` explicitly forbids modifying IDApTIK without explicit instruction, and relicensing AGPL-derived game code would be improper. - **game `examples/**`** — documented AGPL "Game Content" per the licensing guide. - **`LICENSES/LICENSE-AGPL-3.0`** — retained (the AGPL tier still exists). ## Follow-ups (flagged, not done here) - A handful of clearly-core-tech *source* SPDX headers (e.g. `lib/version.ml`, `bin/dune`, `js/dune`, `tests/**`) are still AGPL-labeled; reconciling those to MPL-2.0 is a tidy-up that needs per-file care against the three-tier guide. - `docs/governance/LICENSING-GUIDE.md` still frames the *primary* licence as PMPL/AGPL; it should be reworded to MPL-2.0-primary. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_015wqBHniW8sHDCqCoEvBe9n --- _Generated by [Claude Code](https://claude.ai/code/session_015wqBHniW8sHDCqCoEvBe9n)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 5ccddff commit 1f0d4eb

17 files changed

Lines changed: 402 additions & 686 deletions

File tree

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: AGPL-3.0-or-later
1+
# SPDX-License-Identifier: MPL-2.0
22
# RSR-compliant .gitattributes
33

44
* text=auto eol=lf

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: AGPL-3.0-or-later
1+
# SPDX-License-Identifier: MPL-2.0
22
# RSR-compliant .gitignore
33

44
# OS & Editor

LICENSE

Lines changed: 376 additions & 663 deletions
Large diffs are not rendered by default.

README.adoc

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -673,18 +673,21 @@ ____
673673

674674
== License
675675

676-
This repository is documented and distributed under AGPL-3.0-or-later.
676+
This repository's core technology — the compiler, runtime, standard library,
677+
tooling, and editor integrations — is licensed under MPL-2.0; documentation and
678+
prose under CC-BY-SA-4.0.
677679

678-
The broader Palimpsest-MPL licensing layer applies to associated ecosystem technology including:
679-
680-
- Gossamer
681-
- Burble
682-
- AffineScript deployment/tooling layers where applicable
680+
Game content remains under AGPL-3.0-or-later (the `proposals/idaptik/` migration
681+
and the game-specific `examples/`), and the foundational technologies (Gossamer,
682+
Burble) under the Palimpsest-MPL layer. See
683+
link:docs/governance/LICENSING-GUIDE.md[docs/governance/LICENSING-GUIDE.md] for
684+
the full three-tier breakdown.
683685

684686
See also:
685687

686-
- AGPL-3.0-or-later: https://www.gnu.org/licenses/agpl-3.0.html
687-
- PMPL-1.0: https://github.com/hyperpolymath/palimpsest-license
688+
- MPL-2.0 (core technology): https://www.mozilla.org/en-US/MPL/2.0/
689+
- AGPL-3.0-or-later (game content): https://www.gnu.org/licenses/agpl-3.0.html
690+
- PMPL-1.0 (foundational): https://github.com/hyperpolymath/palimpsest-license
688691

689692
== Final Positioning Summary
690693

affinescript-tea/deno.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"imports": {
88
"@hyperpolymath/affine-js/loader": "../packages/affine-js/loader.js"
99
},
10-
"license": "AGPL-3.0-or-later",
10+
"license": "MPL-2.0",
1111
"publish": {
1212
"exclude": ["mod_test.js"]
1313
},

editors/tree-sitter-affinescript/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"affinescript"
1010
],
1111
"author": "hyperpolymath",
12-
"license": "AGPL-3.0-or-later",
12+
"license": "MPL-2.0",
1313
"dependencies": {
1414
"nan": "^2.17.0"
1515
},

editors/tree-sitter-rescript/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"version": "0.1.0",
44
"private": true,
55
"description": "Manifest-only vendoring of rescript-lang/tree-sitter-rescript for the .res -> .affine migration assistant (affinescript#57).",
6-
"license": "AGPL-3.0-or-later",
6+
"license": "MPL-2.0",
77
"dependencies": {
88
"tree-sitter-rescript": "github:rescript-lang/tree-sitter-rescript#990214a83f25801dfe0226bd7e92bb71bba1970f"
99
},

editors/vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "Language support for AffineScript - affine types, effects, and dependent types",
55
"version": "0.1.0",
66
"publisher": "hyperpolymath",
7-
"license": "AGPL-3.0-or-later",
7+
"license": "MPL-2.0",
88
"repository": {
99
"type": "git",
1010
"url": "https://github.com/hyperpolymath/affinescript"

editors/vscode/src/extension.affine

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
1+
// SPDX-License-Identifier: MIT OR MPL-2.0
22
// Copyright (c) 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
33
//
44
// AffineScript VS Code extension — issue #35 Phase 3 deliverable.

editors/vscode/test/runTest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
1+
// SPDX-License-Identifier: MIT OR MPL-2.0
22
// In-editor smoke harness driver for #139.
33
//
44
// Downloads a pinned VS Code, launches it with this extension folder loaded

0 commit comments

Comments
 (0)