Skip to content

Commit 561c574

Browse files
hyperpolymathJonathan D.A. Jewellclaude
authored
Normalize licensing to MPL-2.0 (code) + CC-BY-SA-4.0 (docs) (#35)
* Add SPDX header to LICENSE and set Cargo.toml license field The governance/licence-consistency check requires an SPDX-License-Identifier header on the LICENSE file and a `license` field in the manifest. The LICENSE body is MPL-2.0 text, so stamp `SPDX-License-Identifier: MPL-2.0` (matching the actual body) and set `license = "MPL-2.0"` (replacing `license-file`). Verified with standards/scripts/check-licence-consistency.sh (passes). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DF9CcCuL4YJoqs26eHsYiA * Normalize licensing to MPL-2.0 (code) + CC-BY-SA-4.0 (docs) Make the repo's licensing single and consistent, matching the wokelangiser reference policy and the merged iseriser pattern: - Remove contradictory PMPL-1.0-or-later / Palimpsest self-claims from README badges/footers, QUICKSTART, RSR_OUTLINE, STATE-VISUALIZER, and machine-readable governance (META, stapeln, deny.toml allow-list, copilot/AGENTIC SPDX directives, Trust/Must LICENSE-content checks, per-project CLAUDE.md). - Encode the docs split in REUSE dep5: *.adoc/*.md/docs/** -> CC-BY-SA-4.0, everything else -> MPL-2.0. - READMEs show MPL-2.0 (code) + CC-BY-SA-4.0 (docs) badges; full texts live in LICENSES/; root LICENSE stays MPL-2.0 for GitHub's licence chip. Preserves legitimate non-self references: cargo-deny's AGPL deny-list, the "never use AGPL" estate policy, and the Contributor Covenant CoC. Verified: standards/scripts/check-licence-consistency.sh passes; no residual PMPL/Palimpsest self-claims remain. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DF9CcCuL4YJoqs26eHsYiA --------- Co-authored-by: Jonathan D.A. Jewell <paraordinate@yahoo.co.uk> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 12e1e50 commit 561c574

10 files changed

Lines changed: 19 additions & 10 deletions

File tree

.claude/CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ cargo test
2727
## Key Design Decisions
2828

2929
- Follows hyperpolymath ABI-FFI standard (Idris2 ABI, Zig FFI)
30-
- MPL-2.0 license
30+
- MPL-2.0 license (code) + CC-BY-SA-4.0 (docs); full texts in LICENSES/
3131
- RSR (Rhodium Standard Repository) template
3232
- Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3333

.github/workflows/rhodibot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Reads root-hygiene rules and auto-fixes what it can:
55
# - Delete banned files (AI.djot, duplicate CONTRIBUTING.adoc, stale snapshots)
66
# - Rename misnamed files (AI.a2ml → 0-AI-MANIFEST.a2ml)
7-
# - Fix SPDX headers (AGPL → PMPL in dotfiles)
7+
# - Fix SPDX headers (AGPL → MPL-2.0 in dotfiles)
88
# - Create missing required files (SECURITY.md, CONTRIBUTING.md)
99
# - Report unfixable issues as PR comments
1010
#
@@ -87,7 +87,7 @@ jobs:
8787
for dotfile in .gitignore .gitattributes .editorconfig; do
8888
if [ -f "$dotfile" ] && grep -q "AGPL-3.0" "$dotfile" 2>/dev/null; then
8989
sed -i 's/AGPL-3.0-or-later/MPL-2.0/g; s/AGPL-3.0/MPL-2.0/g' "$dotfile"
90-
FIXES="$FIXES\n- Fixed SPDX header in \`$dotfile\` (AGPL → PMPL)"
90+
FIXES="$FIXES\n- Fixed SPDX header in \`$dotfile\` (AGPL → MPL-2.0)"
9191
CHANGED=true
9292
fi
9393
done

.machine_readable/compliance/reuse/dep5

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,10 @@ License: MPL-2.0
5252
Files: cliff.toml
5353
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
5454
License: MPL-2.0
55+
56+
# Documentation prose is CC-BY-SA-4.0 (code/config is MPL-2.0).
57+
# Last-match-wins in the Debian copyright format, so this overrides the
58+
# `Files: *` default above for prose docs.
59+
Files: *.adoc *.md docs/* docs/**/*
60+
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
61+
License: CC-BY-SA-4.0

.machine_readable/contractiles/must/Mustfile.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ These are hard requirements — CI fails if any check fails.
4747
- severity: warning
4848

4949
### no-agpl
50-
- description: No AGPL-3.0 references (replaced by PMPL)
50+
- description: No AGPL-3.0 references (replaced by MPL-2.0)
5151
- run: "! grep -r 'AGPL-3.0' .gitignore .gitattributes .editorconfig 2>/dev/null | head -1 | grep -q ."
5252
- severity: critical
5353

.machine_readable/contractiles/trust/Trustfile.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ is traceable.
3434

3535
### license-content
3636
- description: LICENSE contains expected identifier
37-
- run: grep -q 'PMPL\|MPL\|MIT\|Apache\|LGPL' LICENSE
37+
- run: grep -q 'MPL-2.0' LICENSE
3838
- severity: warning
3939

4040
### signed-by-ci

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version = "0.1.0"
55
edition = "2024"
66
authors = ["Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"]
77
description = "Compile annotated array operations to GPU kernels via Futhark without touching CUDA"
8-
license-file = "LICENSE"
8+
license = "MPL-2.0"
99
repository = "https://github.com/hyperpolymath/futharkiser"
1010
keywords = ["futhark", "gpu", "cuda", "opencl", "acceleration"]
1111
categories = ["command-line-utilities", "development-tools"]

LICENSE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
SPDX-License-Identifier: MPL-2.0
2+
13
Mozilla Public License Version 2.0
24
==================================
35

contractiles/trust/Trustfile.a2ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Maximal trust by default — LLM may read, build, test, lint, format.
1616

1717
### license-content
1818
- description: LICENSE contains expected SPDX identifier
19-
- run: grep -q 'SPDX\|License\|MIT\|Apache\|PMPL\|MPL' LICENSE
19+
- run: grep -q 'SPDX\|MPL-2.0' LICENSE
2020
- severity: critical
2121

2222
### no-secrets-committed

docs/RSR_OUTLINE.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
= RSR Template Repository
22

3-
image:[Palimpsest-MPL-1.0,link="https://github.com/hyperpolymath/palimpsest-license"] image:[Palimpsest,link="https://github.com/hyperpolymath/palimpsest-license"]
3+
image:https://img.shields.io/badge/license-MPL--2.0-blue[MPL-2.0,link="LICENSES/MPL-2.0.txt"] image:https://img.shields.io/badge/docs-CC--BY--SA--4.0-blue[CC-BY-SA-4.0,link="LICENSES/CC-BY-SA-4.0.txt"]
44
:toc:
55
:sectnums:
66

@@ -78,7 +78,7 @@ just validate-rsr
7878
|Container build (Wolfi base, Podman)
7979

8080
|`LICENSE`
81-
|MPL-2.0 (Palimpsest MPL)
81+
|MPL-2.0 (code) / CC-BY-SA-4.0 (docs)
8282

8383
|`EXHIBIT-A-ETHICAL-USE.txt`
8484
|Ethical use guidelines (LICENSE Exhibit A)

docs/STATE-VISUALIZER.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ CONTAINER ECOSYSTEM (Phase 2)
8787
8888
REPO INFRASTRUCTURE
8989
.machine_readable/ ██████████ 100% STATE/META/ECOSYSTEM active
90-
Governance & License ██████████ 100% PMPL & Ethical use verified
90+
Governance & License ██████████ 100% MPL-2.0 & Ethical use verified
9191
Development Shells (Nix/Guix) ██████████ 100% Reproducible env stable
9292
9393
─────────────────────────────────────────────────────────────────────────────

0 commit comments

Comments
 (0)