diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 000000000..90adde4af --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,42 @@ +name: "CLA Assistant" +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened,closed,synchronize] + +permissions: + actions: write + contents: write + pull-requests: write + statuses: write + +jobs: + CLAAssistant: + runs-on: ubuntu-latest + steps: + - name: "CLA Assistant" + if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target' + uses: contributor-assistant/github-action@v2.3.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # the below token should have repo scope and must be manually added by you in the repository's secret + # This token is required only if you have configured to store the signatures in a remote repository/organization + PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_PERSONAL_ACCESS_TOKEN }} + with: + path-to-signatures: 'signatures/version1/cla.json' + path-to-document: 'https://github.com/forem/forem/blob/main/cla.md' + # branch should not be protected + branch: 'main' + allowlist: dependabot[bot],depfu[bot] + + # the followings are the optional inputs - If the optional inputs are not given, then default values will be taken + #remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository) + remote-repository-name: ${{ secrets.CLA_REPOSITORY }} + #create-file-commit-message: 'For example: Creating file for storing CLA Signatures' + #signed-commit-message: 'For example: $contributorName has signed the CLA in $owner/$repo#$pullRequestNo' + #custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign' + #custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA' + #custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.' + #lock-pullrequest-aftermerge: false - if you don't want this bot to automatically lock the pull request after merging (default - true) + #use-dco-flag: true - If you are using DCO instead of CLA diff --git a/CLA.md b/CLA.md new file mode 100644 index 000000000..cf6e6978e --- /dev/null +++ b/CLA.md @@ -0,0 +1,111 @@ +Contribution License Agreement + +This Contribution License Agreement (“Agreement”) is agreed to by the party +signing below (“You”), and conveys certain license rights to Dev Community Inc. +and its affiliates (“DEV”) for Your contributions to DEV open source projects. +This Agreement is effective upon Your acknowledgment via the CLA Assistant tool. +All prospective contributors to DEV open source projects must sign this +Agreement (digitally or otherwise) before any changes will be merged. + +1. Definitions. + +“Code” means the computer software code, whether in human-readable or +machine-executable form, that is delivered by You to DEV under this Agreement. + +“Project” means any of the projects owned or managed by DEV in which software is +offered under a license approved by the Open Source Initiative (OSI) +(www.opensource.org) and/or documentation offered under an OSI or a Creative +Commons license (https://creativecommons.org/licenses). + +“Submit” is the act of uploading, submitting, transmitting, or distributing code +or other content to any Project, 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 Project for the purpose of +discussing and improving that Project, but excluding communication that is +conspicuously marked or otherwise designated in writing by You as “Not a +Submission.” + +“Submission” means the Code and any other copyrightable material Submitted by +You, including any associated comments and documentation. 2. Your Submission. + +You must agree to the terms of this Agreement before making a Submission to any +Project. This Agreement covers any and all Submissions that You, now or in the +future (except as described in Section 4 below), Submit to any Project. 3. +Originality of Work. + +You represent that each of Your Submissions is entirely Your original work. +Should You wish to Submit materials that are not Your original work, You may +Submit them separately to the Project if You (a) retain all copyright and +license information that was in the materials as You received them, (b) in the +description accompanying Your Submission, include the phrase “Submission +containing materials of a third party:” followed by the names of the third party +and any licenses or other restrictions of which You are aware, and (c) follow +any other instructions in the Project’s written guidelines concerning +Submissions. 4. Your Employer. + +References to “employer” in this Agreement include Your employer or anyone else +for whom You are acting in making Your Submission, e.g. as a contractor, vendor, +or agent. If Your Submission is made in the course of Your work for an employer +or Your employer has intellectual property rights in Your Submission by contract +or applicable law, You must secure permission from Your employer to make the +Submission before signing this Agreement. In that case, the term “You” in this +Agreement will refer to You and the employer collectively. If You change +employers in the future and desire to Submit additional Submissions for the new +employer, then You agree to sign a new Agreement and secure permission from the +new employer before Submitting those Submissions. 5. Licenses. + +a. Copyright License. You grant DEV, and those who receive the Submission +directly or indirectly from DEV, a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable copyright license in the Submission to +reproduce, prepare derivative works of, publicly display, publicly perform, and +distribute the Submission and such derivative works, and to sublicense any or +all of the foregoing rights to third parties. + +b. Patent License. You grant DEV, and those who receive the Submission directly +or indirectly from DEV, a perpetual, worldwide, non-exclusive, royalty-free, +irrevocable license under Your patent claims that are necessarily infringed by +the Submission or the combination of the Submission with the Project to which it +was Submitted to make, have made, use, offer to sell, sell and import or +otherwise dispose of the Submission alone or with the Project. + +c. Other Rights Reserved. Each party reserves all rights not expressly granted +in this Agreement. No additional licenses or rights whatsoever (including, +without limitation, any implied licenses) are granted by implication, +exhaustion, estoppel or otherwise. 6. Representations and Warranties. + +You represent that You are legally entitled to grant the above licenses. You +represent that each of Your Submissions is entirely Your original work (except +as You may have disclosed under Section 3). You represent that You have secured +permission from Your employer to make the Submission in cases where Your +Submission is made in the course of Your work for Your employer or Your employer +has intellectual property rights in Your Submission by contract or applicable +law. If You are signing this Agreement on behalf of Your employer, You represent +and warrant that You have the necessary authority to bind the listed employer to +the obligations contained in this Agreement. You are not expected to provide +support for Your Submission, unless You choose to do so. UNLESS REQUIRED BY +APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES EXPRESSLY +STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS +PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY +WARRANTY OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR +PURPOSE. 7. Notice to DEV. + +You agree to notify DEV in writing of any facts or circumstances of which You +later become aware that would make Your representations in this Agreement +inaccurate in any respect. 8. Information about Submissions. + +You agree that contributions to Projects and information about contributions may +be maintained indefinitely and disclosed publicly, including Your name and other +information that You submit with Your Submission. 9. Governing Law/Jurisdiction. + +This Agreement is governed by the laws of the State of New York, and the parties +consent to exclusive jurisdiction and venue in the federal courts sitting in New +York County, New York, unless no federal subject matter jurisdiction exists, in +which case the parties consent to exclusive jurisdiction and venue in the +Superior Court of New York County, New York. The parties waive all defenses of +lack of personal jurisdiction and forum non-conveniens. 10. Entire +Agreement/Assignment. + +This Agreement is the entire agreement between the parties, and supersedes any +and all prior agreements, understandings or communications, written or oral, +between the parties relating to the subject matter hereof. This Agreement may be +assigned by DEV.