Files
infiplot-web/CLA.md
T
yuanzonghao 2b0b9c6f8d 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.
2026-06-17 12:23:46 +08:00

146 lines
7.4 KiB
Markdown

# Contributor License Agreement — InfiPlot
Thank you for your interest in contributing to InfiPlot ("the Project"). This
Contributor License Agreement ("CLA") governs the rights you grant to the
Project maintainers for your Contributions. **By signing this CLA, you confirm
that you have read and agree to its terms.** A non-binding Chinese translation
is available in [`CLA.zh.md`](./CLA.zh.md); in the event of any conflict, this
English version controls.
This CLA is version **1.0**.
## 1. Definitions
- **"You"** (or **"Contributor"**) means the individual who submits a
Contribution to the Project and signs this CLA. If You are submitting a
Contribution on behalf of Your employer, the terms of Section 4 (Employer
Authorization) also apply.
- **"We"** (or **"the Project maintainers"**) means the maintainers of the
InfiPlot project — the individuals and entities authorized to administer the
Project, including the right to use Contributions as described in this CLA.
- **"Contribution"** means any original work of authorship, including any
modification or addition to the existing source code, documentation, assets,
or other materials, that is intentionally submitted by You to the Project.
For the avoidance of doubt, this includes submissions made electronically
(via pull request, commit, issue, comment, or any other channel) as well as
any code, text, or other content submitted for inclusion in the Project.
- **"Project"** means the InfiPlot software and all related repositories and
materials maintained by Us.
## 2. Copyright License
Subject to the terms of this CLA, You hereby grant to Us and to the recipients
of software distributed by Us a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
derivative works of, publicly display, publicly perform, sublicense, and
distribute Your Contributions and such derivative works.
Without limiting the foregoing, this license expressly permits Us to use,
modify, and distribute Your Contributions under the terms of the
[GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.html)
(under which the Project is currently distributed) **and** under any other
license terms of Our choosing, including proprietary, closed-source, or
commercial license terms. This is the primary purpose of this CLA.
## 3. Patent License
Subject to the terms of this CLA, You hereby grant to Us and to the recipients
of software distributed by Us a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable (except as stated in Section 6) patent
license to make, have made, use, offer to sell, sell, import, and otherwise
transfer the Contribution, where such license applies only to those patent
claims licensable by You that are necessarily infringed by Your
Contribution(s) alone or by combination of Your Contribution(s) with the
Project to which such Contribution(s) was submitted.
## 4. Employer Authorization
You represent that, if Your Contribution was created in the course of Your
employment, or if Your employer (or any entity other than You) might have any
rights, title, or interest in Your Contribution (for example, because You used
employer-owned equipment, resources, or time), then one of the following is
true:
1. Your employer (or such other entity) has authorized You to submit the
Contribution and to grant the licenses in Sections 2 and 3; **or**
2. Your Contribution is not subject to the intellectual property rights of
Your employer (or any such other entity) — for example, because the work
was done entirely on Your own time, using only Your own resources, and
outside the scope of Your employment.
If We request it, You agree to provide written confirmation of the applicable
authorization from Your employer (or such other entity) in a form acceptable
to Us. You acknowledge that, where an employer (or any entity other than You)
may have rights in a Contribution, We may decline to accept it until suitable
authorization is provided.
## 5. Your Representations and Warranties
You represent that:
1. Each of Your Contributions is entirely Your original work (or, if not, has
been submitted to the Project with appropriate attribution and under a
license compatible with this CLA), and You have the right to submit it.
2. To the best of Your knowledge, each Contribution does not infringe the
intellectual property rights (including, without limitation, copyright and
patent rights) of any third party.
3. You are legally entitled to grant the licenses set out in Sections 2 and 3,
and no other agreement, obligation, or restriction (including, without
limitation, any employment agreement or open-source license) prevents You
from doing so.
You provide Your Contributions **"as is"** and, except for the express
representations and warranties in this CLA, You make no other representations
or warranties of any kind, whether express or implied.
## 6. Withdrawal and Revocation
You may revoke this CLA, or the patent license granted in Section 3, by giving
Us written notice (by email to **hi@infiplot.com**). Any such revocation takes
effect **only as to Contributions You submit after** the date We receive Your
notice, and does not affect any Contribution You submitted before that date or
the rights already granted in any such Contribution.
## 7. Disclaimer
EXCEPT FOR THE EXPRESS REPRESENTATIONS AND WARRANTIES IN THIS CLA, YOUR
CONTRIBUTIONS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT WILL YOU BE
LIABLE TO US OR TO ANY OTHER PARTY FOR ANY DAMAGES, WHETHER DIRECT, INDIRECT,
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL, ARISING OUT OF OR RELATED TO THIS CLA
OR YOUR CONTRIBUTIONS.
## 8. Miscellaneous
1. **No obligation.** Nothing in this CLA obligates Us to accept or use any
Contribution, or to distribute any version of the Project that includes
Your Contribution.
2. **Retention of rights.** This CLA grants Us a license to Your
Contributions; it does not transfer ownership of Your copyright or patent
rights to Us. You retain all right, title, and interest in and to Your
Contributions, subject to the licenses granted here.
3. **Entire agreement.** This CLA, together with any terms referenced herein,
constitutes the entire agreement between You and Us regarding the subject
matter hereof and supersedes any prior agreements on that subject.
4. **Modifications.** We may publish a new version of this CLA from time to
time (for example, `version-2`). When We do, the new version will apply to
Contributions You submit after it takes effect; Contributions You submitted
under a prior version remain governed by that prior version.
5. **Severability.** If any provision of this CLA is held to be unenforceable
or invalid, that provision will be limited or eliminated to the minimum
extent necessary, and the remaining provisions will remain in full force.
6. **Governing law.** This CLA is governed by the laws applicable to the
Project maintainers' jurisdiction, without regard to its conflict-of-laws
principles.
## 9. Contact
If You have any questions about this CLA, contact Us at **hi@infiplot.com**.
---
_By signing this CLA (for example, by replying to a pull request with the
phrase "I have read the CLA Document and I hereby sign the CLA"), You confirm
that You have read, understood, and agree to be bound by its terms._