diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4dc549..1ecfdfa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,8 +127,8 @@ jobs: test -f CLAUDE.md || (echo "Missing CLAUDE.md" && exit 1) # Licenses - test -f LICENSE-MIT.txt || (echo "Missing LICENSE-MIT.txt" && exit 1) - test -f LICENSE-PALIMPSEST.txt || (echo "Missing LICENSE-PALIMPSEST.txt" && exit 1) + test -f LICENSES/MPL-2.0.txt || (echo "Missing LICENSES/MPL-2.0.txt" && exit 1) + test -f LICENSES/CC-BY-SA-4.0.txt || (echo "Missing LICENSES/CC-BY-SA-4.0.txt" && exit 1) # .well-known/ test -f .well-known/security.txt || (echo "Missing security.txt" && exit 1) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 36fe1d3..e53b1d3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -106,8 +106,8 @@ rsr-compliance: test -f ../CHANGELOG.md || (echo "Missing CHANGELOG.md" && exit 1) # Licenses - test -f ../LICENSE-MIT.txt || (echo "Missing LICENSE-MIT.txt" && exit 1) - test -f ../LICENSE-PALIMPSEST.txt || (echo "Missing LICENSE-PALIMPSEST.txt" && exit 1) + test -f ../LICENSES/MPL-2.0.txt || (echo "Missing LICENSES/MPL-2.0.txt" && exit 1) + test -f ../LICENSES/CC-BY-SA-4.0.txt || (echo "Missing LICENSES/CC-BY-SA-4.0.txt" && exit 1) # .well-known/ test -f ../.well-known/security.txt || (echo "Missing security.txt" && exit 1) diff --git a/.machine_readable/STATE.a2ml b/.machine_readable/STATE.a2ml index 2d26cbb..547c72d 100644 --- a/.machine_readable/STATE.a2ml +++ b/.machine_readable/STATE.a2ml @@ -42,8 +42,7 @@ (blockers-and-issues "AffineScript/Idris2/Zig/Deno toolchain absent in some environments — author now, verify in CI" - "JTV grammar-v2 worked example stubbed pending julia-the-viper repo access" - "Licence-label drift to flag to owner (PMPL badge / 'Palimpsest License (MPL-2.0)' / ROADMAP 'MPL-2.0-or-later') vs MPL-2.0 SPDX — FLAG-ONLY, manual") + "JTV grammar-v2 worked example stubbed pending julia-the-viper repo access") (critical-next-actions "Port the legacy pattern catalogue into cartridge facts (Concept/Form/Transition + CorrespondenceKind)" diff --git a/.well-known/ai.txt b/.well-known/ai.txt index 334b406..db0e473 100644 --- a/.well-known/ai.txt +++ b/.well-known/ai.txt @@ -10,7 +10,7 @@ Disallow-Generation: yes # This project's code is licensed under MPL-2.0. # AI agents may read and analyze this code for assisting contributors. # AI agents must NOT use this code for model training without explicit consent. -# AI agents must preserve Emotional Lineage per PMPL Section 3. +# This project's documentation is licensed under CC-BY-SA-4.0. # # For AI agent integration instructions, see: # 0-AI-MANIFEST.a2ml (universal AI entry point) diff --git a/.well-known/humans.txt b/.well-known/humans.txt index 5b6216d..263b838 100644 --- a/.well-known/humans.txt +++ b/.well-known/humans.txt @@ -9,6 +9,6 @@ From: United Kingdom /* SITE */ Last update: 2026-03-28 Standards: RSR (Rhodium Standard Repository) -License: MPL-2.0 (Palimpsest MPL) +License: MPL-2.0 (code) / CC-BY-SA-4.0 (docs) Components: Idris2 ABI, Zig FFI Tools: just, Podman, Guix diff --git a/HANDOFF.adoc b/HANDOFF.adoc index 322a16d..20770ff 100644 --- a/HANDOFF.adoc +++ b/HANDOFF.adoc @@ -49,11 +49,10 @@ deno run --allow-read bin/evangeliser.js --kind false-friend # offline CLI (JTV is the canonical alien-realization / novel exemplar). . Begin the *AffineScript host application* against the Idris2 ABI / Zig FFI seams (needs the AffineScript compiler). -. Owner-only follow-ups (flagged, not done — out of agent scope): the - `CONTRIBUTING.md` / `CHANGELOG.md` `.md`-vs-`.adoc` format choice (GitHub-required - files), and the licence-label drift (`config.ncl` `MIT OR Palimpsest`, the README - "Palimpsest License (MPL-2.0)" label, `LICENSE-MIT.txt` / `LICENSE-PALIMPSEST.txt` - vs the `MPL-2.0` classification). Both are owner-domain — flag, never sweep. +. Owner-only follow-up (flagged, not done): the `CONTRIBUTING.md` / `CHANGELOG.md` + `.md`-vs-`.adoc` format choice (these GitHub-required files have clean `.adoc` + twins; pick one per file). The licence-label drift is *resolved* per owner + direction — see the Licensing note below. == Guardrails (non-negotiable) @@ -65,11 +64,11 @@ deno run --allow-read bin/evangeliser.js --kind false-friend # offline CLI * *Licence files and SPDX headers are owner-only.* Never relicense or bulk-sweep SPDX; licence-label drift is FLAG-ONLY to the owner. -== Known open item (owner decision) +== Licensing (resolved 2026-06) -The `governance / Licence consistency` check fails because `LICENSE` has no -`SPDX-License-Identifier:` header. This is *pre-existing* and *owner-domain* — -left untouched on purpose. It is entangled with label drift (the `LICENSE` body -is the Palimpsest text; `config.ncl` says `MIT OR Palimpsest-0.8`; the README -says "Palimpsest License (MPL-2.0)"; the manifests say `MPL-2.0`). Resolve only -with an explicit owner decision on the exact identifier. +Per owner direction: *code is MPL-2.0, documentation is CC-BY-SA-4.0.* The root +`LICENSE` is the MPL-2.0 text (so GitHub labels the repo MPL-2.0); `LICENSES/` +holds verbatim `MPL-2.0.txt` + `CC-BY-SA-4.0.txt`. The old MIT + Palimpsest +dual-licence artifacts (`LICENSE-MIT.txt`, `LICENSE-PALIMPSEST.txt`) have been +removed. SPDX headers and licence files remain *owner-only* — never relicense or +bulk-sweep. diff --git a/Justfile b/Justfile index e05c192..85d0e7f 100644 --- a/Justfile +++ b/Justfile @@ -1,6 +1,6 @@ # justfile for Nextgen Languages Evangeliser # https://github.com/casey/just -# SPDX-License-Identifier: MPL-2.0 OR Palimpsest-0.8 +# SPDX-License-Identifier: MPL-2.0 # # Per Hyperpolymath policy: # - Use Deno, not npm/bun @@ -126,9 +126,10 @@ validate-security: # Validate licenses validate-licenses: @echo "⚖️ Checking licenses..." - @test -f LICENSE-MIT.txt || (echo "❌ Missing LICENSE-MIT.txt" && exit 1) - @test -f LICENSE-PALIMPSEST.txt || (echo "❌ Missing LICENSE-PALIMPSEST.txt" && exit 1) - @echo "✅ Dual licenses present" + @test -f LICENSE || (echo "❌ Missing LICENSE (MPL-2.0)" && exit 1) + @test -f LICENSES/MPL-2.0.txt || (echo "❌ Missing LICENSES/MPL-2.0.txt" && exit 1) + @test -f LICENSES/CC-BY-SA-4.0.txt || (echo "❌ Missing LICENSES/CC-BY-SA-4.0.txt" && exit 1) + @echo "✅ Licenses present (MPL-2.0 code · CC-BY-SA-4.0 docs)" # Validate language policy (no Makefile, no new TS) validate-policy: diff --git a/LICENSE-MIT.txt b/LICENSE-MIT.txt deleted file mode 100644 index a0e9929..0000000 --- a/LICENSE-MIT.txt +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 Jonathan D.A. Jewell - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/LICENSE-PALIMPSEST.txt b/LICENSE-PALIMPSEST.txt deleted file mode 100644 index ec540b3..0000000 --- a/LICENSE-PALIMPSEST.txt +++ /dev/null @@ -1,153 +0,0 @@ -SPDX-License-Identifier: MPL-2.0 -SPDX-FileCopyrightText: 2024-2025 Palimpsest Stewardship Council - -================================================================================ -PALIMPSEST-MPL LICENSE VERSION 1.0 -================================================================================ - -File-level copyleft with ethical use and quantum-safe provenance - -Based on Mozilla Public License 2.0 - --------------------------------------------------------------------------------- -PREAMBLE --------------------------------------------------------------------------------- - -This License extends the Mozilla Public License 2.0 (MPL-2.0) with provisions -for ethical use, post-quantum cryptographic provenance, and emotional lineage -protection. The base MPL-2.0 terms apply except where explicitly modified by -the Exhibits below. - -Like a palimpsest manuscript where each layer builds upon what came before, -this license recognizes that creative works carry history, context, and meaning -that transcend mere code or text. - --------------------------------------------------------------------------------- -SECTION 1: BASE LICENSE --------------------------------------------------------------------------------- - -This License incorporates the full text of Mozilla Public License 2.0 by -reference. The complete MPL-2.0 text is available at: -https://www.mozilla.org/en-US/MPL/2.0/ - -All terms, conditions, and definitions from MPL-2.0 apply except where -explicitly modified by the Exhibits in this License. - --------------------------------------------------------------------------------- -SECTION 2: ADDITIONAL DEFINITIONS --------------------------------------------------------------------------------- - -2.1. "Emotional Lineage" - means the narrative, cultural, symbolic, and contextual meaning embedded - in Covered Software, including but not limited to: protest traditions, - cultural heritage, trauma narratives, and community stories. - -2.2. "Provenance Metadata" - means cryptographically signed attribution information attached to or - associated with Covered Software, including author identities, timestamps, - modification history, and lineage references. - -2.3. "Non-Interpretive System" - means any automated system that processes Covered Software without - preserving or considering its Emotional Lineage, including but not - limited to: AI training pipelines, content aggregators, and automated - summarization tools. - -2.4. "Quantum-Safe Signature" - means a cryptographic signature using algorithms resistant to attacks - by quantum computers, as specified in Exhibit B. - --------------------------------------------------------------------------------- -SECTION 3: ETHICAL USE REQUIREMENTS --------------------------------------------------------------------------------- - -In addition to the rights and obligations under MPL-2.0: - -3.1. Emotional Lineage Preservation - You must make reasonable efforts to preserve and communicate the - Emotional Lineage of Covered Software when distributing or creating - derivative works. This includes maintaining narrative context, cultural - attributions, and symbolic meaning where documented. - -3.2. Non-Interpretive System Notice - If You use Covered Software as input to a Non-Interpretive System, You - must: - (a) document such use in a publicly accessible manner; and - (b) not claim that outputs of such systems carry the Emotional Lineage - of the original work without explicit permission from Contributors. - -3.3. Ethical Use Declaration - Commercial use of Covered Software requires acknowledgment that You have - read and understood Exhibit A (Ethical Use Guidelines) and agree to act - in good faith accordance with its principles. - -See Exhibit A for complete Ethical Use Guidelines. - --------------------------------------------------------------------------------- -SECTION 4: PROVENANCE REQUIREMENTS --------------------------------------------------------------------------------- - -4.1. Metadata Preservation - You must not strip, alter, or obscure Provenance Metadata from Covered - Software except where technically necessary and with clear documentation - of any changes. - -4.2. Quantum-Safe Provenance (Optional) - Contributors may sign their Contributions using Quantum-Safe Signatures. - If Quantum-Safe Signatures are present, You must preserve them in all - distributions. - -4.3. Lineage Chain - When creating derivative works, You should extend the provenance chain - to include Your own contributions, maintaining cryptographic linkage to - prior Contributors where feasible. - -See Exhibit B for Quantum-Safe Provenance specifications. - --------------------------------------------------------------------------------- -SECTION 5: GOVERNANCE --------------------------------------------------------------------------------- - -5.1. Stewardship Council - This License is maintained by the Palimpsest Stewardship Council, which - may issue clarifications, interpretive guidance, and future versions. - -5.2. Version Selection - You may use Covered Software under this version of the License or any - later version published by the Palimpsest Stewardship Council. - -5.3. Dispute Resolution - Disputes regarding interpretation of Ethical Use Requirements (Section 3) - should first be submitted to the Palimpsest Stewardship Council for - non-binding guidance before pursuing legal remedies. - --------------------------------------------------------------------------------- -SECTION 6: COMPATIBILITY --------------------------------------------------------------------------------- - -6.1. MPL-2.0 Compatibility - Covered Software under this License may be combined with software under - MPL-2.0. The combined work must comply with both licenses. - -6.2. Secondary Licenses - The Secondary License provisions of MPL-2.0 Section 3.3 apply to this - License. - --------------------------------------------------------------------------------- -EXHIBITS --------------------------------------------------------------------------------- - -Exhibit A - Ethical Use Guidelines -Exhibit B - Quantum-Safe Provenance Specification - -See separate files: -- EXHIBIT-A-ETHICAL-USE.txt -- EXHIBIT-B-QUANTUM-SAFE.txt - --------------------------------------------------------------------------------- -END OF PALIMPSEST-MPL LICENSE VERSION 1.0 --------------------------------------------------------------------------------- - -For questions about this License: -- Repository: https://github.com/hyperpolymath/palimpsest-license -- Council: contact via repository Issues diff --git a/Mustfile.epx b/Mustfile.epx index 6606b35..907012f 100644 --- a/Mustfile.epx +++ b/Mustfile.epx @@ -1,5 +1,5 @@ # Mustfile.epx - Deployment Contract for Nextgen Languages Evangeliser -# SPDX-License-Identifier: MPL-2.0 OR Palimpsest-0.8 +# SPDX-License-Identifier: MPL-2.0 # # This file defines the physical state transitions for deployment. # Based on Ephapax Linear Logic - resources are consumed to produce outputs. diff --git a/QUICKSTART-MAINTAINER.adoc b/QUICKSTART-MAINTAINER.adoc index 34ac810..64e5615 100644 --- a/QUICKSTART-MAINTAINER.adoc +++ b/QUICKSTART-MAINTAINER.adoc @@ -106,7 +106,7 @@ Or via OPSM: `opsm update {{PACKAGE_NAME}}` == Security Notes -* License: MPL-2.0 (Palimpsest License) +* License: MPL-2.0 (code) · CC-BY-SA-4.0 (docs) * All dependencies SHA-pinned * `panic-attacker` scan results: link:INSTALL-SECURITY-REPORT.adoc[] * OpenSSF Scorecard: see badge in README diff --git a/README.adoc b/README.adoc index 675c4ee..1753fe0 100644 --- a/README.adoc +++ b/README.adoc @@ -1,7 +1,7 @@ = Nextgen Languages Evangeliser image:https://img.shields.io/badge/RSR-Bronze-CD7F32[RSR Bronze,link=docs/RSR_COMPLIANCE.adoc] -image:https://img.shields.io/badge/License-MPL--2.0-blue.svg[License: MPL-2.0,link="https://github.com/hyperpolymath/palimpsest-license"] +image:https://img.shields.io/badge/License-MPL--2.0-blue.svg[License: MPL-2.0,link="https://www.mozilla.org/en-US/MPL/2.0/"] // SPDX-License-Identifier: CC-BY-SA-4.0 // SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell @@ -270,7 +270,7 @@ This is a *TPCF Perimeter 3* project - all contributions are welcome! // SPDX-License-Identifier: CC-BY-SA-4.0 -This project is licensed under the *Palimpsest License (MPL-2.0)*. +This project's code is licensed under the *Mozilla Public License 2.0 (MPL-2.0)*; its documentation under *CC-BY-SA-4.0*. Full licence texts are in link:LICENSES/[LICENSES/], and the repository `LICENSE` is the MPL-2.0 text. See link:LICENSE[LICENSE] for the full license text. diff --git a/config.ncl b/config.ncl index 6ae37b6..efd8fb1 100644 --- a/config.ncl +++ b/config.ncl @@ -1,5 +1,5 @@ # config.ncl - Nickel configuration for Nextgen Languages Evangeliser -# SPDX-License-Identifier: MPL-2.0 OR Palimpsest-0.8 +# SPDX-License-Identifier: MPL-2.0 # # Type-safe configuration using Nickel # Renamed from rescript-evangeliser on 2026-04-16 @@ -10,7 +10,7 @@ predecessor = "rescript-evangeliser", version = "0.6.0-alpha", description = "Learn next-generation type-safe languages (flagship: AffineScript) through progressive code transformation", - license = "MIT OR Palimpsest-0.8", + license = "MPL-2.0", }, # Target languages (what we teach) diff --git a/guix.scm b/guix.scm index f2ce961..cc35bbf 100644 --- a/guix.scm +++ b/guix.scm @@ -14,5 +14,4 @@ (synopsis "nextgen-languages-evangeliser") (description "nextgen-languages-evangeliser — part of the hyperpolymath ecosystem.") (home-page "https://github.com/hyperpolymath/nextgen-languages-evangeliser") - (license ((@@ (guix licenses) license) "MPL-2.0" - "https://github.com/hyperpolymath/palimpsest-license"))) + (license mpl2.0))