Skip to content

Latest commit

 

History

History
54 lines (46 loc) · 2.37 KB

CONTRIBUTING.md

File metadata and controls

54 lines (46 loc) · 2.37 KB

Contributing to mold

Summary: When you send a patch, you must agree that the patch is released under the dual license of the GNU AGPLv3 and the MIT license. As an indication of agreement, please add a Signed-off-by line to your commit message using git commit -s.

Here is the long official version:

mold is currently licensed under the GNU AGPLv3, but I want to relicense it under a more liberal license in the future. To make this possible, I want all patches to be submitted under the dual license of the GNU AGPLv3 and the MIT license (the "Dual License") from the beginning.

To make it clear that contributors have agreed to release their patches under the Dual License, I introduced a sign-off procedure just like the Linux kernel project did. The sign-off is a simple line at the end of the git commit message, 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

By making a contribution to this project, I certify that:

  1. The contribution was created in whole or in part by me and I have the right to submit it under the Dual License; or

  2. The contribution is based upon previous work that, to the best of my knowledge, is covered under the the Dual License and I have the right under the Dual License to submit that work with modifications, whether created in whole or in part by me, under the Dual License (unless I am permitted to submit under different licenses), as indicated in the file; or

  3. The contribution was provided directly to me by some other person who certified (1), (2) or (3) and I have not modified it.

  4. 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 <[email protected]>

using your real name (sorry, no pseudonyms or anonymous contributions.) This will be done for you automatically if you use git commit -s. Reverts should also include "Signed-off-by". git revert -s does that for you.