Sign Your Work
OpenNebula uses the Apache 2.0 license (as found in the LICENSE file in the project’s GitHub repo) to strike a balance between open contribution and allowing you to use the software however you would like to. The Apache 2.0 license is a permisive open source license that allows you to freely use, modify, distribute and sell your own products that include Apache 2.0 licensed software.
Before we can merge your contribution into OpenNebula, you need to give us permission to do so. Since you're an author of a creative work (a piece of code, or some documentation), you automatically own the copyright for that work. OpenNebula can't legally use that contribution unless you give us permission to do so.
The OpenNebula project uses a mechanism known as a Developer Certificate of Origin (DCO) to manage this process. The DCO is a legally binding statement that asserts that you are the creator of your contribution, and that you wish to allow OpenNebula to use your work.
The text of the DCO is fairly simple (from developercertificate.org):
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.
Acknowledgement of this permission is done using a sign-off process in Git. The sign-off is a simple line at the end of the explanation for the patch. If you are willing to agree to these terms, you just add a line to every git commit message:
Signed-off-by: Joe Smith <email@example.com>
If you set your
user.email as part of your git configuration, you can sign your commit automatically with
git commit -s.
Pull Requests with commits that do not contain a signed-off by the author won't be accepted
You have to use your real name (i.e., pseudonyms or anonymous contributions cannot be made). This is because the DCO is a legally binding document, granting the OpenNebula project to use your work.
If you have more questions about Developer Certificates of Origin, why they are required, what they mean, and how to configure your system to use them, get in touch with the OpenNebula community manager at firstname.lastname@example.org.