chore: relicense from MIT to AGPLv3 with proprietary dual-licensing#147
Merged
Conversation
Per ADR-0009, the open-source distribution moves from MIT to the GNU AGPLv3 so a third party cannot run a closed-source hosted fork (AGPLv3 section 13 closes the network-use loophole MIT leaves open). Copyright is held solely by the owner, who reserves a proprietary dual-licensing path for a planned closed-source SaaS; future contributions require the CLA to keep that path clean. This supersedes ADR-0006's broad-adoption posture, trading some adoption breadth for moat protection. Forward-only: code already published under MIT stays under MIT. LICENSE is the verbatim FSF AGPLv3 text; the copyright assertion and the dual-licensing terms live in the README. No per-file headers (the single-root LICENSE convention is retained). This session's history-maintenance dev-mode audit entries in overrides.log also land here, since that work was a history rewrite with no work commit of its own. CHANGELOG: codeArbiter is now licensed under AGPLv3 (previously MIT) as of v2.6.0. Proprietary/commercial licensing is available from the copyright holder; future contributions require a CLA. The license change is forward-only. Ref: ADR-0009 Claude-Session: https://claude.ai/code/session_01QaLw7nTrRbHwygFar2R6zu
This was referenced Jun 27, 2026
SUaDtL
added a commit
that referenced
this pull request
Jun 27, 2026
* docs(changelog): roll the 2.6.0 release notes Reconcile the [2.6.0] CHANGELOG section for the release: broaden the intro beyond the farm work, add context-drift provenance (#145) and file-scoped context injection (#146) under Added, note the MIT to AGPLv3 relicense (#147, ADR-0009) under Changed, and add a Fixed section for #143, #139, and #138. Dated 2026-06-27. Also flips v2.feature.0001 to done now that file-scoped context injection has shipped and merged; the flip rides this release commit per ADR-0008. No version bump: plugin.json is already 2.6.0 and the ca-scoped commit window is unchanged. The relicense and docs commits touch no plugins/ca/ payload. Claude-Session: https://claude.ai/code/session_01QaLw7nTrRbHwygFar2R6zu * docs(license): reserve the dual-licensing right without offering it yet Soften the README "Commercial licensing" wording. The prior text implied proprietary licenses were actively on offer; the intent is narrower: the owner retains sole ownership and reserves the right to dual-license, but is not offering commercial licenses at this time. Inquiries may still be sent through GitHub and will be considered if and when a commercial path is established. The legal substance is unchanged. AGPLv3 plus sole copyright already secures the right; this only corrects the public statement so it does not overstate an active commercial offering. ADR-0009, the CLA, and the CHANGELOG already use the reserves-the-right framing, so no other file changes. Claude-Session: https://claude.ai/code/session_01QaLw7nTrRbHwygFar2R6zu --------- Co-authored-by: SUaDtL <SUaDtL@users.noreply.github.com>
SUaDtL
added a commit
that referenced
this pull request
Jun 27, 2026
…ons (2.6.1) (#151) * fix(release): roll changelog into the bracket heading form Phase 1 of the release skill instructed rolling the new section under a bare `## v<version>` heading, but the repo's CHANGELOG.md -- and every prior GitHub Release -- uses the Keep-a-Changelog `## [<version>]` form, which is also the form the _releaselib notes/date guards (hardened in #150) now match. The roll prose was the last spot still naming the bare-v form, so a literal reading would have written a heading the guards don't recognize. Aligns the roll instruction to the bracket form and pins it with a SkillProseTest assertion. The version bump rides this commit because the change touches the published `plugins/ca/` payload (the version-bump gate requires it). CHANGELOG: the /ca:release skill now documents the Keep-a-Changelog `## [X.Y.Z]` changelog heading, matching the repo convention and the hardened release guards. Claude-Session: https://claude.ai/code/session_015tNUy37dx7DJGDzmVUB8Wf * fix(license): align manifest + README with the AGPLv3 relicense Two declarations were left stale after the relicense (#147/#149, ADR-0009): - plugins/ca/.claude-plugin/plugin.json still declared "license": "MIT" -- the machine-readable field plugin registries display. Now AGPL-3.0-only, matching the LICENSE file and the README badge. SPDX -only per the v3, no-or-later grant the docs and ADR state (per-file headers were explicitly declined). - The top-of-README License notice still carried the pre-#149 "available separately" offering wording; #149 corrected only the detailed Dual-Licensing section and left this callout. Now uses the same reserves-the-right / not-offered-at-this-time framing as that section. CHANGELOG: the plugin manifest now declares AGPL-3.0-only (was a stale MIT), and the README license notice no longer implies commercial licenses are on offer. Claude-Session: https://claude.ai/code/session_015tNUy37dx7DJGDzmVUB8Wf --------- Co-authored-by: SUaDtL <SUaDtL@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Relicenses the open-source distribution of codeArbiter from MIT to the GNU AGPLv3 and records the dual-licensing posture. Implements ADR-0009, which supersedes ADR-0006.
Why
MIT lets a third party run a closed-source hosted fork with no reciprocity. AGPLv3 section 13 closes that network-use loophole, so a hosted fork must offer its source. Sole copyright ownership preserves a clean proprietary dual-license for a planned closed-source SaaS. The project stays open source (AGPLv3 is OSI-approved); what changes is the reciprocity strength of the license and the addition of a commercial path. This trades some adoption breadth (AGPL is banned in many enterprises) for moat protection, a tradeoff weighed and chosen by the owner.
Changes
## Licensesection explaining AGPLv3 and the forward-only transition; a new## Dual-Licensing & Contributionssection (open-source AGPLv3, commercial licensing via GitHub, CLA-required contributions). Also fixes a now-broken link to the deletedarchive/v1branch.Notes
SUaDtLfor now. A real legal entity is to be set up before any commercial license is granted..codearbiter/, notplugins/ca/**, so the plugin payload version is unchanged.Review and test plan
coverage-auditoris not applicable (nothing testable in a license/docs change).Ref: ADR-0009