This document describes the set of roles individuals may have within the SOFAStack community, the requirements of each role, and the privileges that each role grants.
Here is the set of roles we use within the SOFAStack community, the general responsibilities expected by individuals in each role, the requirements necessary to join or stay in a given role, and the concrete manifestation of the role in terms of permissions and privileges.
Our community has the following three roles in accordance with Apache's specifications.
- Contributor
- Committer
- PMC
The requirements, responsibilities, and privileges of the three roles are described below.
Requirements
Successfully submitting a PR and merged in any formal project of SOFAStack.
Responsibilities
Positively respond to the Issue or PR assigned to you.
Privileges
Join the SOFAStack GitHub organization and become a member of the SOFAStack open source community.
Requirements
New Committer is recommended by existing PMC and produced by 2/3 PMC vote passed with the following single or multiple achievements (including but not limited to):
- Become a member of the community for more than 3 months
- More than 10 PMC-approved commit merge records
- Complete some larger features
- Fix some important bugs
Responsibilities
- Community advisory support
- Respond to the Issue or PR assigned to them
- Voting rights of major functional decision-making discussion
- Review community PR
Privileges
- Pull Request review permission
- Pull Request approve permission
Requirements
- Existing PMC nominations and 2/3 votes passed
- Long-term focus on product development and participation in community discussions for at least one year
Responsibilities
- Actively participate in community discussions and key functional decisions and provide guidance
- Responsible for ensuring that community activities in open source projects work well
Privileges
- Pull Request review permission
- Pull Request approve permission
- Merge permission