Contributing to StarRocks is cordially welcome from everyone. Contributing to StarRocks is not limited to contributing code. Below, we list different approaches to contributing to our community.
Report a bug
You can
file an issue
to report a bug with StarRocks. You can also click Feedback in the upper-right corner of the page you are reading in the Documentation Site to report a bug.
Contribute code
You can contribute your code by fixing a bug or implementing a feature.
Contribute test case
You can contribute your test cases.
Help review code
If you are an active contributor or committer of StarRocks, you can help us review the pull requests (PRs).
Contribute documentation
StarRocks community maintains a tremendous amount of documentation both in Chinese and English. You can contribute documentation changes by fixing a documentation bug or proposing a new piece of content.
Help StarRocks users
You can help newcomers who meet difficulties in our community.
Spread the word about StarRocks
You can author an article or give a talk about us to help spread our technology to the world.
NOTE
To contribute documentation, remember to sign off your commit using git commit -s. Otherwise, the Developer Certificate of Origin (DCO) check will fail and the PR may be blocked. In addition, prefix [Doc] to your PR title and select the Doc check box.
The best place to get a wide variety of help about StarRocks is via StarRocks's Slack Channel. For contribution-related discussions, please go to the #contributing-to-starrocks channel.
You can also report issues and problems, or suggest new features, on GitHub.
Everyone is encouraged to participate in the StarRocks project. Anyone can make an impact by simply being involved in the discussions about new features, project roadmap, architecture, and even reporting issues you are facing.
The roles listed below are a few possible ways to get involved in the community, it also defines what is expected from each role.
Participants are actively involved in the community and work to make StarRocks better for everyone.
As a participant, you can submit issue reports on GitHub, contribute test cases, translate/modify documentation, help answer user questions in forums or communities, participate in events, share your experience with StarRocks, star StarRocks on GitHub, and more.
StarRocks Community Champions are a group of passionate community evangelists and pioneers who are well-versed in StarRocks technology. They enjoy sharing the latest developments and products in the community, and their enthusiasm drives the progress and development of the community.
Active contributors are contributors who have made outstanding contributions and sustained commitment to StarRocks. They actively participate in the community by contributing code, improving docs, and helping others.
They have the authority to merge PRs into master branches and are responsible for the planning and maintenance of StarRocks. They also are active members in sharing their knowledge with the community.
PMCs are promoted from Committers. They have the authority to merge merge PRs into master branches and are responsible for the planning and maintenance of StarRocks. They also are active members in sharing their knowledge with the community.
If you don't know how to get started, this is the process we suggest for contributions. This process is designed to help reduce your learning curve and get your pull requests merged more efficiently!
Start a discussion by creating a Github issue, or asking on Slack channel(unless the change is trivial).Before getting your hands on codes, you should comment in the issue body, and inform the maintainer to assign you the issue that you wish to solve. It is recommended to share your plan on how to solve this problem in the issue body as well.
This step helps you identify possible collaborators and reviewers.
Will the change conflict with another change in progress? If so, work with others to minimize impact.
Is this change major? If so, work with others to break the change into smaller steps.
Implement the change.
If the change is major, split it into smaller PRs.
Include tests and documentation as necessary.
Create a Github pull request:In StarRocks community, we follow the fork-and-merge GitHub workflow when contributing code.
Create a fork of StarRocks in your GitHub account.
Clone this forked repository to your computer.
Check out a new branch based on the branch you expect to contribute to.
Commit your code changes to the new branch.
Push the branch with code changes to GitHub.
Create a PR to submit your code changes. It is recommended to submit ONE commit in ONE PR. You can follow the PR templated when submitting a PR.
Make sure the pull request passes the tests in CI.
Review is required by at least 2 reviewers:
For StarRocks project, we require at least 2 lgtm from reviewers (committers) to merge the pull request.
This normally happens within a few days, but may take longer if the change is major, complex, or if a critical reviewer is unavailable. (feel free to ping the reviewer on the pull request).
Maintainers merge the pull request after the final changes are accepted.