Contributing to Apache Doris
Thank you for your interest in the Apache Doris project. The community welcomes participation in any form, including suggestions, opinions (including criticism), comments, and contributions of code and documentation.
There are many ways to participate in the Doris project: code implementation, test writing, process and tooling improvements, documentation refinement, and more. Every contribution is recognized, and the community will add you to the contributor list. Once your contributions reach a certain level, you also have the opportunity to become an Apache Committer, receive an Apache email address, and be listed in the Apache Committer list.
For any questions, you can reach the community through the following channels: WeChat, Slack, and the mailing list. The community will respond promptly.
Getting Started
When you first arrive at the Doris community, you can establish contact in the following ways:
- Follow the Doris GitHub repository.
- Subscribe to the mailing list to keep up with development activity.
- Join the Doris WeChat group (add WeChat ID
morningman-cmywith the note "Join Doris Group"). - Join the Doris Slack channel.
Through these channels, you can stay up to date with Doris development and share your views on topics you care about.
Doris Code and Documentation
As shown in the GitHub repository, the Apache Doris core codebase mainly consists of the Frontend (FE), Backend (BE), and Broker (for reading external storage such as HDFS). The documentation includes the official website, the GitHub Wiki, and the runtime online help manual. Details for each component are as follows:
| Component | Description | Language |
|---|---|---|
| Frontend daemon (FE) | Consists of the query coordinator and the metadata manager | Java |
| Backend daemon (BE) | Handles data storage and query fragment execution | C++ |
| Broker | Reads HDFS data into Doris | Java |
| Website | The official Doris website | Markdown |
| Manager | Doris Manager | Java |
| Flink Connector | Doris Flink Connector | Java |
| Spark Connector | Doris Spark Connector | Java |
| Doris runtime Help documentation | The online help manual available when running Doris | Markdown |
Improving Documentation
Documentation is the main entry point for learning about Apache Doris, and it is one of the areas where the community most needs help.
Reading the documentation deepens your understanding of Doris and covers features and technical details. If you find any problems in the documentation, please contact the community.
If you would like to improve documentation quality (including correcting page addresses, fixing links, and writing better introductory documents), the community very much welcomes your contributions.
Most Doris documentation is written in Markdown, and you can submit changes directly in the apache/doris-website repository. Related guides:
- To submit documentation changes, see the Documentation Contribution Guide.
- To submit code changes, see the Code Submission Guide.
Reporting Bugs or Issues
If you find a bug or issue, there are two ways to handle it:
- Report the issue: submit a new issue through GitHub Issues. Community members will address it on a regular basis.
- Fix it yourself: read and analyze the source code to fix it yourself, then submit a Pull Request.
Tip: Before you start fixing, it is recommended to talk to the community first to confirm whether someone is already working on the same issue.
Modifying Code and Submitting a PR
The basic workflow for contributing code:
- Download the code, compile it, and deploy and run it to verify that the behavior matches expectations (see the Compilation Documentation for reference).
- Fork the
apache/dorisrepository to your own account on GitHub. - Create a separate branch for your changes, and add the original repository as
upstream. - Submit a PR. For detailed steps, see the Pull Request Guide.
Whether you are fixing a bug or adding a new feature, the community very much welcomes your contributions.