It has been a busy month since RhodeCode went open source :
- we released RhodeCode 4.1
- our Slack channel has hit 1.2K messages
- the Community Portal became a go-to place for people to discuss topics and share solutions
The source code of Community Edition has been made available on code.rhodecode.com, yet the contribution process was somewhat unclear.
Today RhodeCode launches the Developer Program to make the contribution process easier and more transparent for open source contributors. We also created a dedicated section on our website: rhodecode.com/open-source.
Here at RhodeCode, we intend to build the world’s best platform for enterprise software development. Unified automation and authentication will eliminate routine from the work of software developers and devops engineers. Firms, in turn, will get unified source code security and access controls for their whole code base.
Being developers ourselves, we know it is not feasible to build such a platform without help and the community input (be it user feedback or code contributions). That is why it is so important to provide an easy way for developers to contribute and be recognized for their work.
The Developer Program
The Developer Program is a set of guidelines and improvements to make it easier to participate the development of RhodeCode and recognize developer contributions. The program is for RhodeCode users who seek to shape RhodeCode to their own needs and the direction the community chooses for RhodeCode development. You may want to “scratch your own itch” by adding a missing integration with a particular tool or to make a change that fixes a problem and saves time for your team. Or maybe you simply know a better way to do things. ;)
Contributing to RhodeCode
While RhodeCode has mirror-repositories on other services, submitting a contribution to the main code base requires an account on code.rhodecode.com. If you don’t have one yet, you can sign up here (RhodeCode allows to connect an existing GitHub or BitBucket account to simplify account creation).
As described at rhodecode.com/open-source, the process of contributing changes consists of few simple steps:
Read the README to get yourself familiar quickly
Read the Developer Docs section for contributors
Start hacking and break things
don’t forget to test though ;)
Commit changes and get others involved
You can get details about the development setup and settings in the Developer Docs.
To acknowledge the contributions made by developers we launch a set of special badges on the Community Portal.
Here’s how a user profile with badges may look like:
- Contributor badge is given to any developer whose code has been accepted to the RhodeCode’s code base.
- Developer badge is given to recognize regular contributors, who participate RhodeCode development at least once a week. Having Developer badge automatically grants rights to moderate discussions on the Community Portal.
- Core Developer badge recognizes an outstanding impact on RhodeCode development. An example of that can be an important feature or a major bugfix.
Getting Your Badge
RhodeCode contributors registered on the Community Portal can get the contribution badge by specifying their code.rhodecode.com username in Profile Preferences:
Once the contribution is accepted, the badge (and corresponding Community Portal privileges) will be granted automatically.
While it is by no means required to register on the Community Portal to contribute to the platform, we encourage contributor developers to do so. It’s a great place to discuss features and share solutions for common problems.
Licensing and Intellectual Property
Open Source License
It is essential for an open source project to have clear licensing terms from the very start. The source code for RhodeCode CE is available under the terms of AGPLv3. In essence, that means that for all the platform modifications made, the complete source code should be openly available. A good overview of AGPLv3 terms is provided on choosealicense.com, the website also lists the full text.
Contributor License Agreement (CLA)
Developers who want their changes merged into RhodeCode’s codebase need to sign a contributor licensing agreement. Under RhodeCode’s CLA, developers keep their intellectual property and related rights, while licensing their contributions to RhodeCode for use in any of its editions, including the (free) Community Edition and the (for-fee) Enterprise Edition. Prior to making a contribution, please review the full CLA text.
We are excited to see how RhodeCode platform will evolve over time. Those willing to contribute now have all the tools to shape the future of RhodeCode.
We have another announcement coming for the platform developers and soon we will publish the platform roadmap. In the meantime, start hacking right away by visiting rhodecode.com/open-source, reach the core team on the Community Portal or join us on Slack. Stay tuned!