Skip to content

Relicense panll source-file SPDX headers AGPL→MPL-2.0 + reconcile PMPL drift #78

Closed

Description

@hyperpolymath

Follow-up to #75 / #77 (metadata relicense). The repo-licence declarations (LICENSE + toml/json) are converted to MPL-2.0 in #77. This issue tracks the source-file headers and PMPL drift, which were held back because they're not trivial.

AGPL-3.0-or-later SPDX headers to convert → MPL-2.0 (18 files)

src/ui/tea/:

  • src/ui/tea/panll_gui.affine
  • src/ui/tea/panll_tea.js

migration/ (16):

  • migration/modules/{CloudGuard,Farm,LanguageForge,MassPanic,PanicAttack,Plaza,ServiceEndpoints,SpecBrowser,TangleViz,Tsdm,VerificationDashboard}Module.affine
  • migration/modules/STATUS.md
  • migration/msg/{Feedback,Orbital,VideoCoordination}Msg.affine

PMPL drift to reconcile → MPL-2.0

  • .claude/CLAUDE.md (header # SPDX-License-Identifier: PMPL-1.0-or-later + "## License: PMPL-1.0-or-later on all original source files")
  • tools/pcc/Cargo.toml (header comment line 1 = PMPL)
  • .machine_readable/6a2/AGENTIC.a2ml and panel-clades/.machine_readable/6a2/AGENTIC.a2ml ("use PMPL-1.0-or-later")

Why this isn't trivial / blockers to handle

  1. Pre-commit hook (.git/hooks/pre-commit) requires, for OWNED repos, that every staged file with extension zig|ex|idr|eph|py|js|ts|rs|c|h|adoc|md contain BOTH SPDX-License-Identifier: MPL-2.0 AND the owner string Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>. So STATUS.md and panll_tea.js will need owner-attribution lines added — decide the canonical header format first.
  2. .affine files are not hook-checked but should still be made consistent.
  3. .claude/CLAUDE.md is under a standing "do-not-touch in sweeps / ask-first" directive — needs explicit owner sign-off before editing.
  4. Determine migration/'s status — is it active original source (→ MPL) or transitional/vendored content? Confirm before sweeping.
  5. Leave functional AGPL references alone (the AttributionLicenseEngine/PlazaEngine code and deny.toml lists that analyse licence strings, and the anti-AGPL policy text in panel-clades).

Do as a manual, file-by-file, owner-reviewed change (no bulk auto-sweep), per estate licence policy.

Activity

  1. added
    licensingLicences, SPDX headers, REUSE compliance, attribution
    tech-debtKnown shortcut, drift, or hygiene owed - includes cleanup
    on Aug 27, 2026
  2. hyperpolymath commented on Sep 21, 2026

    @hyperpolymath
    OwnerAuthor

    Resolved — every enumerated item already lands clean on main. No PR needed. Closing as completed.

    File-by-file verification audit 2026-09-21 against the issue's lists:

    Item State on main
    18 SPDX files (src/ui/tea/*, migration/modules/*, migration/msg/*) all exist and carry // SPDX-License-Identifier: MPL-2.0
    migration/modules/STATUS.md no longer exists
    tools/pcc/Cargo.toml header # SPDX-License-Identifier: MPL-2.0
    .claude/CLAUDE.md (the ask-first file) now CC-BY-SA-4.0 with a corrected ## License section (Code MPL-2.0; provenance exhibit MPL-2.0) — PMPL content already gone, no owner-blocked edit outstanding
    .machine_readable/6a2/AGENTIC.a2ml MPL-2.0
    PMPL drift zero matches repo-wide for PMPL/AGPL SPDX self-declarations
    Functional AGPL references one kept, correctly: panel-clades/deny.toml:40 licence-deny list (per this issue's own blocker #5)

    The blocker questions (header format, migration/ status) are moot against the current tree — headers across src/, migration/, tools/ uniformly use the SPDX-License-Identifier + SPDX-FileCopyrightText pair. Closing as completed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    licensingLicences, SPDX headers, REUSE compliance, attributiontech-debtKnown shortcut, drift, or hygiene owed - includes cleanup

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions