The Brigade project is archived. Learn more.

You are viewing docs for Brigade v2. Click here for v1 docs.

Brigade Docs

Contributor Ladder

This document outlines the different contributor roles within the Brigade Project, along with their accompanying responsibilities and privileges. Community members generally start at the first levels of the ladder and climb the ladder as their involvement in the Project grows. Project Maintainers and Core Maintainers are happy to do what they can to help anyone advance along the contributor ladder.

⚠️  Throughout this document, “project” (with a lowercase “p”) is used to denote individual software projects or source code repositories that are related in some way to Brigade and owned by the @brigadecore GitHub org. In contrast, “Project” (with an uppercase “P”) is used to denote the entire breadth of Brigade as a “program” encompassing Brigade itself and all related software projects or source code repositories owned by the @brigadecore org.

Community Participant

Community Participant is the de facto role for any Brigade user who ceases to be anonymous and begins publicly interacting with the Brigade Community. Some ways to become a Community Participant include, but are not limited to, voluntarily:

  • Participating in Community discussions (e.g. on Slack)
  • Assisting other Community Participants
  • Opening or commenting on issues
  • Commenting on PRs
  • Trying out new releases
  • Attending Community events

All Community Participants must adhere to the CNCF Code of Conduct

Contributor

A Contributor is a Community Participant who goes a step farther and contributes directly to moving the Brigade Project forward in some fashion. All that is required to become a Contributor is to start contributing! Contributions do not need not be code. Some ways to contribute include, but are not limited to, voluntarily:

  • Opening PRs containing code, documentation, or other content
  • Using knowledge of Brigade to substantially assist other Community Participants
  • Publicly promoting the Brigade Project

Organization Member

An Organization Member is an established and trusted Contributor who contributes regularly to the Brigade Project and has been granted membership by the Core Maintainers in the @brigadecore GitHub org.

An Organization Member must have:

  • Made several contributions to the Project
  • Earned the trust of the Core Maintainers
  • A demonstrated need for org membership
    • Usually this will be because Core Maintainers have determined that the individual requires (and is trusted with) elevated permissions vis-à-vis one or more GitHub repositories belonging to the @brigadecore GitHub org.

Privileges include:

  • CI processes that run automatically for their PRs
  • Authorizing CI processes to run for PRs from other Contributors

Project Maintainer

Project Maintainers are established and trusted Contributors who are granted broad responsibility for one or more, but not all, projects owned by the @brigadecore GitHub org. They are, generally, but not necessarily, Organization Members. Project Maintainers (along with Core Maintainers) have responsibility for ensuring the quality of code contributions by means of conducting (or delegating) thorough reviews of PRs.

Project Maintainers must:

  • Have earned the trust of the Core Maintainers
  • Exercise sound judgement for the good of their project(s) and the Project, independent of their employer’s interests
  • Contribute regularly to their project(s)
  • Conduct PR reviews
  • Mentor other Contributors
  • Regularly participate in Community meetings

Privileges include:

  • Write and administrative access to applicable repositories
  • Publicly representing their respective project(s)
  • Having a vote in matters affecting project direction, including the election of new Project Maintainers

Becoming a Project Maintainer for a given project requires a formal nomination by one of that project’s existing Maintainers or a Core Maintainer. The project’s existing Maintainers and Core Maintainers are eligible to vote. Nominations and voting must occur publicly in an issue in the applicable GitHub repository. Polling must remain open for a period of no less than two weeks or until a simple majority is obtained.

Core Maintainer

Core Maintainers are established Contributors who are granted broad and ultimate responsibility for the entirety of the Brigade Project.

Core Maintainers must:

  • Must have earned the trust of the existing Core Maintainers
  • Have made extensive contributions to the Project
  • Posses deep technical knowledge of Brigade
  • Exercise sound judgement for the good the Project, independent of their employer’s interests
  • Contribute regularly to the Project
  • Conduct PR reviews
  • Mentor other Contributors
  • Regularly participate in Community meetings

Privileges include:

  • Write and administrative access to all Project repositories
  • Administrative access to the @brigadecore org
  • Publicly representing the Brigade Project
  • Communicating with CNCF on behalf of the Project
  • Stewardship of Project secrets (passwords, keys, etc.)
  • Having a vote in matters affecting Project direction, including the election of new Project Maintainers and Core Maintainers

Becoming a Core Maintainer requires a formal nomination by an existing Core Maintainer. All existing Core Maintainers are all eligible to vote. Nominations and voting must occur publicly in an issue in Brigade’s main GitHub repository. Polling must remain open for a period of no less than two weeks or until a simple majority is obtained.

Maintainer Emeritus

Maintainers Emeriti are individuals who have voluntarily stepped down from the Core Maintainer role or been honorably discharged from that role by fellow Core Maintainers due to inactivity or competing commitments. The Project owes a debt of gratitude to these individuals and their re-ascension of the contributor ladder may be fast-tracked if or when their routine contributions to the Project resume.

Involuntary Removal of Maintainers

Involuntary removal/demotion of Project Maintainers or Core Maintainers may occur if such an individual is unable to meet their responsibilities, as described by this document.

As a professional courtesy, any Project Maintainer or Core Maintainer that is the subject of potential involuntary removal will be asked first to step down voluntarily.

The process for involuntary removal mirrors the process for Project Maintainer and Core Maintainer nominations and elections. The process must occur publicly in an issue of a applicable GitHub repository and polling must remain open for a period of no less than two weeks or until a simple majority of the eligible voters has been obtained. Any Project Maintainer or Core Maintainer that is the subject of potential involuntary removal is ineligible to vote in the matter of their removal.