Contributing guidelines¶
An overview of guidelines for OpenCraft members contributing code to various repositories.
General guidelines¶
- As per the standard contract, all contributions by OpenCraft members done as part of OpenCraft tasks are contributed on behalf of OpenCraft, and owned by OpenCraft. (Individual members can still contribute as individuals on their own time (unpaid) if they wish.)
- See Pull Request for detailed information about our processes for pull requests.
- Commits should be made with your
@opencraft.comemail address - Pull requests should be opened from branches on OpenCraft repositories or OpenCraft forks. This helps keep OpenCraft code in one place, and makes it easier for other members to access the code.
OpenCraft repositories¶
Contributing to OpenCraft owned repositories requires no extra steps. You should have push access to these repositories, and should push to branches in those repositories directly for pull requests.
Open edX repositories¶
Open edX repositories require a CLA (Contributor License Agreement) to contribute. OpenCraft as a company has an agreement with the Open edX project, and as OpenCraft members, we contribute under the company agreement.
When we have a new joiner or a member leaving, we notify the Open edX project of the change, and they will make updates from their end.
Other third party repositories (no CLA)¶
If we contribute to a third party that does not require a CLA, there are no extra steps. Code is contributed on behalf of OpenCraft as usual, and should come from OpenCraft forks.
Other third party repositories (CLA required)¶
If a third party requires a CLA, there are two options to take:
- OpenCraft may sponsor the OpenCraft member to make the contribution as an individual, signing the CLA as an individual.
- OpenCraft signs the CLA as a company, allowing the OpenCraft member to contribute under the company CLA.
The first case (sponsored individual contribution) is the preferred default case, unless contributions to this project are becoming regular. Either way, discuss with Xavier for approval before proceeding.
Sponsored individual contribution process¶
- Sign the third party CLA as an individual.
- Make the contribution as an individual (eg. for a pull request, use a personal fork and your personal email address in the commits).
- You are paid by OpenCraft as usual, but in this case, you are the owner of the contribution.
Company CLA process¶
- As the potential contributor, lead the effort to look into signing as a company. Do not just go ahead and sign the CLA on behalf of OpenCraft!
- Work with the Administrative Specialist, who in turn can work with a lawyer as needed, for review and the signing steps.
- If the company signing proceeds, record the status in this document.
- Proceed to contribute under the company CLA. Contributions will be owned by OpenCraft as per the usual contract.