Add CLAs and Contribution Guidelines

Add descriptive CLAs for Individual and Corporate contributions. Added a CONTRIBUTING.md file outlining the contribution guidelines, and a contribution CODE OF CONDUCT to accompany these changes. This will be applied across the entire project.

The Github mirrors and email patch contribution address will soon be created and added to the documentation in a separate commit.
This commit is contained in:
zervo 2024-12-14 22:12:58 +01:00
parent 08dd4abe20
commit b256bf8e11
5 changed files with 266 additions and 1 deletions

106
CCLA.md Normal file
View file

@ -0,0 +1,106 @@
# Corporate Contributor License Agreement (CCLA)
Thank you for your interest in contributing to ScheduleTogether (the "Project"). To clarify the intellectual property rights granted with Contributions from any entity, we require all entities contributing to the Project to agree to this Corporate Contributor License Agreement ("Agreement"). This Agreement ensures that the intellectual property of the Project remains protected while allowing your organization to make Contributions.
Please read this Agreement carefully. By submitting a Contribution, the Entity accepts and agrees to the following terms.
---
## **1. Definitions**
**"Entity"** (or "You") shall mean the legal entity agreeing to this Agreement, including its employees, contractors, or agents authorized to submit Contributions on its behalf. "Control" means (i) the power to direct or manage the Entitys operations, whether by contract or ownership, (ii) ownership of 50% or more of the outstanding shares, or (iii) beneficial ownership of the Entity.
**"Contribution"** shall mean any original work of authorship, including modifications or additions to an existing work, that is intentionally submitted by You or Your Authorized Contributors to the Project. "Submitted" means any form of communication (electronic, verbal, or written) sent to the maintainers of the Project, including but not limited to source code, documentation, bug reports, or feedback. Contributions explicitly marked or otherwise designated by You as "Not a Contribution" are excluded.
**"Authorized Contributor"** shall mean any individual who is authorized by the Entity to submit Contributions under this Agreement.
**"Project"** refers to the software, documentation, or related works that are maintained as part of [Project Name].
**"Schedule A"** refers to the list of Authorized Contributors designated by the Entity.
**"Schedule B"** refers to optional concurrent software grants, if any, made by the Entity to the Project.
---
## **2. Grant of Copyright License**
Subject to the terms and conditions of this Agreement, You hereby grant to the maintainers of the Project and recipients of software distributed by the Project a perpetual, worldwide, non-exclusive, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
---
## **3. Grant of Patent License**
Subject to the terms and conditions of this Agreement, You hereby grant to the maintainers of the Project and recipients of software distributed by the Project a perpetual, worldwide, non-exclusive, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, sell, offer to sell, import, and otherwise transfer Your Contributions, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contributions alone or by combination with the Project. If any entity institutes patent litigation (including a cross-claim or counterclaim) against You or any other entity alleging that the Project or Your Contributions infringe a patent, any patent licenses granted to that entity under this Agreement for that Contribution shall terminate as of the date such litigation is filed.
---
## **4. Representations and Warranties**
By submitting a Contribution, You represent that:
1. Each of Your Contributions is an original creation by You or Your Authorized Contributors and does not include any material that infringes the intellectual property rights of any third party.
2. You have the legal right to grant the licenses set forth in this Agreement.
3. If a third party (such as a contractor) owns intellectual property rights to any Contributions, You have obtained the necessary permissions to make Contributions on behalf of that third party.
4. Your Contributions are not subject to any restrictions, licenses, or other obligations that could conflict with the licenses granted under this Agreement.
5. If You submit work that is not Your original creation, You will clearly identify the source and any associated restrictions or licenses.
---
## **5. Responsibility for Authorized Contributors**
You are responsible for ensuring that each Authorized Contributor acting on Your behalf is aware of and agrees to the terms of this Agreement. You agree to maintain an updated list of Authorized Contributors, as specified in Schedule A, and to notify the maintainers of the Project of any changes to this list.
---
## **6. Optional Concurrent Software Grant**
If applicable, You may provide additional software or related works to the Project that are not part of specific Contributions. These grants, if any, will be identified in Schedule B. Such grants are subject to the same licensing terms as outlined in this Agreement.
---
## **7. Entity Retains Ownership**
You retain ownership of the copyright in Your Contributions. This Agreement does not transfer ownership of Your Contributions to the Project or its maintainers.
---
## **8. No Obligation to Use**
The Project maintainers are under no obligation to accept or include Your Contributions in the Project.
---
## **9. Disclaimer of Warranties**
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.
---
## **10. Governing Law**
This Agreement is governed by the laws of the jurisdiction in which the Projects primary maintainer is located, unless otherwise agreed in writing.
---
## **Acceptance**
By submitting a Contribution to the Project, You acknowledge that You have read and agreed to the terms of this Corporate Contributor License Agreement.
Entity Name: ______________________________________________
Authorized Representative Name: ___________________________
Title: ____________________________________________
Date: ________________
Signature (electronic or physical): ____________________________
---
## **Schedule A**
[List of Authorized Contributors]
---
## **Schedule B**
[Optional concurrent software grants, if applicable.]

