Before you Contribute
We’d love to hear about how you would like to contribute to RDK! Please read through this document first to understand the process and to make sure you know what to expect.
Before You Contribute
In order to contribute code, first-time users are requested to agree to the license at https://wiki.rdkcentral.com/signup.action. As an unaffiliated individual, you must sign the Contributor License Agreement (CLA). You can complete that process online.
What is a CLA?
The Contributor License Agreement is necessary mainly because you own the copyright to your changes, even after your contribution becomes part of our codebase, so we need your permission to use and distribute your code. We also need to be sure of various other things — for instance that you‘ll tell us if you know that your code infringes on other people’s patents.
You don‘t have to sign the CLA until after you’ve submitted your code for review and a member has approved it, but you must do it before we can put your code into our codebase. Before you start working on a larger contribution, get in touch with us to discuss your idea so that we can help out and possibly guide you. Early coordination makes it much easier to avoid frustration later on.
All submissions, including submissions by project members, require review. We currently use Gerrit Code Review for this purpose. Currently, team-member submissions are reviewed privately, and external submissions go through public reviews.
Code Submission Process
The following steps explain the submission process:
- Ensure you or your company have signed the appropriate CLA as discussed in the Before You Contribute section above.
- Rebase your changes down into a single git commit.
git push commandto upload the review to code.rdkcentral.com.
- Someone from the maintainers team reviews the code, adding comments on any things that need to change before the code can be submitted.
- If you need to make changes, make them locally, test them, then
git commit --amendto add them to the existing commit. Then return to step 2.
- If you do not need to make any more changes, a maintainer integrates the change into our private repository, and it is pushed out to the public repository after some time.
Contributor License Agreement (CLA) – RDK Central Github
The RDK CLA facilitates the acceptance and sharing of RDK contributions within the community.
When you contribute to an RDK open source project on GitHub via a new pull request, a bot will evaluate whether you have signed the CLA. The bot will comment on the pull request, including a link to accept the agreement.
CLA assistant enables contributors to sign CLAs from within a pull request. The CLA is stored as a GitHub Gist file and linked with the repository/organisation in CLA assistant.
- Comments on each opened pull request to ask the contributor to sign the CLA
- Allows contributors to sign a CLA from within a pull request
- Authenticates the signee with his or her GitHub account
- Updates the status of a pull request when the contributor agrees to the CLA
- Automatically asks users to re-sign the CLA for each new pull request in the event the associated Gist & CLA has changed
- Repository owners can review a list of users who signed the CLA for each version of it.
Note – CLA assistant is provided by SAP as a free hosted offering under: https://cla-assistant.io/