Skip to content

license: AGPL-3.0 → PolyForm Internal Use 1.0.0#21

Merged
devonartis merged 3 commits into
developfrom
feature/polyform-relicense
Apr 13, 2026
Merged

license: AGPL-3.0 → PolyForm Internal Use 1.0.0#21
devonartis merged 3 commits into
developfrom
feature/polyform-relicense

Conversation

@devonartis

Copy link
Copy Markdown
Owner

⚠️ Draft — not ready to merge. PR 1 of 2 in the license relicense stack. CI must go green before marking ready; PR 2 (SPDX headers on Go source files) is still pending and stacks on top of this branch.

Summary

Relicense from AGPL-3.0 to PolyForm Internal Use License 1.0.0 — source-available, permanent, no sunset — with a dual-license path for commercial-use counterparties.

The AGPL pick from five days ago was made under a misunderstanding that AGPL prevented resale. It does not — "freedom to sell" is a foundational freedom of GPL/AGPL. This PR corrects the license to match the actual intent: free for internal business use, commercial license required for hosted / SaaS / embedded / resale use.

What remains free (unchanged)

Any individual, business, or organization — including for-profit companies — may use and modify AgentWrit for their own internal operations at no cost and without contacting the licensor. Contractors acting on behalf of a permitted user are covered for the duration of their engagement. This is unchanged from the prior AGPL grant and is the baseline for the vast majority of users.

What newly requires a commercial license

  • Hosted or managed-service offerings (SaaS) to third parties — paid or free
  • Embedding AgentWrit in a product you sell or sublicense
  • Resale or redistribution of AgentWrit or modified versions
  • Any third-party access to a running AgentWrit instance, including shared installs across unrelated organizations

Commercial-license contact: licensing@agentwrit.com. Non-commercial / research use (nonprofits, education, mentorship programs, open-source projects, trade groups) is typically granted a free license on request.

Files in this PR

File Change
`LICENSE` Full replacement — AGPL-3.0 → PolyForm Internal Use 1.0.0 canonical text + dual-license header
`README.md` License badge + License section rewritten
`CHANGELOG.md` `### Changed — License: AGPL-3.0 → PolyForm Internal Use 1.0.0` entry under `[Unreleased]`
`Dockerfile` `org.opencontainers.image.licenses` OCI label: `AGPL-3.0-only` → `PolyForm-Internal-Use-1.0.0`
`docs/api/openapi.yaml` `info.license` block updated
`docs/getting-started-operator.md` OCI labels reference updated

SemVer posture

License change, not a behavior change. No wire-format changes. No API changes. Deployed brokers continue to run unchanged. Anyone pinning `v2.0.0` or earlier under AGPL should be aware that subsequent releases ship under PolyForm Internal Use 1.0.0.

Stacked work (PR 2)

Follow-up PR on `chore/spdx-headers-polyform` (stacked on this branch) will add `// SPDX-License-Identifier: PolyForm-Internal-Use-1.0.0` to every Go source file in `internal/` and `cmd/`. Separated from this PR to keep license-semantic review separate from a ~60-file mechanical diff.

Test plan

  • CI green on `feature/polyform-relicense`
  • CodeQL green
  • Manual review: `LICENSE` header reads correctly, dual-license contact matches README
  • Manual review: README License section is scannable
  • Grep repo for residual `AGPL` / `Affero` refs — historical CHANGELOG entries OK, no live config / doc references expected
  • PR 2 (SPDX headers) opened and stacked on this branch after PR 1 is green

Source-available, permanent, no sunset. Internal business use by any
organization (including for-profit) remains free and unchanged. Hosted
or managed-service offerings, redistribution, resale, and embedding
AgentWrit in a sold product now require a commercial license — contact
licensing@agentwrit.com.

- LICENSE: full text replaced with PolyForm Internal Use 1.0.0 canonical
  + dual-license header and commercial-license contact
- README.md: license badge and License section updated with the new
  permit/forbid split and dual-license contact line
- CHANGELOG.md: Changed entry under [Unreleased] documenting the
  relicense, the unchanged free internal-use grant, and SemVer posture
- Dockerfile: org.opencontainers.image.licenses OCI label updated from
  AGPL-3.0-only to PolyForm-Internal-Use-1.0.0
- docs/api/openapi.yaml: info.license block updated
- docs/getting-started-operator.md: OCI labels reference updated

SPDX-License-Identifier: PolyForm-Internal-Use-1.0.0
@devonartis devonartis marked this pull request as ready for review April 13, 2026 17:35
Both checks require GitHub Advanced Security on private repos.
Since the repo is currently private, they fail with "not supported"
errors. continue-on-error surfaces these as warnings (orange) rather
than failures (red) — they are not in the gates-passed chain and
will auto-resolve when the repo flips public.
@devonartis devonartis merged commit 45427af into develop Apr 13, 2026
1 check passed
@devonartis devonartis deleted the feature/polyform-relicense branch April 13, 2026 17:55
devonartis added a commit that referenced this pull request Apr 13, 2026
Every .go file in cmd/ and internal/ (77 files) now carries
// SPDX-License-Identifier: PolyForm-Internal-Use-1.0.0
as its first line, per the PolyForm relicense (PR #21).

CI contamination gate extended with an SPDX header check so
new Go files without the header fail the gate. Mirrored in
scripts/gates.sh for gate parity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant