aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>2024-04-16 23:21:41 +0200
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>2024-04-22 14:09:52 +0200
commit4f0953c4da78c249eb6b230d9ce801405eca78cb (patch)
treea16ac7d4fe49bd612d955a802684521e25e88cea
parent76ecc337c519d65c16e331343c9402f176eead5a (diff)
downloadlibgpiod-4f0953c4da78c249eb6b230d9ce801405eca78cb.tar.gz
doc: add a file explaining the contribution process in detail
Add a separate document explaining the contribution process for libgpiod with emphasis on the Developer's Certificate of Origin. I based the text of this document on the one written by Grant Likely[1] and adjusted it for libgpiod. [1] https://github.com/glikely/obs-ptz/blob/main/CONTRIBUTING.md Suggested-by: Grant Likely <grant.likely@linaro.org> Acked-by: Grant Likely <grant.likely@linaro.org> Link: https://lore.kernel.org/r/20240416212141.6683-3-brgl@bgdev.pl Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
-rw-r--r--CONTRIBUTING.md92
-rw-r--r--README2
2 files changed, 94 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..396227dc
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,92 @@
+<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
+<!-- SPDX-FileCopyrightText: 2024 Bartosz Golaszewski <bartosz.golaszewski@linaro.org> -->
+<!-- Based on text originally written by Grant Likely <grant.likely@linaro.org> -->
+
+Contributing
+============
+
+Master copy of this project is hosted at kernel.org:
+https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
+
+Anyone may contribute to this project. Contributions are licensed under GPLv2
+for programs and LGPLv2.1 for libraries and must be made with a Developer
+Certificate of Origin [DCO] "Signed-off-by:" attestation as described below,
+indicating that you wrote the code and have the right to pass it on as an open
+source patch under the GPLv2 license. Patches that are not signed off will not
+be accepted.
+
+Send patches using `git send-email` to the linux-gpio mailing list[2] by
+e-mailing to linux-gpio@vger.kernel.org (add the [libgpiod] prefix to the
+e-mail subject line). Note that the mailing list quietly drops HTML formatted
+e-mail, so be sure to send plain text[3].
+
+Also, please write good git commit messages. A good commit message looks like
+this:
+
+```
+section: explain the commit in one line (use the imperative)
+
+Body of commit message is a few lines of text, explaining things
+in more detail, possibly giving some background about the issue
+being fixed, etc etc.
+
+The body of the commit message can be several paragraphs, and
+please do proper word-wrap and keep columns shorter than about
+74 characters or so. That way "git log" will show things
+nicely even when it's indented.
+
+Make sure you explain your solution and why you're doing what you're
+doing, as opposed to describing what you're doing. Reviewers and your
+future self can read the patch, but might not understand why a
+particular solution was implemented.
+
+Reported-by: whoever-reported-it
+Signed-off-by: Your Name <you@example.com>
+```
+
+Where that header line really should be meaningful, and really should be just
+one line. That header line is what is shown by tools like gitk and shortlog,
+and should summarize the change in one readable line of text, independently of
+the longer explanation. Please use verbs in the imperative in the commit
+message, as in "Fix bug that...", "Add file/feature ...", or "Make plugin ...".
+
+DCO Attestation
+---------------
+
+To help track the origin of contributions, this project uses the same [DCO]
+"sign-off" process as used by the Linux kernel. The sign-off is a simple line
+at the end of the explanation for the patch, which certifies that you wrote it
+or otherwise have the right to pass it on as an open-source patch. The rules
+are pretty simple: if you can certify the below:
+
+### 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.
+
+then you just add a line saying:
+
+ Signed-off-by: Random J Developer <random@developer.example.org>
+
+[DCO]: https://developercertificate.org/
diff --git a/README b/README
index ec60ea1e..7a92a497 100644
--- a/README
+++ b/README
@@ -298,6 +298,8 @@ discussions and although PRs can be submitted and discussed, upstreambound
patches need to go through the mailing list nevertheless while release
tarballs should be fetched from kernel.org[8].
+For more information, refer to CONTRIBUTING.md in this repository.
+
[1] https://github.com/kward/shunit2
[2] http://vger.kernel.org/vger-lists.html#linux-gpio
[3] https://docs.kernel.org/process/email-clients.html