Skip to content

Commit

Permalink
feat: Add CLA (Contributor License Agreement) (#418)
Browse files Browse the repository at this point in the history
* Added CLA.md file

* Updated the Contribution Guidelines to reflect these changes.

* Added a GitHub Action to automate the process.
  • Loading branch information
LeeTwentyThree committed Jun 27, 2023
1 parent 6a1fe59 commit 731d384
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/cla.yml
Original file line number Diff line number Diff line change
@@ -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/[email protected]
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
14 changes: 14 additions & 0 deletions CLA/CLA.md
Original file line number Diff line number Diff line change
@@ -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 (<https://github.com/SubnauticaModding>). 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.
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down

0 comments on commit 731d384

Please sign in to comment.