Welcome aboard!
We welcome your code contributions large and small - but that’s not all.
Contributing doesn’t always mean having code repository commit access. In fact, some of the best open source contributors never have commit access. In order for Terracotta projects to be successful, we rely on help in many areas other than writing software. These include:
-
Submitting bug reports (with patches!)
-
Writing documentation (esp. based on common issues in the forums)
-
Helping out in the forums
Recognition
Authorship record of code modules and/or documentation is maintained to give credit where credit is due.
Submitting Contributions
Have you built a great new feature or documentation improvement? Drop us a note in the forums or file a feature enhancement request in our issue tracker and let us know about it. We gladly, and regularly accept contributions, and there are a few ways you can participate.
Contributors are given credit for their work, though they must be willing (for licensing purposes) to license and/or assign a copyright of the work. Once you have submitted your contribution we will contact you about providing us with a license or submitting a signed Contributor Agreement. If we request that you assign your copyright of the work to a Terracotta project, you can find the Contributor Agreement document and directions for submission to Terracotta through the link. This document only needs to be filled out once per contributor - not once for each contribution.
Contributions which do not require full Contributor’s License Agreement (CLA)
A contribution which is an obvious or "drive-by" fix would not require you to sign a CLA rather you will grant us a license to use your contribution. Changes are obvious fixes if they do not introduce any new functionality or creative thinking.
The submissions such as the following would not require you to sign a CLA
-
Bug fixes that have an obvious simple fix and do not change intended feature functionality;
-
Adding logging messages or debugging output;
-
Changes to build files;
-
Additions and changes to test files;
-
Minor doc additions or improvements;
-
Spelling/grammar fixes; Correcting typos;
-
Cleaning up comments in the code; or
-
Changes to white space or formatting;
The following are examples that would still require a signed CLA before your submission would be incorporated into the project:
-
Any code that results in a change in functionality;
-
A new feature;
-
Feature Enhancement, or anything that alters product behavior;
-
A translation; or
-
Extensive or creative documentation or comments.
If you’re not sure if your fix is obvious you can ask us by sending an email to: [email protected].
Agreement and Grant of Copyright
For those contributions that do not require a CLA: upon submission of Your Contribution you hereby grant IBM and to recipients of the software distributed by IBM a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to install, use, reproduce, prepare derivative works of, publicly display, publicly perform, offer to sell, sell, import, sublicense, transfer, and distribute Your Contribution and any such derivative works.
Becoming a "Core" Developer
Becoming a core developer on Terracotta projects (with the rights to directly commit/merge into the main repository) is on an invite-only basis. The project leaders look for people who have submitted bug reports (with patches), helped out with writing documentation, stay active in the community forums, or make code contributions. In addition to all these, developers must demonstrate a strong desire to see the project be successful. This is typically done by staying in touch with the project leaders, following up on reported bugs, and generally offering assistance.