Skip to content
Snippets Groups Projects
Commit d2fd9684 authored by Otto Visser's avatar Otto Visser
Browse files

Merge branch '261-developer-certificate-of-origin' into 'development'

Contributer License Agreement / Developer Certificate of Origin

Closes #261

See merge request !197
parents 317877d9 c014199d
No related branches found
No related tags found
2 merge requests!201Development,!197Contributer License Agreement / Developer Certificate of Origin
# Contributing to the queue (Queue) #
This guide has the following goals
1. Get a fork of the Queue repository setup.
2. Get the project running on your machine.
3. Introduce the technologies used in Queue.
4. Give you some directions to navigate the codebase.
5. Cover the process of submitting your changes!
1. Get a fork of the Queue repository setup. ([Getting access](#getting-access))
2. Get the project running on your machine. ([Project Setup](#project-setup))
3. Introduce the technologies used in Queue. ([Queue in context](#queue-in-context))
4. Give you some directions to navigate the codebase. ([Navigating the code base](#navigating-the-code-base))
5. Cover the process of submitting your changes! ([Submitting your changes](#submitting-your-changes))
## Getting access ##
To get started developing for the Queue, you will need to request access.
......@@ -174,10 +174,28 @@ The merge request template should already contain a check list for you to go thr
1. Make sure your code is formatted properly.
You can check this by using two different gradle tasks: `./gradlew spotlessCheck` and `./gradlew spotlessApply`
2. Ensure your commit message has a title explaining what the change is and a body explaining why you made this change.
3. Ensure your code is tested.
4. Ensure CI passes.
5. Ensure the significant changes you made are listed in the changelog.
1. Ensure your commit message has a title explaining what the change is and a body explaining why you made this change.
1. Ensure your commit message ends with a `Signed-off-by`.
This can be automated by running a script once following [the steps below](#signing-your-work)
1. Ensure your code is tested.
1. Ensure CI passes.
1. Ensure the significant changes you made are listed in the changelog.
### Signing your work ###
**If you are brand new to Queue**, you'll need to run a script that adds `Signed-off-by` to each of your commits. This trailer means that the author agrees with the [Developer Certificate of Origin (DCO)](docs/developer-certificate-of-origin) and with licensing the work under the [AGPL v3](LICENSE). This is important for our team and our users, legally. The [setup_commit_msg_hook.sh](contributing/hooks/setup_commit_msg_hook.sh) script will setup a Git commit-msg hook that will add this trailer to all the commit messages you write in that repository. This is not as complicated as it sounds: it is similar to typing `git commit --signoff` every time you commit. Just download the script and run it once from the root folder of whatever Git repository you are in (for example, queue or labrador).
The Developer Certificate of Origin (DCO) is a document that certifies you own and/or have the right to contribute the work and license it appropriately. The DCO is used instead of a [CLA (Contributor License Agreement)](https://en.wikipedia.org/wiki/Contributor_License_Agreement). With the DCO, you retain copyright of your own work. The DCO originated in the Linux community, and is used by other projects like Git and Docker. To learn more about the DCO see this [posts on elinux.org](http://elinux.org/Developer_Certificate_Of_Origin) or how [docker uses the DCO](https://blog.docker.com/2014/01/docker-code-contributions-require-developer-certificate-of-origin/).
#### Commit messages ####
Your commit messages should end with the following trailer:
```
Signed-off-by: User Name <email@address>
```
where "User Name" is the author's real (legal) name and email@address is one of the author's valid email addresses.
As explained in more details above, this is easy to fix by running once the [setup_commit_msg_hook.sh](contributing/hooks/setup_commit_msg_hook.sh) script in your repository.
## Production
Queue runs on queue.tudelft.nl (alias for queue.ewi.tudelft.nl).
......
#!/bin/sh
#
# Put this script inside the root folder of your git directory before running it.
cat >.git/hooks/commit-msg <<'EOF'
#!/bin/sh
grep "^Signed-off-by:" "$1" || {
echo >>"$1"
echo "Signed-off-by: $(git config user.name) <$(git config user.email)>" >>"$1"
}
EOF
chmod +x .git/hooks/commit-msg
\ No newline at end of file
Developer Certificate of Origin
Version 1.1
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA
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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment