From 16d2fd003e52151952da82896a46462ef01697f9 Mon Sep 17 00:00:00 2001 From: clux Date: Sun, 24 Oct 2021 18:37:36 +0100 Subject: [PATCH 1/8] governance and mainteners in the style of linkerd Signed-off-by: clux --- CONTRIBUTING.md | 4 ++-- governance.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ maintainers.md | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 governance.md create mode 100644 maintainers.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b5c6d0cfd..902ef6771 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,8 +16,8 @@ process. To contribute a PR, fork this project, create a new branch, make changes on that branch, and then use GitHub to open a pull request with your changes. -Every PR must be reviewed by at least one [Core Maintainer](https://github.com/orgs/kube-rs/teams/core-maintainers) of the project. Once -a PR has been marked "Approved" by a Core Maintainer (and no other core +Every PR must be reviewed by at least one [Maintainer](./maintainers.md) of the project. Once +a PR has been marked "Approved" by a Maintainer (and no other core maintainer has an open "Rejected" vote), the PR may be merged. While it is fine for non-maintainers to contribute their own code reviews, those reviews do not satisfy the above requirement. diff --git a/governance.md b/governance.md new file mode 100644 index 000000000..4260e9c0f --- /dev/null +++ b/governance.md @@ -0,0 +1,47 @@ +# Kube-rs Governance + +This document defines project governance for Kube-rs. + +> The Kube-rs maintainers are 100% committed to open governance and to being +> hosted by a neutral foundation. We believe that a diverse and active set of +> maintainers is fundamental to the long-term health of an open source project. +> And we want YOU to join us. + +## Contributors + +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. +As with all Kube-rs community members, contributors are expected to follow the [Kube-rs Code of Conduct][coc]. + +All contributions to Kube-rs code, documentation, or other components in the Kube-rs GitHub org must follow the guidelines in [CONTRIBUTING.md][contrib]. +Whether these contributions are merged into the project is the prerogative of the maintainers. + +## Maintainer Expectations + +Maintainers have the ability to merge code into the project. Anyone can become a Kube-rs maintainer (see "Becoming a maintainer" below.) + +As such, there are certain expectations for maintainers. Kube-rs maintainers are expected to: + +* 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. +* Monitor the Kube-rs Discord, and help out when possible. +* Rapidly respond to any time-sensitive security release processes. +* Attend meetings with the Kube-rs Steering Committee. + +If a maintainer is no longer interested in or cannot perform the duties listed above, they should move themselves to emeritus status. +If necessary, this can also occur through the decision-making process outlined below. + +### Maintainer decision-making + +Ideally, all project decisions are resolved by maintainer consensus. +If this is not possible, maintainers may call a vote. +The voting process is a simple majority in which each maintainer receives one vote. + +### Becoming a maintainer + +Anyone can become a Kube-rs maintainer. Maintainers should be extremely 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. + +To become a maintainer, start by expressing interest to existing maintainers. +Existing maintainers will then ask you to demonstrate the qualifications above by contributing PRs, doing code reviews, and other such tasks under their guidance. +After several months of working together, maintainers will decide whether to grant maintainer status. + +[coc]: https://github.com/kube-rs/kube-rs/blob/master/code-of-conduct.md +[contrib]: https://github.com/kube-rs/kube-rs/blob/master/CONTRIBUTING.md diff --git a/maintainers.md b/maintainers.md new file mode 100644 index 000000000..ddb04b0fa --- /dev/null +++ b/maintainers.md @@ -0,0 +1,32 @@ +# Maintainers + +The Kube-rs maintainers are: + +* Eirik Albrigtsen @clux, +* Teo Klestrup Röijezon @teozkr +* kazk @kazk + +## Steering Committee + +The Kube-rs Steering Committee members are: + +* Eirik Albrigtsen @clux (TrueLayer) +* Teo Klestrup Röijezon @teozkr (Stackable) +* kazk @kazk (Qualified) + +## Emeriti + +Former maintainers include: + +* Ryan Levick @rylev + + + From c8babf02ee9e119de9140ecd64933f61a8236442 Mon Sep 17 00:00:00 2001 From: clux Date: Sun, 24 Oct 2021 23:20:22 +0100 Subject: [PATCH 2/8] simplify governance and remove meeting requirement we don't do regular meetings - everything is ad-hoc async. Signed-off-by: clux --- governance.md | 6 +++--- maintainers.md | 11 +---------- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/governance.md b/governance.md index 4260e9c0f..48d47877e 100644 --- a/governance.md +++ b/governance.md @@ -22,9 +22,9 @@ Maintainers have the ability to merge code into the project. Anyone can become a As such, there are certain expectations for maintainers. Kube-rs maintainers are expected to: * 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. -* Monitor the Kube-rs Discord, and help out when possible. +* Monitor the Kube-rs Discord, and Discussions and help out when possible. * Rapidly respond to any time-sensitive security release processes. -* Attend meetings with the Kube-rs Steering Committee. +* Participate on discussions on the roadmap. If a maintainer is no longer interested in or cannot perform the duties listed above, they should move themselves to emeritus status. If necessary, this can also occur through the decision-making process outlined below. @@ -37,7 +37,7 @@ The voting process is a simple majority in which each maintainer receives one vo ### Becoming a maintainer -Anyone can become a Kube-rs maintainer. Maintainers should be extremely 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. +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. To become a maintainer, start by expressing interest to existing maintainers. Existing maintainers will then ask you to demonstrate the qualifications above by contributing PRs, doing code reviews, and other such tasks under their guidance. diff --git a/maintainers.md b/maintainers.md index ddb04b0fa..aa1dacf50 100644 --- a/maintainers.md +++ b/maintainers.md @@ -2,25 +2,16 @@ The Kube-rs maintainers are: -* Eirik Albrigtsen @clux, +* Eirik Albrigtsen @clux * Teo Klestrup Röijezon @teozkr * kazk @kazk -## Steering Committee - -The Kube-rs Steering Committee members are: - -* Eirik Albrigtsen @clux (TrueLayer) -* Teo Klestrup Röijezon @teozkr (Stackable) -* kazk @kazk (Qualified) - ## Emeriti Former maintainers include: * Ryan Levick @rylev -