Overview
This document describes how that participation takes place and how to set about earning merit within the project community.
Roles and Responsibilities
Apollo community is composed of and operated by the following roles:
- Contributors
- Committers
- Project Management Committee (PMC)
Users are community members who have a need for the project. They are the most important members of the community and without them the project would have no purpose. Anyone can be a user and there are no special requirements.
Contributors are community members who contribute in concrete ways to the project.
- merged at least 1 pull request
- Actively answer technical questions raised by community users in GitHub issues.
- Help test the projects
- Help review the pull requests (PRs) submitted by others
- Help improve technical documents
- Submit valuable issues
- Report or fix known and unknown bugs
- Write articles about source code analysis and usage cases for a project.
- Give representations of Apollo topic in conferences.
- Take part in our discussions of features, enhancements, etc.
Members are active contributors who have made multiple contributions to the project or community. They will be invited as a member of the apollo organization.
How to become a Member
- Enabled two-factor authentication on their GitHub account
- Have made multiple contributions to the project or community, e.g. authoring or reviewing PRs, commenting on issues/discussions, etc
- in the apollo-community repo
- Sponsored by two PMC members, i.e. replying to confirm sponsorship in the member request
- Responsive to issues and PRs assigned to them
- Active owner of code contributed by them, e.g. Addresses bugs or issues discovered after code is accepted
Committers are contributors who have shown that they are committed to the continued development of the project through ongoing engagement with the community and recognized by PMCs for their outstanding contributions.
How to become a Committer
A Committer must have accomplished one or more of the following items:
- Demonstrated a good sense of responsibility in PR reviews.
- Demonstrated deep understanding of Apollo components by contributing significantly as:
- Finished 2 or more tasks of Medium difficulty
- Fixed 1 or more tasks of Hard difficulty
- Nominated by one PMC member and gained more +1 than -1.
- Have the Write role of the apollo community
- Control overall code quality of projects
- Guide Contributors to contribute to the community continuously
- Participate in design discussions
The PMC(Project Management Committee) functions as the core management team that oversees the Apollo community. The PMC has additional responsibilities over and above those of Committers. These responsibilities ensure the smooth running of the project.
How to become a PMC member
- Membership of the PMC is by invitation from the existing PMC members.
- A nomination will result in discussion and then a vote by the existing PMC members.
- PMC membership votes are subject to consensus approval of the current PMC members.
- Handle reported security issues (CVE, etc.)
- Nominate new committers and PMC members
- Vote on new committers and new PMC members
- Make decisions when community consensus cannot be reached
Decision-making and voting
Major changes such as feature proposals and organization or process changes should be brought to the PMC. For the change to happen, the change must earn more +1 than -1.
Conflict resolution
In general, we prefer that technical issues and other disputes upon which consensus can’t be reached are amicably worked out between the persons involved. If a dispute cannot be decided independently, the PMC can be called in to resolve the issue by voting. The same PR can be used, or a separate PR can be opened for voting.
Changes in Governance
Any change in this Governance document, or similar nature of changes to other governance related documents, shall go through the voting process as described in .
Credits
The contents of this document are based on , TiDB Governance and .