Contributor Ladder
Hello! We are excited that you want to learn more about our project contributor ladder! This contributor ladder outlines the different contributor roles within the project, along with the responsibilities and privileges that come with them. Community members generally start at the first levels of the "ladder" and advance up it as their involvement in the project grows. Our project members are happy to help you advance along the contributor ladder.
Each of the roles is organized into lists of three types of things. "Responsibilities" are things that a contributor is expected to do. "Requirements" are qualifications a person needs to meet to be in that role, and "Privileges" are things contributors on that level are entitled to.
Community Participant
A Community Participant engages with the project and its community, contributing their time, thoughts, etc. Community participants are usually users who have stopped being anonymous and started being active in project discussions.
- Responsibilities:
- Must follow the CNCF CoC
- How users can get involved with the community:
- Participating in community discussions
- Submitting bug reports
- Commenting on issues
- Trying out new releases
- Attending community events
- Reviewing pull requests
Contributor
A Contributor contributes directly to the project and adds value to it. Contributions need not be code. People at the Contributor level may be new contributors, or they may only contribute occasionally.
- Responsibilities include:
- Follow the CNCF CoC
- Follow the project contributing guide
- Requirements (one or several of the below):
- Report and sometimes resolve issues
- Occasionally submit PRs
- Contribute to the documentation
- Show up at meetings, takes notes
- Answer questions from other community members
- Submit feedback on issues and PRs
- Test releases and patches and submit reviews
- Run or helps run events
- Promote the project in public
- Help run the project infrastructure
- Privileges:
- Invitations to contributor events
- Eligible to become an Organization Member
Organization Member
An Organization Member is an established contributor who regularly participates in the project. Organization Members have privileges in both project repositories and elections, and as such are expected to act in the interests of the whole project.
An Organization Member must meet the responsibilities and has the requirements of a Contributor, plus:
- Responsibilities include:
- Continues to contribute regularly
- Help uphold our community values and welcome newcomers
- Requirements:
- Enabled two-factor authentication on their GitHub account
- Have made multiple contributions to the project or community. Contributions
may include, but is not limited to:
- Authoring or reviewing PRs on GitHub
- Filing or commenting on issues on GitHub
- Contributing to subprojects, or community discussions (e.g. meetings, chat, email, and discussion forums)
- Joined the Slack channel
- Have read the contributor guide
- Actively contributing to 1 or more subprojects.
- Privileges:
- May be assigned Issues and Reviews
- May give commands to CI/CD automation
- Can recommend other contributors to become Org Members
The process for a Contributor to become an Organization Member is as follows:
-
Sponsored by 2 Approver. Note the following requirements for sponsors:
- Sponsors must have close interactions with the prospective member - e.g. code/design/proposal review, coordinating on issues, etc.
- Sponsors must be in an approvers or maintainers team for at least one resource in theCommunity Configuration.
- Sponsors must be from multiple member companies to demonstrate integration across community.
-
- Ensure your sponsors are
@mentioned
on the issue - Complete every item on the checklist (preview the current version of the template)
- Make sure that the list of contributions included is representative of your work on the project.
- Ensure your sponsors are
-
Have your sponsoring reviewers reply confirmation of sponsorship:
I support
-
Once your sponsors have responded, your request will be reviewed by the Technical Committee (TC). Any TC member can review the requirements and add Members to the GitHub org.
Triager
Triagers assist the maintainers and approvers with project management and backlog organization. The specific workflows and triage requirements depend on the project, and are set by the project maintainers.
Defined by: Triage permissions, with the names of the current Triagers committed to git, either in CONTRIBUTING, CODEOWNERS, or the bottom of the README.
Triagers may be code contributors, but writing code is not a requirement for becoming a triager. Triagers are encouraged to be active participants in project meetings, chat rooms, and other discussion forums.
-
Requirements
- Nominated by a maintainer, with no objections from other maintainers.
- Consistently contribute in meetings or in issues, PRs or discussions.
-
Responsibilities and privileges
- Have an understanding of the goals and workflows defined by the maintainers.
- Respond to new PRs and Issues by asking clarifying questions.
- Organize the backlog by applying labels, milestones, assignees, and projects.
The process of becoming a Triager is:
- The contributor is nominated by opening a PR against the appropriate repository, which adds their GitHub username to the respective GitHub team for one or more directories.
- At least two members of the team that owns that repository or main directory, who are already Approvers, approve the PR.