diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 78191a8fc..0a055172c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,8 @@ # This is a configuration for https://pre-commit.com/. # On macOS, try `brew install pre-commit` and then run `pre-commit install`. exclude: '^(site|generated)/' +default_install_hook_types: [ pre-commit, commit-msg ] +default_stages: [ pre-commit ] repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 @@ -24,3 +26,9 @@ repos: name: Validate copyright year entry: hack/check-copyright-year.sh language: script + stages: [ pre-commit ] + - id: check-signoff + name: Check for Signed-off-by + entry: 'grep -q "^Signed-off-by: "' + language: system + stages: [ commit-msg ] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 03ab6ec6d..4475b13a0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -62,14 +62,64 @@ guidelines in the issue and pull request templates. Please follow the procedure described in [SECURITY.md](SECURITY.md). -## CLA +## DCO Sign off -We welcome contributions from everyone, but we can only accept them if you sign -our Contributor License Agreement (CLA). If you would like to contribute and you -have not signed it, our CLA-bot will walk you through the process when you open -a Pull Request. For questions about the CLA process, see the -[FAQ](https://cla.vmware.com/faq) or submit a question through the GitHub issue -tracker. +To ensure that contributors are only submitting work that they have rights to, we are requiring +everyone to acknowledge this by signing their work. + +Since this signature indicates your rights to the contribution and +certifies the statements below, it must contain your real name and +email address. Various forms of noreply email address must not be used. + +Any copyright notices in this repository should specify the authors as +"the Pinniped contributors". + +To sign your work, just add a line like this at the end of your commit message: + +``` +Signed-off-by: John Smith +``` + +This can easily be done with the `--signoff` option to `git commit`. + +By doing this you state that you can certify the following (from [https://developercertificate.org/]): + +``` +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` ## Learning about Pinniped