17
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,17 @@
# Code of Conduct for ScheduleTogether
## Our Commitment
ScheduleTogether is an open-source project created and maintained by a single developer with the aim of fostering innovation while ensuring sustainability. Contributions are welcome and appreciated, provided they align with the projects goals and values.
We are committed to providing a harassment-free, respectful, and professional environment for all contributors and users. This Code of Conduct applies to all community spaces, including issue trackers, discussion forums, and social media interactions.
## Standards of Behavior
Participants in this community are expected to:
- Be respectful and considerate of others.
- Provide constructive feedback and collaborate in good faith.
- Refrain from discriminatory, abusive, or disruptive behavior.
## Enforcement
Instances of unacceptable behavior may be reported to contact@zervo.org. Reports will be reviewed and addressed promptly, with measures taken to ensure community safety.
By participating in ScheduleTogether, you agree to abide by these guidelines.

50
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,50 @@
# Contributing to ScheduleTogether
Thank you for your interest in contributing to ScheduleTogether! Even though this is originally a solo-developed project we still consider contributions to be extremely helpful in the success of this project, and we welcome all contributions that adhere to the following guidelines.
---
## **How to Contribute**
1. **Review the Contribution Guidelines**
- Ensure that your contributions align with the goals and scope of the project.
- All contributions must comply with the AGPL licensing of the project.
2. **Understand the Contributor License Agreements (CLAs)**
- By submitting a contribution, you confirm that you have read and agree to the terms of the relevant CLA:
- [Individual Contributor License Agreement (ICLA)](./ICLA.md) for individual contributors.
- [Corporate Contributor License Agreement (CCLA)](./CCLA.md) for organizations contributing through employees or contractors.
- For individual contributors: By making a contribution, you implicitly agree to the terms of the ICLA.
- For corporate contributors: A signed CCLA is required before any contributions can be accepted. Please have your organization submit a completed agreement to contact@zervo.org.
3. **Choose Your Contribution Method**
The primary source is hosted on our own Forgejo server. Why? We simply prefer it that way. That's it.
However, to make contributing easier we have set up mirrors and alternative methods.
- **Preferred Method: GitHub Pull Requests**
- Fork the GitHub mirror of the repository (WILL ADD MIRROR SOON).
- Create a new branch for your changes and commit your updates with clear, descriptive messages.
- Open a pull request on GitHub with a detailed explanation of your changes and how they align with the projects goals.
- **Alternative Method: Email Patches**
- Generate patches using `git format-patch` and send them to (WILL ADD ADDRESS SOON).
- Include a clear description of your changes and their purpose in the email.
4. **Participate in Code Reviews**
- Be responsive to feedback from maintainers and collaborators.
- Address requested changes promptly and update your pull request as needed.
---
## **Code of Conduct**
All contributors must adhere to the projects [Code of Conduct](./CODE_OF_CONDUCT.md). We are committed to fostering a welcoming and inclusive environment for everyone.
---
## **Need Help?**
If you have questions about contributing, licensing, or anything else, feel free to reach out to us at contact@zervo.org.
We look forward to your contributions and thank you for being part of ScheduleTogether!

