This document defines project governance for the project.
Backstage Maintainers have write access to the Backstage GitHub repository https://github.com/backstage/backstage. The current maintainers can be found in MAINTAINERS.
This privilege is granted with some expectation of responsibility: maintainers are people who care about the Backstage project and want to help it grow and improve. A maintainer is not just someone who can make changes, but someone who has demonstrated his or her ability to collaborate with the team, get the most knowledgeable people to review code, contribute high-quality code, and follow through to fix issues (in code or tests).
A maintainer is a contributor to the Backstage project's success and a citizen helping the project succeed.
To become a maintainer you need to demonstrate the following:
- commitment to the project
- participate in discussions, contributions, code reviews for 3 months or more,
- perform code reviews for 10 non-trivial pull requests,
- contribute 10 non-trivial pull requests and have them merged into master,
- ability to write good code,
- ability to collaborate with the team,
- understanding of how the team works (policies, processes for testing and code review, etc),
- understanding of the project's code base and coding style.
A new maintainer must be proposed by an existing maintainer by opening an issue (with title Maintainer Nomination
) to the Backstage GitHub repository (https://github.com/backstage/backstage) containing the following information:
- nominee's first and last name,
- nominee's email address and GitHub user name,
- an explanation of why the nominee should be a maintainer,
- a list of links to non-trivial pull requests (top 10) authored by the nominee.
Maintainers can be removed by a 2/3 majority vote.
PRs may be merged after receiving at least one approval from a maintainer.
Maintainers will be added to the collaborators list of the Backstage repository with "Write" access.
All changes in Governance require a 2/3 majority vote.
Unless specified above, all other changes to the project require a 2/3 majority vote. Additionally, any maintainer may request that any change require a 2/3 majority vote.