As the cornerstone of community development, the TiDB Developer Group consists of these roles: Maintainer, Committer, Reviewer, Active Contributor, and Contributor. Each role takes corresponding responsibilities in the community. Collectively they play an important role in the robust development of TiDB.

To allow more people to join the community, the “Special Interest Group” (SIG) and “Working Group” (WG) are now introduced into the community structure.

SIG
SIG is mainly responsible for the development and maintenance of a certain module of TiDB/TiKV, and is responsible for the quality of the module code. The community will invite qualified Active Contributors to join the SIG, where they can receive continuous guidance from the Tech Leads, so that they can exercise their technical capabilities while improving the module while exercising their technical capabilities. Community developers can gradually grow from the initial Active Contributor to a community recognized Reviewer, Committer, and even Maintainer through a dedicated group. Generally, each SIG organizes meetings periodically to discuss recent progress and problems encountered. All meeting discussions are open to the community, so that those who are interested can participate and discuss together.
  • TiKV Coprocessor SIG: Coprocessor is the module in TiKV responsible for processing TiDB's push-down calculations. The Coprocessor SIG is where discussions, planning, development and maintenance of the Coprocessor module happen.
  • TiKV Storage Engine SIG: The main responsibilities of the Storage Engine SIG is to discuss and plan the future development of TiKV's storage engine, and to facilitate community members in related development and maintenance work. The scope of work includes introducing a new storage engine for TiKV, and improving the stability, performance, and usability of the existing storage engine.
  • TiDB DDL SIG: DDL SIG is mainly responsible for the development and maintenance of TiDB DDL, the parser, and related modules. This SIG is engaged in improving the stability, performance, and compatibility with MySQL of the DDL module and the parser module.
  • TiDB Expression SIG : The TiDB Expression SIG covers the implementation of TiDB expressions, focusing on the development and maintenance of TiDB functions and operators. The responsibilities include but are not limited to: supporting new features, improving performance, and fixing bugs.
WG
Working Groups are formed by community developers who come together to accomplish a specific goal. To achieve the goal, a WG may span multiple SIGs, and some groups may only focus on a specific task in a specific SIG.
The working group has a life cycle, and once the goal is completed, the working group can be dissolved. The sole objective of the operation and management of the working group is to ensure that the initial objectives are completed within the appropriate time. Generally, each WG will also have periodic meetings to summarize the current project progress and determine the next implementation plan.

Community Roles

Maintainer
Maintainers are the planners and designers of the project, with the authority to merge branches into the master. Maintainers come from Committers. They must demonstrate both good judgment and responsibility towards the health of subproject. Maintainers must set up the technical direction and make or approve design decisions for the subproject - either directly or by delegating these responsibilities.
  • How to become a Maintainer:
    • Demonstrated a deep understanding of TiDB's technical goals and directions
    • Actively involved in organizing technical seminars and propose constructive subprojects
    • Can handle complex problems in the code implementation process
    • Obtained unanimous votes from the PMC
  • Privileges and responsibilities:
    • Develop technical design and decisions for subprojects.
    • Set the technical directions and priorities for subprojects.
    • Participate in product releases and roadmap development of the project
    • Continuously contribute to the project by mentoring Contributors, Reviewers, and Committers
    • Ensure the overall quality of the subprojects
Committer
Committers are recommended by Maintainers or the PMC as Contributors with outstanding contributions to TiDB. A Committer must have completed at least one feature or fix a major bug independently.
  • How to become a Committer:
    • Demonstrated good technical judgment
    • Assumed the Reviewer role in at least two or more subprojects
    • Reviewed or merged a certain amount of TiDB code
    • Contributed significantly to TiDB performance improvements, or fix major bugs
    • Voted by two or more incumbent Maintainers
  • Privileges and responsibilities:
    • Ensure overall code quality of the project
    • Guide Contributors and Reviewers to contribute to TiDB continuously
    • Participate in Committer meetings on a regular basis have
    • Have knowledge priority regarding project development
Reviewer
Reviewers are responsible for reviewing the code submitted by the community to ensure the quality and correctness; generated from Contributors.
  • How to become a Reviewer:
    • Familiar with the codebase
    • Contributed a certain amount of code to TiDB subprojects
    • Performed excellently in the Special Interest Group (SIG)
    • Sponsored by at least two incumbent Committers
  • Privileges and responsibilities:
    • Ensure the correctness of the subproject code
    • Respond promptly to PRs submitted by the community
    • Participate in SIG seminars on a regular basis
    • Approve code reviews with LGTM (Looks Good To Me)
Active Contributor
Active community contributors.
  • How to become a Reviewer:
    • Contributed 8 PRs and above to TiDB within one year
    • Received recognition from two incumbent Reviewers
  • Privileges and responsibilities:
    • Automatically qualify for entry to corresponding Special Interest Group (SIG)
Contributor
Community contributors with at least one PR merged to any repository under PingCAP.
Contribute your first PR

Your journey of becoming a contributor and committer starts from here: improving docs, improving code, giving talks, organizing meetups, etc. You can get your unique TiDB mug designed only for TiDB contributors. Start contributing now!

  1. Fork the project to your GitHub account
  2. Git Clone to your local repository
  3. Create a new branch based on the master branch
  4. Code and test in your local repository
  5. Commit and push your commit to the remote repository
  6. File a PR
  7. After we receive your PR, we will review your code, so please keep an eye on the conversations and comments of your PR. If you receive two LGTMs, your PR is approved and is to be merged! Congratulations on being a new TiDB contributor! Contact for your special swags as contributors.
New to the Community?

If you have never been working on any open source projects, we recommend that you start from reading TiDB related materials, especially the TiDB Internal series of StorageComputingScheduling. Then, get involved in the project by:

  • Looking for GitHub issues with the 'for new contributors' or 'help wanted' labels. These labels are usually easy and fun to start with.
  • Contributing to the documentation.
  • Reporting issues or fixing unknown/known bugs
  • Sharing your story with TiDB by creating case studies, technical blogs or give a talk at a local meetup or conferences.