Skip to main content

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:

  1. Follow the Doris GitHub repository.
  2. Subscribe to the mailing list to keep up with development activity.
  3. Join the Doris WeChat group (add WeChat ID morningman-cmy with the note "Join Doris Group").
  4. 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:

ComponentDescriptionLanguage
Frontend daemon (FE)Consists of the query coordinator and the metadata managerJava
Backend daemon (BE)Handles data storage and query fragment executionC++
BrokerReads HDFS data into DorisJava
WebsiteThe official Doris websiteMarkdown
ManagerDoris ManagerJava
Flink ConnectorDoris Flink ConnectorJava
Spark ConnectorDoris Spark ConnectorJava
Doris runtime Help documentationThe online help manual available when running DorisMarkdown

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:

Reporting Bugs or Issues

If you find a bug or issue, there are two ways to handle it:

  1. Report the issue: submit a new issue through GitHub Issues. Community members will address it on a regular basis.
  2. 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:

  1. Download the code, compile it, and deploy and run it to verify that the behavior matches expectations (see the Compilation Documentation for reference).
  2. Fork the apache/doris repository to your own account on GitHub.
  3. Create a separate branch for your changes, and add the original repository as upstream.
  4. 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.