CLA.md
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.
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:
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.
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:
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.
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.
"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.
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.
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.
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.
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.
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.
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.
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.