Skip to content

Latest commit

 

History

History
141 lines (111 loc) · 8.32 KB

Contributor_Ladder.md

File metadata and controls

141 lines (111 loc) · 8.32 KB

Contributor Ladder

中文贡献者阶梯

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 contributor roles below is organized into lists of three types of things. "Responsibilities" are things that 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.

Contributor

Description: 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):
    • Submit at least one PR (Necessary)
    • Report and sometimes resolve issues
    • 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

Note: The necessary requirement to become a Contributor is to submit at least one PR, and other requirements are optional

Organization Member

Description: 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.
    • Authoring or reviewing PRs on GitHub.
    • Filing or commenting on issues on GitHub.
    • Contributing to community discussions (e.g. meetings, discussion group)
  • Requirements:
    • Must have successful contributions to the project, including at least one of the following:
      • 5 accepted PRs in 6 months (Necessary)
      • Resolved and closed 5 Issues in 5 months
      • Become responsible for a key project management area,
      • Or some equivalent combination or contribution
    • Must be actively contributing to at least one project area
    • Must have two sponsors who are also Organization Members, at least one of whom does not work for the same employer
  • Privileges:
    • May be assigned Issues and Reviews
    • Entitled to vote in the member election
    • Can recommend other contributors to become Org Members

The process for a Contributor to become an Organization Member is as follows:

  1. Determine whether you meet the requirements. If satisfied, submit an ISSUE in the community with relevant supporting documents
  2. The community reviews the relevant information. If the community approve and no other members object, applicant need to submie a PR
  3. PR accepted, applicant will be successfully added to the Member list

Reviewer

Description: A Reviewer has responsibility for specific code, documentation, test, or other project areas. They are collectively responsible, with other Reviewers, for reviewing all changes to those areas and indicating whether those changes are ready to merge. They have a track record of contribution and review in the project.

Reviewers have all the rights and responsibilities of an Organization Member, plus:

  • Responsibilities include:
    • Following the reviewing guide
    • Reviewing most Pull Requests against their specific areas of responsibility
    • Reviewing at least 10 PRs per year
    • Helping other contributors become reviewers
  • Requirements:
    • Experience as a Member for at least 3 months
    • Has demonstrated an in-depth knowledge of the specific area
    • Commits to being responsible for that specific area
    • Is supportive of new and occasional contributors and helps get useful PRs in shape to commit
  • Additional privileges:
    • Has GitHub or CI/CD rights to approve pull requests in specific directories
    • Can recommend and review other contributors to become Reviewers

The process of becoming a Reviewer is:

  1. Determine whether you meet the requirements. If satisfied, submit an ISSUE in the community with relevant supporting documents
  2. The community reviews the relevant information. If the communtity approve and no other reviewer object, applicant need to submie a PR
  3. PR accepted, applicant will be successfully added to the Reviewer list

Maintainer

Description: Maintainers are very established contributors who are responsible for the entire project. As such, they have the ability to approve PRs against any area of the project, and are expected to participate in making decisions about the strategy and priorities of the project.

A Maintainer must meet the responsibilities and requirements of a Reviewer, plus:

  • Responsibilities include:
    • Maintainers are very established contributors who are responsible for the entire project.
    • Reviewing at least 10 PRs per year, especially PRs that involve multiple parts of the project
    • Mentoring new Reviewers
    • Participating in CNCF maintainer activities
    • Determining strategy and policy for the project
    • Participating in, and leading, community meetings
  • Requirements
    • Experience as a Reviewer for at least 6 months
    • Demonstrates a broad knowledge of the project across multiple areas
    • Is able to exercise judgement for the good of the project, independent of their employer, friends, or team
    • Mentors other contributors
  • Additional privileges:
    • Approve PRs to any area of the project
    • Represent the project in public as a Maintainer
    • Communicate with the CNCF on behalf of the project
    • Have a vote in Maintainer decision-making meetings

Process of becoming a maintainer:

  1. Determine whether you meet the requirements. If satisfied, submit an ISSUE in the community with relevant supporting documents
  2. The community reviews the relevant information. If the communtity approve and no other maintainer object, applicant need to submie a PR
  3. PR accepted, applicant will be successfully added to the Reviewer list

Inactivity

It is important for contributors to be and stay active to set an example and show commitment to the project. Inactivity is harmful to the project as it may lead to unexpected delays, contributor attrition, and a lost of trust in the project.

  • Inactivity is measured by:
    • No meaningful action in the community for more than three months
  • Consequences of being inactive include:
    • Involuntary removal or demotion
    • Being asked to move to Emeritus status

Involuntary Removal or Demotion

Involuntary removal/demotion of a contributor happens when responsibilities and requirements aren't being met. This may include repeated patterns of inactivity, extended period of inactivity, a period of failing to meet the requirements of your role, and/or a violation of the Code of Conduct. This process is important because it protects the community and its deliverables while also opens up opportunities for new contributors to step in.

Involuntary removal or demotion is handled through a vote by a majority of the current Maintainers.