|
| 1 | +# Kube-rs Governance |
| 2 | + |
| 3 | +This document defines project governance for Kube-rs. |
| 4 | + |
| 5 | +## Contributors |
| 6 | + |
| 7 | +Kube-rs is for everyone. Anyone can become a Kube-rs contributor simply by contributing to the project, whether through code, documentation, blog posts, community management, or other means. |
| 8 | +As with all Kube-rs community members, contributors are expected to follow the [Kube-rs Code of Conduct][coc]. |
| 9 | + |
| 10 | +All contributions to Kube-rs code, documentation, or other components in the Kube-rs GitHub org must follow the guidelines in [CONTRIBUTING.md][contrib]. |
| 11 | +Whether these contributions are merged into the project is the prerogative of the maintainers. |
| 12 | + |
| 13 | +## Maintainer Expectations |
| 14 | + |
| 15 | +Maintainers have the ability to merge code into the project. Anyone can become a Kube-rs maintainer (see "Becoming a maintainer" below.) |
| 16 | + |
| 17 | +As such, there are certain expectations for maintainers. Kube-rs maintainers are expected to: |
| 18 | + |
| 19 | +* Review pull requests, triage issues, and fix bugs in their areas of expertise, ensuring that all changes go through the project's code review and integration processes. |
| 20 | +* Monitor the Kube-rs Discord, and Discussions and help out when possible. |
| 21 | +* Rapidly respond to any time-sensitive security release processes. |
| 22 | +* Participate on discussions on the roadmap. |
| 23 | + |
| 24 | +If a maintainer is no longer interested in or cannot perform the duties listed above, they should move themselves to emeritus status. |
| 25 | +If necessary, this can also occur through the decision-making process outlined below. |
| 26 | + |
| 27 | +### Maintainer decision-making |
| 28 | + |
| 29 | +Ideally, all project decisions are resolved by maintainer consensus. |
| 30 | +If this is not possible, maintainers may call a vote. |
| 31 | +The voting process is a simple majority in which each maintainer receives one vote. |
| 32 | + |
| 33 | +### Special Tasks |
| 34 | + |
| 35 | +In addition to the outlined abilities and responsibilities outlined above, some maintainer take on additional tasks and responsibilities. |
| 36 | + |
| 37 | +#### Release Tasks |
| 38 | + |
| 39 | +As a maintainer on the release team, you are expected to: |
| 40 | + |
| 41 | +* Cut releases, and update the [CHANGELOG](./CHANGELOG.md) |
| 42 | +* Pre-verify big releases against example repos |
| 43 | +* Publish and update versions in example repos |
| 44 | +* Verify the release |
| 45 | + |
| 46 | +### Becoming a maintainer |
| 47 | + |
| 48 | +Anyone can become a Kube-rs maintainer. Maintainers should be highly proficient in Rust; have relevant domain expertise; have the time and ability to meet the maintainer expectations above; and demonstrate the ability to work with the existing maintainers and project processes. |
| 49 | + |
| 50 | +To become a maintainer, start by expressing interest to existing maintainers. |
| 51 | +Existing maintainers will then ask you to demonstrate the qualifications above by contributing PRs, doing code reviews, and other such tasks under their guidance. |
| 52 | +After several months of working together, maintainers will decide whether to grant maintainer status. |
| 53 | + |
| 54 | +[coc]: https://github.com/kube-rs/kube-rs/blob/master/code-of-conduct.md |
| 55 | +[contrib]: https://github.com/kube-rs/kube-rs/blob/master/CONTRIBUTING.md |
0 commit comments