docs: publish the Contributor License Agreement CONTRIBUTING has promised - #420
Open
abrichr wants to merge 1 commit into
Open
docs: publish the Contributor License Agreement CONTRIBUTING has promised#420abrichr wants to merge 1 commit into
abrichr wants to merge 1 commit into
Conversation
…ised openadapt-web/CONTRIBUTING.md and openadapt-ops/CONTRIBUTING.md have pointed external contributors at openadapt-flow/CLA.md since 2026-07-20. The file has never existed, and this repository documented neither a CLA nor a DCO sign-off. Add CLA.md (individual) and CCLA.md (corporate), both adapted from the Apache Software Foundation CLAs V2.0, and a licensing section in CONTRIBUTING.md that requires a DCO sign-off now and describes how the CLA is signed. Assent is by signature, never by implication. Opening a pull request does not sign the agreement. Requires review by qualified legal counsel before it is relied upon. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Richard Abrich <richard.abrich@mldsai.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.
Read this first: a lawyer has to sign off before anyone relies on it
Neither the author of this PR nor its reviewer is a lawyer.
CLA.mdandCCLA.mdare adapted from a standard template, not written from scratch, butadapting a template is still a legal act. Please route both files to counsel
before the CLA check is turned on anywhere. Three specific questions for them
are listed at the bottom.
What was wrong
openadapt-web/CONTRIBUTING.mdandopenadapt-ops/CONTRIBUTING.mdhave saidthis since 2026-07-20:
There is no
CLA.mdin this repository. There never has been. Contributors weretold they had agreed to a document that didn't exist, and this repository
documented neither a CLA nor a DCO sign-off of its own.
openadapt-webalready knew.scripts/check_github_link_anchors.mjscarries thedead link in a hard-coded exceptions list, with the note that publishing a CLA or
dropping the claim "is a licensing decision".
Who was affected: nobody, as it happens
Checked before writing anything:
openadapt-webopenadapt-opsopenadapt-flowabrichror dependabotOpenAdaptNo external pull request is open in any of the four right now. So the false claim
bound zero people, and there's no one to go back to. See the recommendation
below.
What this PR adds
CLA.md— Individual CLA, adapted from the Apache Software FoundationIndividual Contributor License Agreement V2.0
(https://www.apache.org/licenses/icla.pdf).
CCLA.md— Corporate CLA, adapted from the Apache Corporate CLA V2.0(https://www.apache.org/licenses/cla-corporate.txt), with Schedule A for
designated employees.
CONTRIBUTING.md— a licensing section this repo didn't have: DCO sign-offrequired now, CLA published, and a plain statement of how assent works.
Grant clauses 2 through 8 are the Apache text with "the Foundation" replaced by
"the Company". Four deliberate changes, each flagged in a note at the top of
each file:
or inconsistent with its nonprofit status" is gone. MLDSAI Inc. isn't a
nonprofit. In its place is a sentence saying the Company ships both open
source and proprietary software, may use a Contribution in either, and may
relicense the Work on terms of its choosing. That's the honest version, and
it's the clause counsel should read hardest.
signature covers the whole org rather than one repo.
moment they sign. Once they sign, it reaches their earlier contributions too,
which is what the Apache "present and future Contributions" wording does.
openadapt.ai/terms-of-service.
Why a CLA and not just the DCO
The DCO is the lighter instrument and it's already in place in three of the four
repos. It should stay. But it certifies provenance; it doesn't grant anything.
MIT inbound already lets the company use contributions in proprietary products,
so the open-core model on its own does not require a CLA. The CLA earns its
friction on two other things:
patent license with defensive termination. For a company selling automation
into regulated buyers who run IP diligence, that's worth having.
world persists and its notice requirements travel with the code. A direct
broad license to the company is what makes a later relicense of the combined
work clean.
SOURCE_AVAILABILITY_BOUNDARY.mdsection 6 already names this asthe reason a CLA is preferred, while explicitly not taking the BSL decision
now.
The friction cost is real and it's usually the argument against. Here it's close
to zero: external contribution flow is currently nil across all four repos.
How assent is actually captured
Not by opening a pull request. That claim is removed everywhere in the companion
PRs, and both agreements say signature is never implied.
Assent is by signature, in one of two ways: the automated CLA check once it's
enabled, or an email to hello@openadapt.ai. Until the check is enabled, the DCO
and the MIT License are what govern a contribution, and
CONTRIBUTING.mdnowsays exactly that in each repo. Enabling the CLA Assistant GitHub App remains a
founder action per
SOURCE_AVAILABILITY_BOUNDARY.mdsection 8.Recommendation on the past
Leave past contributions where they are, under the MIT License they were
submitted under and the DCO. Don't chase anyone. The evidence above is that the
phantom claim covered no external contributor in the two repos that made it, and
the repo with real external history never made the claim. Section 9 is written
so nobody can read the new document as retroactive.
Companion PRs
Three repos carry a CLA claim that has to change with this one:
CCLA link, and updates the two known-dead-link entries in
check_github_link_anchors.mjsCONTRIBUTING.mdadopted" with the published-but-not-enforced state
Merge this one first. The other three link to
openadapt-flow/blob/main/CLA.md, and the web link checker fails on a 404 onceits exception entries come out. Deleting those two entries is the one follow-up
after this merges.
Three questions for counsel
recipients of software distributed by the Foundation". Kept verbatim with
"the Company" substituted. Is the recipients half right for a for-profit that
also ships proprietary builds, or should the grant run to the Company alone?
the Company's choosing) sufficient disclosure, or does a Canadian for-profit
want that as a numbered clause with its own consent step?
every signature go through a signature service from the start? A dedicated
legal@openadapt.aialias doesn't exist yet;hello@is what the documentspoint at today.
🤖 Generated with Claude Code