Skip to content

legal: add a contributor licence agreement - #46

Merged
basb7 merged 1 commit into
mainfrom
legal/contributor-license-agreement
Sep 1, 2026
Merged

legal: add a contributor licence agreement#46
basb7 merged 1 commit into
mainfrom
legal/contributor-license-agreement

Conversation

@basb7

@basb7 basb7 commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Keeps a door open that closes by itself.

Why now, specifically

There are zero external contributors todaygit log shows one author across both repos. And the project was just publicly opened to them.

Relicensing needs every contributor's agreement, because each owns the copyright in their own work. At three contributors that is an afternoon of email. At fifty, spread over years, with old addresses and changed jobs, it is a permanent no.

Asking today costs one comment. Not asking forecloses an option that cannot be recovered — and the window is open right now for as long as nobody has contributed yet.

What it does and does not do

Flagward is MIT and means to stay open source. This does not change that.

  • Contributors keep their copyright. No assignment, no exclusivity, no claim on anything they write elsewhere.
  • What they grant is a licence broad enough — crucially including the right to sublicense — that the project can be relicensed later if it has to be: to a copyleft licence, or to offer a commercial licence alongside the open one.

Licence grant rather than copyright assignment is a deliberate choice. Asking people to sign away ownership deters them, and in several jurisdictions it is awkward to execute. The sublicense right achieves the same outcome without it.

Adapted, not drafted

Straight from the Apache Software Foundation ICLA v2.0, lightly adapted.

Two reasons: a contributor should be able to recognise what they are signing, and legal text is the worst possible place to be original. The document says so, and says out loud that it has not been reviewed by a lawyer for this project.

How signing works

One comment on a first pull request:

I have read the CLA document and I hereby sign the CLA

Once, not per pull request. Wired into three places so it is met rather than looked for: CONTRIBUTING.md's table of contents, step 8 of the pull request process, and the PR template checklist.

The SDK is called out on purpose

CLA.md states that the React SDK stays permissive regardless of what the server does.

An SDK is linked into its users' own applications. A copyleft licence there would reach into code that is not ours to license — it would not protect the project, it would just make the package unusable. Flagsmith draws the same line: platform BSD-3, SDKs MIT.

Recommended follow-up, not included here

Signature collection is currently manual. CLA Assistant is the usual GitHub App for it — it comments on new pull requests, records who has signed, and blocks the merge until they have. Installing a third-party app on the repository is your call, not something to slip into a docs PR.

Verification

Docs and template only — no code. git status shows CLA.md (new), CONTRIBUTING.md, .github/PULL_REQUEST_TEMPLATE.md. Relative links to LICENSE and CLA.md resolve. pytest 592 passed, unchanged.

🤖 Generated with Claude Code

The project is MIT and means to stay open source. This does not change that
and asks nobody to give up ownership: contributors keep the copyright in
their work and grant a licence broad enough -- including the right to
sublicense -- that the project can be relicensed later if it has to be.

The reason it lands now is that the option has to be kept open now or not at
all. Every contributor owns the copyright in their own contribution, so
relicensing needs all of them to agree. At three contributors that is an
afternoon of email. At fifty, spread over years, with old addresses and
changed jobs, it is a permanent no. There are currently zero external
contributors and the project was just publicly opened to them.

Adapted from the Apache Software Foundation ICLA v2.0 rather than drafted
here: a contributor should recognise what they are signing, and legal text is
the worst possible place to be original. Licence grant, not copyright
assignment -- asking people to sign away ownership deters them, and in
several jurisdictions it is awkward to do.

Signing is one comment, once, covering every later contribution. Wired into
CONTRIBUTING's table of contents, the pull request process, and the PR
template checklist so it is met rather than looked for.

Notes explicitly that the React SDK stays permissive regardless of what the
server does: an SDK is linked into its users' own applications, and copyleft
there would reach into code that is not ours to license.
@basb7
basb7 merged commit d03ca2e into main Sep 1, 2026
2 checks passed
@basb7
basb7 deleted the legal/contributor-license-agreement branch September 1, 2026 15:53
@basb7 basb7 mentioned this pull request Sep 1, 2026
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