From da2bc8d4066ff6e6c8fd41973332760cce39b8e3 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Wed, 27 Jan 2021 16:26:48 +0100 Subject: [PATCH] Replace CLA by DCO mechanism for new contributors From now on, new contributors do not have to sign the Contributor License Agreement (CLA) anymore. This has been replaced by the Developer's Certificate of Origin (DCO), which implies that contributed commits need to be signed, either automatically by git or by suffixing a 'Signed-off-by: Your Name your.email@example.com' line in the commit message(s) when doing a pull-request. --- .github/DCO.txt | 41 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 34 ++++++++++++++++---------- CONTRIBUTING.md | 26 +++++++++++++++++--- docs/changelog.md | 7 ++++++ 4 files changed, 93 insertions(+), 15 deletions(-) create mode 100644 .github/DCO.txt diff --git a/.github/DCO.txt b/.github/DCO.txt new file mode 100644 index 000000000..0e07a66b3 --- /dev/null +++ b/.github/DCO.txt @@ -0,0 +1,41 @@ +Developer Certificate of Origin +Version 1.1 + +SPDX-License-Identifier: GPL-3.0-or-later +Copyright (C) 2021 Centre Tecnològic de Telecomunicacions de Catalunya (CTTC) +and its contributors. + +Parc Mediterrani de la Tecnologia (PMT) +Building B4 +Av. Carl Friedrich Gauss 7 +08860 - Castelldefels (Spain) + +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. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index fef57b4ea..b44fff613 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -7,25 +7,35 @@ SPDX-License-Identifier: GPL-3.0-or-later ) [comment]: # ( -SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades +SPDX-FileCopyrightText: 2011-2021 Carles Fernandez-Prades ) +Any code contributions going into GNSS-SDR will become part of a GPL-licensed, +open source repository. It is therefore imperative that code submissions belong +to the authors, and that submitters have the authority to merge that code into +the public GNSS-SDR codebase. + +For that purpose, we use the +[Developer's Certificate of Origin](https://github.com/gnss-sdr/gnss-sdr/blob/next/.github/DCO.txt). +It is the same document used by other projects. Signing the DCO states that +there are no legal reasons to not merge your code. + +To sign the DCO, suffix your git commits with a `Signed-off-by:` line. When +using the command line, you can use `git commit -s` to automatically add this +line. If there were multiple authors of the code, or other types of +stakeholders, make sure that all are listed, each with a separate +`Signed-off-by:` line. + Before submitting your pull request, please make sure the following is done: 1. You undertake the [Contributor Covenant Code of Conduct](https://github.com/gnss-sdr/gnss-sdr/blob/master/CODE_OF_CONDUCT.md). -2. If you are a first-time contributor, after your pull request you will be - asked to sign an Individual Contributor License Agreement - ([CLA](https://en.wikipedia.org/wiki/Contributor_License_Agreement)) before - your code gets accepted into `master`. This license is for your protection - as a Contributor as well as for the protection of - [CTTC](http://www.cttc.es/); it does not change your rights to use your own - contributions for any other purpose. Except for the license granted therein - to CTTC and recipients of software distributed by CTTC, you reserve all - right, title, and interest in and to your contributions. The information you - provide in that CLA will be maintained in accordance with - [CTTC's privacy policy](http://www.cttc.es/privacy/). +2. You have read the + [Developer's Certificate of Origin](https://github.com/gnss-sdr/gnss-sdr/blob/next/.github/DCO.txt) + and + [signed your commits](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) + as an indication of fulfillment. 3. You have read the [Contributing Guidelines](https://github.com/gnss-sdr/gnss-sdr/blob/master/CONTRIBUTING.md). 4. You have read the [coding style guide](https://gnss-sdr.org/coding-style/). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bb599c6cf..473e1c5b9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,7 +6,7 @@ SPDX-License-Identifier: GPL-3.0-or-later ) [comment]: # ( -SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades +SPDX-FileCopyrightText: 2011-2021 Carles Fernandez-Prades ) @@ -116,8 +116,11 @@ $ git checkout -b my_feature ``` Now you can do changes, add files, do commits (please take a look at -[how to write good commit messages](https://chris.beams.io/posts/git-commit/)!) -and push them to your repository: +[how to write good commit messages](https://chris.beams.io/posts/git-commit/), +and do not forget to +[sign your commits](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) +with `git commit -s` if you plan to submit your code to the upstream repository +in a pull-request, see below) and push them to your repository: ``` $ git push origin my_feature @@ -133,6 +136,22 @@ $ git pull --rebase upstream next ### How to submit a pull request +Any code contributions going into GNSS-SDR will become part of a GPL-licensed, +open source repository. It is therefore imperative that code submissions belong +to the authors, and that submitters have the authority to merge that code into +the public GNSS-SDR codebase. + +For that purpose, we use the +[Developer's Certificate of Origin](https://github.com/gnss-sdr/gnss-sdr/blob/next/.github/DCO.txt). +It is the same document used by other projects. Signing the DCO states that +there are no legal reasons to not merge your code. + +To sign the DCO, suffix your git commits with a `Signed-off-by:` line. When +using the command line, you can use `git commit -s` to automatically add this +line. If there were multiple authors of the code, or other types of +stakeholders, make sure that all are listed, each with a separate +`Signed-off-by:` line. + Before submitting your code, please be sure to [apply clang-format](https://gnss-sdr.org/coding-style/#use-tools-for-automated-code-formatting). @@ -147,6 +166,7 @@ discuss potential modifications, and even push follow-up commits if necessary. Some things that will increase the chance that your pull request is accepted: +- Your commits must be signed. - Avoid platform-dependent code. If your code require external dependencies, they must be available as packages in [Debian OldStable](https://wiki.debian.org/DebianOldStable). diff --git a/docs/changelog.md b/docs/changelog.md index 6505397e2..de701457b 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -25,6 +25,13 @@ SPDX-FileCopyrightText: 2011-2021 Carles Fernandez-Prades