mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
chore: license under AGPL-3.0 and add Contributor License Agreement
- Add full AGPL-3.0 LICENSE (canonical GNU text) - Switch README and pyproject.toml from MIT to AGPL-3.0 - Add CLA.md (individual + entity) granting relicensing rights - Add CONTRIBUTING.md explaining workflow and why the CLA exists - Add CLA Assistant GitHub workflow to enforce signing on PRs - Document licensing stance in CLAUDE.md
This commit is contained in:
@@ -0,0 +1,158 @@
|
||||
# RoboCo Contributor License Agreement
|
||||
|
||||
Thank you for your interest in contributing to RoboCo (the "Project"),
|
||||
maintained by Renzo Franceschini (the "Maintainer").
|
||||
|
||||
This Contributor License Agreement ("Agreement") documents the rights granted
|
||||
by contributors to the Maintainer. It applies to individual contributors; an
|
||||
entity-level version is provided in the [Entity CLA](#entity-cla) section
|
||||
below. By signing this Agreement (see [How to sign](#how-to-sign)), You accept
|
||||
and agree to its terms for Your past, present, and future Contributions to the
|
||||
Project.
|
||||
|
||||
> **Note:** This document is provided as a starting point and has not been
|
||||
> reviewed by a lawyer. Before relying on it for a public launch, the
|
||||
> Maintainer should have it reviewed by qualified legal counsel — in
|
||||
> particular the [Governing law](#9-governing-law) section, which must be set
|
||||
> to a chosen jurisdiction.
|
||||
|
||||
## 1. Definitions
|
||||
|
||||
- **"You"** (or **"Your"**) means the individual or legal entity that signs
|
||||
this Agreement.
|
||||
- **"Contribution"** means any original work of authorship, including any
|
||||
modifications or additions to existing work, that You intentionally submit
|
||||
to the Project in any form, including but not limited to source code, object
|
||||
code, documentation, and configuration. It includes any Contribution You
|
||||
have submitted prior to signing this Agreement.
|
||||
- **"Submit"** means any form of communication sent to the Project, including
|
||||
pull requests, patches, issues, and comments, but excluding communication
|
||||
conspicuously marked "Not a Contribution".
|
||||
- **"Maintainer"** means Renzo Franceschini **and the Maintainer's successors
|
||||
and assigns**, including any legal entity that the Maintainer may later form
|
||||
or transfer the Project to.
|
||||
|
||||
## 2. Copyright license grant
|
||||
|
||||
You retain ownership of the copyright in Your Contribution. Subject to the
|
||||
terms of this Agreement, You hereby grant to the Maintainer and to recipients
|
||||
of software distributed by the Maintainer a **perpetual, worldwide,
|
||||
non-exclusive, royalty-free, irrevocable** copyright license to reproduce,
|
||||
prepare derivative works of, publicly display, publicly perform, sublicense,
|
||||
and distribute Your Contribution and such derivative works.
|
||||
|
||||
You further grant the Maintainer the right to **license and re-license Your
|
||||
Contribution under any license terms, including the AGPL-3.0, other
|
||||
open-source licenses, and proprietary or commercial license terms**, and to
|
||||
sublicense these rights through multiple tiers of sublicensees. You
|
||||
acknowledge that this right is what enables the Project to be offered under
|
||||
dual-licensing or commercial terms in the future.
|
||||
|
||||
For clarity, this grant is **in addition to** — and does not limit — the
|
||||
rights You grant to the public when Your Contribution is distributed as part
|
||||
of the Project under its then-current open-source license (currently
|
||||
AGPL-3.0).
|
||||
|
||||
## 3. Patent license grant
|
||||
|
||||
Subject to the terms of this Agreement, You grant to the Maintainer and to
|
||||
recipients of software distributed by the Maintainer a perpetual, worldwide,
|
||||
non-exclusive, royalty-free, irrevocable (except as stated below) patent
|
||||
license to make, have made, use, offer to sell, sell, import, and otherwise
|
||||
transfer Your Contribution, where such license applies only to those patent
|
||||
claims licensable by You that are necessarily infringed by Your Contribution
|
||||
alone or by combination of Your Contribution with the Project. If any entity
|
||||
institutes patent litigation alleging that Your Contribution, or the Project
|
||||
to which You have contributed, constitutes direct or contributory patent
|
||||
infringement, then any patent licenses granted to that entity under this
|
||||
Agreement terminate.
|
||||
|
||||
## 4. Moral rights
|
||||
|
||||
To the fullest extent permitted by applicable law, You waive, and agree not to
|
||||
assert against the Maintainer or its licensees, any moral rights, rights of
|
||||
attribution or integrity, or similar rights You may have in Your Contribution
|
||||
that would otherwise restrict the exercise of the rights granted in Sections 2
|
||||
and 3. Where such rights cannot be waived under applicable law, You agree not
|
||||
to enforce them against the Maintainer, its licensees, or downstream
|
||||
recipients.
|
||||
|
||||
## 5. Third-party materials
|
||||
|
||||
If You wish to submit work that is not Your original creation, You may submit
|
||||
it to the Project separately from any Contribution, identifying the complete
|
||||
details of its source and of any license or other restriction (including
|
||||
related patents, trademarks, and license agreements) of which You are
|
||||
personally aware, and conspicuously marking the work as
|
||||
"Submitted on behalf of a third party: [named here]". Such submissions are not
|
||||
Contributions under this Agreement and are not covered by the grants above.
|
||||
|
||||
## 6. Your representations
|
||||
|
||||
You represent that:
|
||||
|
||||
1. Each of Your Contributions is Your original creation, or You have
|
||||
sufficient rights to grant the licenses in this Agreement.
|
||||
2. You are legally entitled to grant the above licenses. If Your employer has
|
||||
rights to intellectual property You create, You represent that You have
|
||||
received permission to make the Contributions on behalf of that employer,
|
||||
or that Your employer has waived such rights for Your Contributions.
|
||||
3. Your Contribution does not, to Your knowledge, violate any third party's
|
||||
copyrights, trademarks, patents, or other intellectual property rights.
|
||||
4. You will notify the Maintainer of any facts or circumstances of which You
|
||||
become aware that would make these representations inaccurate.
|
||||
|
||||
## 7. Disclaimer
|
||||
|
||||
Unless required by applicable law or agreed to in writing, You provide Your
|
||||
Contributions on an "AS IS" basis, without warranties or conditions of any
|
||||
kind, either express or implied.
|
||||
|
||||
## 8. No obligation
|
||||
|
||||
The Maintainer is under no obligation to accept or use any Contribution. The
|
||||
decision to include a Contribution in the Project is at the Maintainer's sole
|
||||
discretion.
|
||||
|
||||
## 9. Governing law
|
||||
|
||||
This Agreement is governed by and construed in accordance with the laws of
|
||||
**[JURISDICTION — TO BE SET BY THE MAINTAINER, e.g. "Italy" or the relevant
|
||||
country/state]**, without regard to its conflict-of-law provisions. Any
|
||||
dispute arising out of or relating to this Agreement shall be subject to the
|
||||
exclusive jurisdiction of the courts located in that jurisdiction.
|
||||
|
||||
> ⚠️ This placeholder MUST be set to a real jurisdiction before the CLA is
|
||||
> used in production.
|
||||
|
||||
## 10. Entire agreement
|
||||
|
||||
This Agreement is the entire agreement between You and the Maintainer
|
||||
concerning Your Contributions and supersedes any prior agreement on that
|
||||
subject. If any provision is held unenforceable, the remaining provisions
|
||||
remain in full force, and the unenforceable provision will be enforced to the
|
||||
maximum extent permitted by law.
|
||||
|
||||
---
|
||||
|
||||
## Entity CLA
|
||||
|
||||
If You are signing on behalf of a legal entity (e.g., Your employer), the
|
||||
defined term "You" includes that entity and all entities that control, are
|
||||
controlled by, or are under common control with it. The individual signing
|
||||
represents that they are authorized to bind the entity to this Agreement. All
|
||||
other terms above apply unchanged.
|
||||
|
||||
---
|
||||
|
||||
## How to sign
|
||||
|
||||
Signing is automated through the **CLA Assistant** bot:
|
||||
|
||||
1. Open a pull request against the Project.
|
||||
2. The bot will comment on your PR with a link to this Agreement.
|
||||
3. Confirm your agreement by posting the exact comment the bot requests
|
||||
(for example: `I have read the CLA Document and I hereby sign the CLA`).
|
||||
|
||||
Your GitHub username and the signing timestamp are recorded so the signature
|
||||
can be verified on future contributions. This is a one-time action.
|
||||
Reference in New Issue
Block a user