chore: relicense from AGPL-3.0 to dual MIT OR Apache-2.0 - #150
Conversation
Implements the licensing decision recorded on V2-850: MIT/Apache-2.0 across all WithAutonomi repositories. This repo declared AGPL-3.0 in Cargo.toml and AGPL-3.0-or-later OR Commercial in its headers, while shipping no licence file at all - the headers referenced a LICENSE-AGPL-3.0 that did not exist. Both licence files are now present. - LICENSE-MIT and LICENSE-APACHE added, copyright The Autonomi Foundation S/A - Cargo.toml license key: AGPL-3.0 -> MIT OR Apache-2.0 - README License section: the AGPL/Commercial dual-licensing block replaced with the standard MIT/Apache wording - docs/SECURITY_MODEL.md SPDX identifier - AGENTS.md and CLAUDE.md guidance, which instructed contributors to add AGPL headers to new files - 35 source files. Headers came in three shapes: the AGPL-or-Commercial block (33 files), a longer variant carrying the GPL warranty paragraphs (error.rs, validation.rs), and a separate AGPL-3.0 reference block with an SPDX line (identity/peer_id.rs, identity/node_identity.rs). All replaced with the dual-licence grant and the orphaned warranty paragraphs removed. Per-file copyright attributions are left as "Saorsa Labs Limited" and the authors field is unchanged. Those record who held copyright when the code was written. The new LICENSE files name the Foundation, per V2-850. Verified: cargo check passes, cargo fmt --all --check clean (master was already clean, so the three files fmt touched were from this change), and no AGPL or Affero reference remains outside CHANGELOG.md. Refs V2-849, V2-850 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
a478311 to
15ef043
Compare
|
Merging this without waiting for an approving review. The decision to move to dual This PR is one of 17 applying that decision across the org. There is no code change to review: licence files, package metadata, and licence-grant comment headers only. The substantive question here was the licensing choice itself, and that has been settled off the PR rather than in it. Flagging it explicitly so the merge without a review is on the record rather than looking like an oversight. |
Linear issue
V2-849 (rollout) / V2-850 (the licensing decision)
Risk tier
Compatibility
Semver impact
Test evidence
cargo checkpasses andcargo fmt --all --checkis clean. No source logic was changed — only licence-grant comment headers and package metadata.New dependency
none
ADR
n/a
Mitigation / rollback
Revert the PR to restore the previous licence terms in the repository. Note that reverting does not retract a grant already made: anyone who took a copy while the permissive licence was published keeps those rights for that copy. This is inherent to relicensing, not to this change.
What changed
Implements the licensing decision on V2-850 —
MIT OR Apache-2.0across all WithAutonomi repositories, moving off copyleft so anyone can build on the code, including in proprietary work.LICENSE-MITandLICENSE-APACHEadded at the repo root, copyright The Autonomi Foundation S/A.Relicensed from AGPL-3.0 plus a commercial licence. Headers read
AGPL-3.0-or-later OR Commercialwith commercial enquiries directed to david@saorsalabs.com, and the README described the same dual model. Under MIT/Apache-2.0 there is nothing a commercial licence would grant that the permissive licence does not already give away, so that arrangement goes.It also shipped no licence file at all — headers pointed at a
LICENSE-AGPL-3.0that did not exist in the repo.35 source files across three header shapes: the AGPL-or-Commercial block (33 files), a longer variant carrying GPL warranty paragraphs (
src/error.rs,src/validation.rs), and a separate AGPL reference block with its own SPDX line (src/identity/peer_id.rs,src/identity/node_identity.rs). Orphaned "GNU Affero General Public License" warranty paragraphs were removed too.Also updated:
README.md, the SPDX identifier indocs/SECURITY_MODEL.md, andAGENTS.md/CLAUDE.md— both instructed contributors to put AGPL headers on new files, so leaving them would have reintroduced AGPL headers on everything new.Per-file copyright attributions were left as they are throughout — they record who held copyright when the code was written. Only the licence grant text changed.