codership / galera

Synchronous multi-master replication library
GNU General Public License v2.0
451 stars 176 forks source link

Add Code Contributors Agreement #386

Open ayurchen opened 8 years ago

ayurchen commented 8 years ago

This includes agreement per se and CONTRIBUTORS file for contributors signatures

ayurchen commented 8 years ago

Contributor's file may look like that:

All contributors are required to add their name and [Github username/email] to this file in connection with their first contribution. If you are an employee of a company, you should add your name under the said company name.

By adding your name and [Github username/email] to this file you agree that your contribution is a contribution under a contributor license agreement between you and the project hosted by Codership Oy. To the extent you are an employee of a company and contribute in that role, you confirm that your contribution is a contribution under the contribution license agreement between your employer and the project hosted by Codership Oy; and that you have the authorization to give such confirmation. You confirm that you have read, understood and signed the contributor license agreement applicable to you.

Authors from Codership Oy

Contributors from Percona Oy

Individual contributors

ottok commented 8 years ago

I see this issue is still open, so I dare to suggest that you should also ask people to Sign-Off their git commits. This is how e.g. the Linux kernel and Docker projects make sure all contributions are legally safe.

This can be done automaticallly with git -s

If you don't like the generic certificate of origin, you could just state in the project README that "sign-off-by" means the person adheres to the terms in the CONTRIBUTORS.txt

From https://www.kernel.org/doc/Documentation/SubmittingPatches :

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

ottok commented 8 years ago

See also: https://docs.docker.com/opensource/project/set-up-git/#set-your-signature-and-an-upstream-remote