80
ICLA.md Normal file
View file

@ -0,0 +1,80 @@
# Individual Contributor License Agreement (ICLA)
Thank you for your interest in contributing to ScheduleTogether (the "Project"). To clarify the intellectual property rights granted with Contributions from any individual, we require all Contributors to agree to the terms outlined in this Contributor License Agreement ("Agreement"). This Agreement protects your rights as a Contributor while enabling us to maintain the legal integrity of the Project. It does not change your rights to use your own Contributions for any purpose.
Please read this Agreement carefully. By submitting a Contribution, you accept and agree to the following terms.
---
## **1. Definitions**
**"You" (or "Your")** shall mean the copyright owner or legal entity authorized by the copyright owner that is entering into this Agreement. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered a single Contributor. For purposes of this definition, "control" means (i) the power to direct or manage the entitys operations, whether by contract or ownership, (ii) ownership of 50% or more of the outstanding shares, or (iii) beneficial ownership of the entity.
**"Contribution"** shall mean any original work of authorship, including modifications or additions to an existing work, that is intentionally submitted by You to the Project. For the purposes of this definition, "submitted" means any form of communication (electronic, verbal, or written) sent to the maintainers of the Project, including but not limited to source code, documentation, bug reports, or feedback. Contributions explicitly marked or otherwise designated by You as "Not a Contribution" are excluded.
**"Project"** refers to the software, documentation, or related works that are maintained as part of [Project Name].
---
## **2. Grant of Copyright License**
Subject to the terms and conditions of this Agreement, You hereby grant to the maintainers of the Project and recipients of software distributed by the Project a perpetual, worldwide, non-exclusive, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.
---
## **3. Grant of Patent License**
Subject to the terms and conditions of this Agreement, You hereby grant to the maintainers of the Project and recipients of software distributed by the Project a perpetual, worldwide, non-exclusive, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, sell, offer to sell, import, and otherwise transfer Your Contributions, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contributions alone or by combination with the Project. If any entity institutes patent litigation (including a cross-claim or counterclaim) against You or any other entity alleging that the Project or Your Contributions infringe a patent, any patent licenses granted to that entity under this Agreement for that Contribution shall terminate as of the date such litigation is filed.
---
## **4. Representations and Warranties**
By submitting a Contribution, You represent that:
1. Each of Your Contributions is an original creation by You and does not include any material that infringes the intellectual property rights of any third party.
2. You have the legal right to grant the licenses set forth in this Agreement.
3. 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, or that Your employer has executed a separate Contributor License Agreement with the Project.
4. Your Contributions are not subject to any restrictions, licenses, or other obligations that could conflict with the licenses granted under this Agreement.
---
## **5. Contributor Retains Ownership**
You retain ownership of the copyright in Your Contributions. This Agreement does not transfer ownership of Your Contributions to the Project or its maintainers.
---
## **6. No Obligation to Use**
The Project maintainers are under no obligation to accept or include Your Contributions in the Project.
---
## **7. Disclaimer of Warranties**
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.
---
## **8. Notifications**
You agree to notify the maintainers of the Project of any facts or circumstances of which You become aware that would make any representations in this Agreement inaccurate.
---
## **9. Governing Law**
This Agreement is governed by the laws of the jurisdiction in which the Project's primary maintainer is located, unless otherwise agreed in writing.
---
## **Acceptance**
By submitting a Contribution to the Project, You acknowledge that You have read and agreed to the terms of this Contributor License Agreement.
Full Name: ______________________________________________
Public Name (if different): _______________________________
Date: ________________
Signature (electronic or physical): ____________________________

View file

@ -1,3 +1,15 @@
# Frontend
Web frontend for ScheduleTogether
Web frontend for ScheduleTogether.
Will expand on this documentation soon.
## Contributions
Even though this is (as of right now) primarily a solo-developed project, any contributions are highly appreciated.
Due to the fact that we host the primary source on our own Forgejo server, contributions have to be made through separate mirrors.
We currently have no interest in migrating the primary source, but it might be considered in the future.
For more details, please see the [Contribution Instructions and Guidelines](./CONTRIBUTING.md).
Thanks!