← board

Adopt MPL 2.0 (compiler) + zlib (runtime/libs) — licensing rollout

Decision (final)

Implementation checklist

  1. Replace LICENSE.md placeholder: MPL 2.0 full text as LICENSE, plus a short LICENSE.md overview table mapping directories to licenses, with zlib/0BSD/CC-BY texts under licenses/.
  2. SPDX header line in every source file ({ SPDX-License-Identifier: MPL-2.0 } in .pas/.inc; /* SPDX-License-Identifier: Zlib */ in crtl C) — one line per file instead of a full license block; machine-readable for GitHub and license scanners. Script the sweep; headers are comments, but verify make test + self-host byte-identical after (that is the gate).
  3. Update README.md License section (currently says "no license yet").
  4. Add DCO text (docs/CONTRIBUTING.md or repo root) — Track D wording pass. Enforce sign-off (Signed-off-by:) on external PRs from day one.
  5. Website license page (Track D, when the site work starts).

Acceptance

LICENSE files in place, SPDX headers repo-wide, README/docs consistent, make test + self-host green after the header sweep, board regenerated.

Done (2026-07-02)

Addendum (2026-07-02): contributor license grant

User decision: pull requests additionally require a contributor license grant — contributor keeps copyright but grants the maintainer an irrevocable license including the right to RELICENSE, so the project can move off MPL 2.0 if it ever creates problems (no intention to, but the option must not depend on chasing past contributors). Implemented as a grant (not a waiver/assignment — waivers are unenforceable in several jurisdictions) in CONTRIBUTING.md; LICENSE.md references it. GitHub-side DCO enforcement + CI-before-compiler-PRs remain future work when contributions actually open up.