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.
7.4 KiB
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; 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 (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:
- Your employer (or such other entity) has authorized You to submit the Contribution and to grant the licenses in Sections 2 and 3; or
- 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:
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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. - 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.
- 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.