From 731d3842fc18628a19dfe034ab5cb809a5e94363 Mon Sep 17 00:00:00 2001 From: Lee23 <31892011+LeeTwentyThree@users.noreply.github.com> Date: Tue, 27 Jun 2023 17:02:14 -0400 Subject: [PATCH] feat: Add CLA (Contributor License Agreement) (#418) * Added CLA.md file * Updated the Contribution Guidelines to reflect these changes. * Added a GitHub Action to automate the process. --- .github/workflows/cla.yml | 43 +++++++++++++++++++++++++++++++++++++++ CLA/CLA.md | 14 +++++++++++++ CONTRIBUTING.md | 3 +++ 3 files changed, 60 insertions(+) create mode 100644 .github/workflows/cla.yml create mode 100644 CLA/CLA.md diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml new file mode 100644 index 000000000..008dd8093 --- /dev/null +++ b/.github/workflows/cla.yml @@ -0,0 +1,43 @@ +name: "CLA Assistant" +on: + issue_comment: + types: [created] + pull_request_target: + types: [opened,closed,synchronize] + +# explicitly configure permissions, in case your GITHUB_TOKEN workflow permissions are set to read-only in repository settings +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.PERSONAL_ACCESS_TOKEN }} + with: + path-to-signatures: 'CLA/Signatures.json' + path-to-document: 'https://github.com/SubnauticaModding/Nautilus/blob/master/CLA/CLA.md' # e.g. a CLA or a DCO document + # branch should not be protected + branch: 'master' + # allowlist: user1,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: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same 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 \ No newline at end of file diff --git a/CLA/CLA.md b/CLA/CLA.md new file mode 100644 index 000000000..0f9af2b52 --- /dev/null +++ b/CLA/CLA.md @@ -0,0 +1,14 @@ +# Subnautica Modding Nautilus CLA + +This Contributor License Agreement (CLA) must be signed by any individual who wishes to contribute to the Nautilus API after June 20th, 2023. Given the challenges in obtaining approvals from all current and previous contributors for project-wide decisions, this agreement has become a necessity. + +In the context of this document, "you" refers to the contributor and "we" refers to the Subnautica Modding organization (). A "contribution" is defined as any act of merging a contributor's work into this repository. + +**By signing this CLA, you agree to be bound by the following statements, which apply to all current, previous, and future versions of the Nautilus API, and will remain in effect until this CLA is terminated or superseded**: + +1. You grant the Subnautica Modding organization a non-exclusive, irrevocable, and transferable license to use, copy, prepare derivatives, distribute, and display your contribution on any licensing terms. +2. You also grant permission to the Subnautica Modding organization to make a fair license change without your approval. A "fair license change" will not have the intent to forbid future contributions or derivative works. A license change may occur following the unanimous decision of all maintainers, which includes anyone who has write access to the repository at the time of making the decision, but also requires the permission of all previous contributors who did not sign this CLA. + +It is important to note that the Subnautica Modding organization will NEVER sell, commercialize, or otherwise restrict the open-source status of Nautilus. + +If you have contributed to Nautilus in the past, you are not bound by the aforementioned statements until signing. However, you may be required to sign the CLA before future PRs are accepted. Please note that signing this CLA will affect all prior, current, and future contributions. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e17c1bf5c..03dda10e5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,8 @@ # Contributing +## Contributor License Agreement +New contributions will not be accepted unless you agree to and sign [this CLA](CLA/CLA.md). The signing process is automatic and should not in any way affect your ability to contribute. This is only required to protect the repository against possible legal issues in the future. + ## Preferred conventions and code style * For commiting, we encourage [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary). * We encourage [access modifiers](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers) to be specified explicitly with no exceptions.