docs: propose ADR 0051 module package licensing #73

Merged
Zayin_Admin merged 1 commits from docs/adr-0051-module-package-licensing into main 2026-10-07 23:29:19 +00:00
Member

Summary

Propose ADR 0051: Module packages declare their own license and carry its text.

The ADR amends Module Package v1 so that a future implementation will:

  • require one authoritative SPDX expression in ekklesia.package.json
  • require a deterministic LICENSE payload listed and hashed like every other file
  • require explicit source license metadata and license-text input without network downloads or implicit parent-repository inference
  • keep THIRD_PARTY_NOTICES separate for third-party components
  • retain incorporates for bundled Ekklesia components without duplicating identical AGPL text
  • keep the generated runtime package.json minimal
  • keep packageFormat: 1

Format compatibility finding

ADR 0049's strict schema does not require format 2. ADR 0049 explicitly withheld distributable-release status until licensing was proven, so this is a coordinated fail-closed tightening before the first distributable v1 release: old readers reject the unknown field, and updated readers reject pre-license artifacts.

Verification

  • pnpm verify
  • formatter check
  • ADR 0051 uniqueness check
  • local ADR link resolution check
  • stale/conflicting licensing-language search

Scope

ADR-only: the new Proposed ADR and the ADR index. No contracts, packager, verifier, template, Signage, image, marketplace, installer, THIRD_PARTY_NOTICES generation, ADR 0049, ADR 0050, or package-format implementation changes.

## Summary Propose ADR 0051: Module packages declare their own license and carry its text. The ADR amends Module Package v1 so that a future implementation will: - require one authoritative SPDX expression in `ekklesia.package.json` - require a deterministic `LICENSE` payload listed and hashed like every other file - require explicit source license metadata and license-text input without network downloads or implicit parent-repository inference - keep `THIRD_PARTY_NOTICES` separate for third-party components - retain `incorporates` for bundled Ekklesia components without duplicating identical AGPL text - keep the generated runtime `package.json` minimal - keep `packageFormat: 1` ## Format compatibility finding ADR 0049's strict schema does not require format 2. ADR 0049 explicitly withheld distributable-release status until licensing was proven, so this is a coordinated fail-closed tightening before the first distributable v1 release: old readers reject the unknown field, and updated readers reject pre-license artifacts. ## Verification - `pnpm verify` - formatter check - ADR 0051 uniqueness check - local ADR link resolution check - stale/conflicting licensing-language search ## Scope ADR-only: the new Proposed ADR and the ADR index. No contracts, packager, verifier, template, Signage, image, marketplace, installer, THIRD_PARTY_NOTICES generation, ADR 0049, ADR 0050, or package-format implementation changes.
ekklesia-bot added 1 commit 2026-10-07 23:22:14 +00:00
docs: propose ADR 0051 module package licensing
CI / verify (pull_request) Successful in 1m5s
CI / infrastructure-smoke (pull_request) Successful in 36s
CI / migration-smoke (pull_request) Successful in 1m54s
CI / image-build (pull_request) Successful in 23s
CI / deploy-smoke (same-origin) (pull_request) Successful in 41s
CI / deploy-smoke (split) (pull_request) Successful in 1m29s
1c7755d320
Zayin_Admin merged commit 30f61094e6 into main 2026-10-07 23:29:19 +00:00
Zayin_Admin deleted branch docs/adr-0051-module-package-licensing 2026-10-07 23:29:19 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Zayin/Ekklesia#73