feat(repo): add CLA mechanism for external contributors

Introduce a Contributor License Agreement (CLA) so external contributions
can be licensed under AGPL-3.0 and any other terms (incl. closed-source),
keeping the AGPL-3.0 codebase usable in closed-source projects.

- CLA.md: authoritative English CLA (ICLA + employer authorization, v1.0)
- CLA.zh.md: non-binding Chinese reference translation
- CONTRIBUTING.md: bilingual contributing guide, points to CLA
- .github/workflows/cla.yml: self-hosted cla-assistant-action that records
  signatures into cla-signatures/version-1.json; exempts maintainers & bots
  via allowlist; skips when CLA_BOT_TOKEN is unset
- .github/PULL_REQUEST_TEMPLATE.md: guides contributors to sign
- README.{md,en.md,ja.md}: add License & contributing footer
- app/terms: note CLA requirement in the IP section

Enforcement requires repo-level setup (PAT secret + branch protection)
documented in cla.yml; not covered by this commit.
This commit is contained in:
yuanzonghao
2026-06-17 12:23:46 +08:00
parent 98d8e83c92
commit 2b0b9c6f8d
9 changed files with 524 additions and 0 deletions
+18
View File
@@ -97,6 +97,24 @@ export default function TermsPage() {
<p className="mt-3">
</p>
<p className="mt-3">
CLA GitHub {" "}
<a
href="https://github.com/zonghaoyuan/infiplot/blob/staging/CLA.md"
target="_blank"
rel="noopener noreferrer"
className="text-ember-500 hover:text-ember-400 transition-colors underline decoration-clay-900/20 underline-offset-2"
>
CLA.md
</a>
<a
href="https://github.com/zonghaoyuan/infiplot/blob/staging/CLA.zh.md"
target="_blank"
rel="noopener noreferrer"
className="text-ember-500 hover:text-ember-400 transition-colors underline decoration-clay-900/20 underline-offset-2"
>
</a>
</p>
</section>
<section>