Back to Flutter Server Box

Individual Contributor License Agreement

CLA.md

1.0.153810.2 KB
Original Source

Individual Contributor License Agreement

Project: Flutter Server Box (ServerBox) Repository: https://github.com/lollipopkit/flutter_server_box Maintainer: lollipopkit ([email protected])

Thank you for your interest in contributing to ServerBox.

This document is the agreement you accept when you contribute. Please read it before you sign — it is short, and it is the only legal paperwork this project asks of you.

Why this agreement exists

ServerBox is released under the GNU Affero General Public License v3. It is also distributed through the Apple App Store and other channels whose terms cannot all be satisfied at the same time as every AGPLv3 condition. Shipping in both places is only possible for a party who holds rights beyond those the AGPLv3 itself conveys.

This agreement grants the Maintainer those rights for your contribution, so your work can ship in the same builds as the rest of the app.

What it does not do:

  • It does not transfer your copyright. You keep it.
  • It does not restrict you. You may use, publish, sell, or relicense your own contribution however you like, in any other project.
  • It does not change the license of the Project. ServerBox stays AGPLv3, and the source of every released version stays public.

If you are not comfortable with this, that is a legitimate position — please open an issue describing the change instead, and it can be implemented independently.

Contributions made before this agreement

This agreement binds what you contribute from the day you sign onward. Nobody is being asked to sign for work that is already merged.

That is not a gap being papered over — it is the order things happened in:

  • 2021-09-13 — the repository starts. Every commit from here to the next entry is the maintainer's own, made under more than one git identity.
  • 2022-01-09 — ServerBox is first released on the App Store.
  • 2022-03-02 — the first contribution by anyone else is merged, after that release.
  • 2022-05-31 — the README gains an App Store badge at the top of the page, where it has been ever since.

The App Store release therefore predates every outside contribution, and from 2022-05-31 onward the App Store link is the first thing the README shows anyone arriving at the project. Contributions have been offered to a project that was visibly, and from the beginning, distributed that way.

The maintainer's position is that work offered on those terms was offered for the project as it was actually being distributed. This agreement exists so that nothing contributed from now on has to rest on that reasoning.

When you do sign, the signature covers your earlier contributions too — the agreement below says "past, present, and future". That is deliberate: it settles the question for everything you have written here, in one comment, rather than leaving your older commits in a different state from your newer ones.

If you have contributed in the past and disagree with any of this, open an issue — that is a conversation worth having rather than an assumption worth making.

Agreement

You accept and agree to the following terms for your past, present, and future Contributions to the Project. Except for the licenses granted in this agreement, you reserve all right, title, and interest in and to your Contributions.

1. Definitions

"You" (or "Your") means the copyright owner, or the legal entity authorized by the copyright owner, that is entering into this agreement with the Maintainer.

"Contribution" means any work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to the Maintainer for inclusion in, or documentation of, the Project. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Maintainer or the Maintainer's representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Maintainer for the purpose of discussing and improving the Project — excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."

"Project" means the ServerBox repository identified above, including the Flutter application, the Rust crates, the monitor service, and any other work distributed from that repository.

Subject to the terms and conditions of this agreement, You hereby grant to the Maintainer and to recipients of software distributed by the Maintainer 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.

The right to sublicense stated above is what permits the Maintainer to distribute the Project — including Your Contribution — under license terms other than the AGPLv3 where a distribution channel requires it.

3. Grant of patent license

Subject to the terms and conditions of this agreement, You hereby grant to the Maintainer and to recipients of software distributed by the Maintainer a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Project, 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 to which such Contribution was submitted.

If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) 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 for that Contribution or Project shall terminate as of the date such litigation is filed.

4. You have the right to grant this license

You represent that You are legally entitled to grant the above licenses.

If Your employer has rights to intellectual property that You create, You represent that You have received permission to make Contributions on behalf of that employer, that Your employer has waived such rights for Your Contributions to the Project, or that Your employer has executed a separate corporate agreement with the Maintainer.

If You are contributing on behalf of a company or other legal entity rather than as an individual, contact the Maintainer at the address above before signing; a separate corporate agreement is required.

5. Your contributions are your own work

You represent that each of Your Contributions is Your original creation.

Should 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, but not limited to, 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]".

Contributions generated with the assistance of AI tools are acceptable, but You remain responsible for the representations in this section: You must be entitled to license the result, and You must disclose any portion You know to be copied from a third-party source.

6. No warranty and no obligation

You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all.

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, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

The Maintainer is under no obligation to accept, merge, or continue to distribute any Contribution.

7. Notify us of anything that changes

You agree to notify the Maintainer of any facts or circumstances of which You become aware that would make these representations inaccurate in any respect.

Signing

You sign by leaving the following comment on your pull request, exactly:

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

An automated check posts this instruction on your first pull request and marks the check as passed once you have signed. You sign once; the signature covers all of your future contributions to this Project.

What gets recorded

Your signature is stored in a JSON file on the cla-signatures branch of this repository, which is public. Each record contains your GitHub username, your numeric GitHub user ID, a UTC timestamp, and where you signed — the pull request number and commit if you signed on a pull request, or a link to the comment if you signed somewhere else and the signature was written down for you. Nothing else is collected: the check never asks for your legal name, address, or email.

To withdraw a signature, open an issue. Withdrawal stops future contributions from being covered; it cannot revoke the licenses already granted for contributions that were merged, which are irrevocable by section 2 and 3 above.

Notes

  • This agreement is adapted from the Apache Software Foundation Individual Contributor License Agreement v2.0, which is itself widely used and reviewed. The substantive changes are the addition of the right to sublicense in section 2 and the removal of the paper signing process.
  • The English text of this document is the authoritative version. Translations are provided for convenience only; where they differ, this text governs. A Simplified Chinese translation is available at CLA_zh.md.
  • The Maintainer may update this agreement. Changes apply to contributions made after the change, and a new signature is requested when the version number of the signature file changes. They never apply retroactively.