docs: CONTRIBUTING describes the CAA instead of denying a CLA - #496
Merged
Conversation
CONTRIBUTING.md's licence section claimed there is no CLA while .github/workflows/cla.yml holds every pull request red until each human commit author signs a copyright assignment. The section now owns the contributing terms: the exact signing sentence, what the agreement assigns, where the org-wide signature ledger lives, and what happens to a signature the automation cannot record. Each fact sits in one file. CONTRIBUTING.md owns contributing and points at the README for the license; the README owns the user-facing license line and points at CONTRIBUTING.md for the agreement. The section heading is now spelled the American way. The SPDX expression (AGPL-3.0 in the badge and prose against AGPL-3.0-or-later in LICENSE) and the CAA's own wording are the owner's calls, so no legal text moved here. Refs #474 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.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.
Fixes the docs half of #474. Docs only. No code, no legal text, no workflow changed.
What was wrong
docs/CONTRIBUTING.mdended with "Contributions are accepted under those terms. There is no CLA." while.github/workflows/cla.ymlholds every pull request red until each human commit author posts a copyright assignment. A contributor read the guide, opened a pull request, and met a gate the guide denied existed. An assignment is stronger than the CLA the guide denied.What this does
docs/CONTRIBUTING.mdgets a## The Contributor Assignment Agreementsection that states, in order: the check exists and gates the merge, maintainers and bots are allowlisted, you sign once on your first pull request to any Más Bandwidth repository, the exact sentence to post, what the agreement assigns, where the signature ledger lives, and what happens to a signature the automation cannot record (extra text, or posted on an issue) plus therecheckescape hatch. Every fact is read offcla.ymland off CAA.md; the section says the agreement is the authority and the prose is a summary.Each fact sits in the file that owns it.
docs/CONTRIBUTING.mdowns contributing and its short## Licensesection now points atLICENSEand the README instead of restating them.README.mdkeeps the user-facing license paragraph and gains one cross-reference line to the new section. The## Licenceheading is now## License.README-NEW.mdgets the same one-line cross-reference so the in-progress 3.0.0 page does not land without it.Sentences changed
docs/CONTRIBUTING.md:168-172, the whole## Licencesection, replaced by## The Contributor Assignment Agreementand a three-line## License.docs/CONTRIBUTING.md, "The gates a change has to pass": one sentence added, "One more gate is not CI at all. A pull request is not merged until its authors have signed the Contributor Assignment Agreement."README.md:135,README-NEW.md:332: one sentence added, "Contributing is a separate matter. Contributions are made under a Contributor Assignment Agreement, described in CONTRIBUTING.md."For the owner's eye
Legal text was left verbatim. These are the sentences the issue puts on you, quoted, with what I would write beside them.
1. The SPDX expression.
LICENSE:4-7grants more than the badge and the prose claim.LICENSE:4-7: "either version 3 of the License, or (at your option) any later version" — this isAGPL-3.0-or-later.README.md:4:[](LICENSE)README.md:125: "The compiler is AGPL-3.0, and will stay that way."README.md:128: "The compiler is licensed under the GNU Affero General Public License v3.0"docs/FAQ.md:194: "The compiler is AGPL-3.0."docs/SPEC.md:1927: "License: AGPL-3.0, with an explicit additional permission for generated output"Proposed, if the grant is what you want:
AGPL-3.0-or-laterin all five places andlicense-AGPL--3.0--or--laterin the badge. Proposed, if the badge is what you want: strike "or (at your option) any later version" fromLICENSE. One or the other, not both. I changed none of them, since which one is the grant is your call andLICENSEis legal text.2. The CAA names a license this project does not use.
CAA.mdsection 3: "the license the project uses at the time (currently the Más Bandwidth Source License, the MBSL, for most Más Bandwidth libraries)"CAA.md, closing line: "By signing, You agree to assign the copyright in Your Contributions to Más Bandwidth LLC and to have them distributed under the MBSL, on the terms above."A contributor to schema reads the agreement and is told their work goes out under the MBSL, while schema is AGPL. Proposed for the closing line: "...and to have them distributed under the license that project uses, on the terms above." That file is in
mas-bandwidth/.github, not this repo, so nothing here can fix it.3. The relicensing reservation against the permanence promise.
CAA.mdsection 3: "You acknowledge that the Company may relicense the project, including Your Contribution, at its sole discretion."README.md:125: "The compiler is AGPL-3.0, and will stay that way."README.md:132-133: "That grant is intentional and permanent."Both can be true, a promise you make and a right you keep, but a contributor may read the pair as a contradiction. My new sentence in
docs/CONTRIBUTING.mdreports the agreement rather than the promise: "Contributions are assigned under the CAA above, and Más Bandwidth licenses them under the project's license and any other license it chooses (CAA section 3)." Say the word and I will replace it with whatever you want a contributor to be told, or drop the clause.4. My summary of the agreement. The paragraph beginning "Read the agreement before you sign it." compresses CAA sections 2, 4, 5, 6, 7 into six sentences. It is descriptive, and it says the agreement governs, but it is prose about a legal document and you may want to read it as such.
Not in this pull request, deliberately
The issue's third item: the generated-file header carries
SPDX-License-Identifier: NONE, which is not a valid SPDX expression (NOASSERTIONis the idiom). The issue rules that it rides a release that moves the goldens anyway. Same for the compiler sources carrying no SPDX header. The remaining British "licence" spellings indocs/FAQ.md:206,docs/FAQ.md:209,docs/SPEC-TABLES.md:9223and threeinternal/codegen/jstable/comments belong to #402's sweep; only the one in the section rewritten here was fixed.Gates
go test ./compiler/...green, includingcompiler/docs_test.go, the docs-examples gate.make checkgreen.Go untouched, so no other leg applies.
🤖 Generated with Claude Code