The governance model adopted in Stanza is influenced by many CNCF projects.
- Open: Stanza is an open source community.
- Welcoming and respectful: Stanza follows the CNCF Code of Conduct.
- Transparent and accessible: Work and collaboration should be done in public.
- Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, scope, and design principles.
Maintainers are the first and foremost contributors that are committed to the success of Stanza project. Each maintainer should fulfill several of the following responsibilities:
- Strive to make stanza widely while taking care not to unjustifiably inflate its scope.
- Carefully consider input from the community and seek consensus with amongst maintainers.
- Create and classify GitHub issues and perform pull request reviews for other maintainers and the community.
- Use ones best judgement to apply all applicable labels to each new GitHub issue.
- Make sure that ongoing PRs are moving forward at the right pace or closing them if they are not moving in a productive direction.
- Create releases of the library as necessary.
- Understand that maintainers are expected to have a deep understanding of the project and that they should be able to independently fulfill maintainer responsibilities.
- Talk to some of the existing maintainers. Explain that you are interested in becoming a maintainer and why you think you are a good fit for the role.
- Contribute increasingly complicated PRs under the guidance of the existing maintainers.
- When a maintainer believes you are ready, he or she may nominate you by creating a PR to add your to the list in MAINTAINERS.md.
- Once the existing maintainers have reached consensus that the nominatee is ready for the role and approved the PR, it will be merged and the new maintainer becomes active.
- If a maintainer is no longer interested or cannot perform the maintainer duties listed above, they should volunteer to be moved to emeritus status.
- In extreme cases a PR may be created to remove a maintainer. This PR must be approved by a 2/3 majority of maintainers to be approved.
Decisions are made based on consensus between maintainers. Proposals and ideas should be submitted as a github issue or PR.
In general, we prefer that technical issues and maintainer membership are amicably worked out between the persons involved. If a dispute cannot be decided independently, then a third-party maintainer (e.g. a mutual contact with some background on the issue, but not involved in the conflict) to arbitrate and the final decision will be made. Decision making process should be transparent to adhere to the principles of Stanza project.
Some contents in this documents have been borrowed from the OpenYurt project.