42ITy Contributor guide
There are many ways you can help make 42ITy™ better!
This guide will help answer common questions you may have during your first and further contribution.
License
The project 42ITy™ uses the GNU General Public License v2+ license. Refer to the LICENSE file available in each 42ITy™ internal sub-projects.
Contribution Process
The project 42ITy™ adheres to the C4 (Collective Code Construction Contract) process for contributions.
Please read this document if you are unfamiliar with it.
Coding and documentation style guides
The project 42ITy™ uses:
-
the CLASS (C Language Style for Scalability) guide for code style.
-
the Documentation Recommendation for documentation style.
Please read these documents if you are unfamiliar with them.
Developer Certification of Origin (DCO)
To make a good faith effort to ensure the criteria of the GPL License are met, 42ITy™ requires the Developer Certificate of Origin (DCO) process to be followed.
The DCO is an attestation attached to every contribution made by every developer. In the commit message of the contribution, the developer simply adds a Signed-off-by statement and thereby agrees to the DCO, which you can find below or at Developer Certificate of Origin.
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.
Practical example of commit with DCO
Applying the DCO is as simple as adding --signoff when doing a git commit:
git commit --signoff
This will add the Signed-off-by line at the end of the commit log message. For example:
commit af7daa6490a3b04ed1ae6921d5b701b9558feb2f Author: John Doe <johndoe@some.org> Date: Thu Nov 17 13:45:21 2016 +0100 Problem: there is a problem Solution: fix the problem Signed-off-by: John Doe <johndoe@some.org>
Submitting issue
Not every contribution comes in the form of code. Submitting, confirming, and triaging issues is an important task for any project.
42ITy™ project uses GitHub to track all except security issues.
If it’s possible please submit a minimal program that compiles and reproduces or show the issue.
Further Reading
The Documentation section of the 42ITy™ website provides some complementary technical information, such as:
Thanks and credits
A number of technical and documentation points in 42ITy™ are inspired from ZeroMQ ones, created and led by Pieter Hintjens. The 42ITy™ team wants to express its undying thanks to Pieter, for everything he did and his help to create the foundations of the 42ITy™ project!
The 42ITy™ team also wants to thank the various projects used in the 42ITy™ software stack, along with the Opensource Community in general. This project would never have been possible without these!