Repository navigation
Add Reviewer role as suggested by CNCF TOC - #6
Conversation
|
I believe adding a Reviewer role is great from a contributor ladder perspective but 2 things I wanted to add to this PR or the overall Contributors section is:
Each of the contributor roles below is organized into three types of lists: Responsibilities: tasks that a contributor is expected to do at this level The final judgment on whether an individual fulfills the criteria for a role is up to the k0s Committers. After six months of inactivity for Committers and Reviewers, 12 months of inactivity for Organization Members, or after any behavior detrimental to the future of the project, any contributor can be removed from their position(s).
Responsibilities: Must follow the k0s CoC i.e. the CNCF CoC Anybody that is participating in the k0s community is welcome. Any contribution counts. Some possible forms of contribution are: Participating in community discussions
|
twz123
left a comment
There was a problem hiding this comment.
The roles are currently described in a very formal and abstract way. I wonder if we should write one or two sentences of prose about what's the effect of each role in day-to-day practice.
I currently tend to think about it in the following terms:
- contributors: CI runs automatically, no need for approvals anymore (which means: we trust those persons to not steal any tokens)
- reviewers: Can replace another maintainer, i.e. a maintainer can self-merge PRs that got a reviewer's approval.
Probably 6/12 months are probably too harsh, but I think we need at least something around role inactivity. OTOH, maybe we should add some time window for contributions that count for role eligibility, too? Doesn't make sense if 5 PRs merged over a period of 5 years are enough to become a contributor? |
I agree |
e34ea70 to
0b26389
Compare
|
Finetuned a bit according to the comments. @twz123 @prithvi1307 PTAL again. |
During a project review for Incubation, CNCF TOC suggests adding a intermediary role between contributor and maintainer. This PR suggests a Reviewer role to with authoritative review capabilities. Signed-off-by: Jussi Nummelin <jnummelin@mirantis.com>
0b26389 to
6cb5ed4
Compare
twz123
left a comment
There was a problem hiding this comment.
I'd always write "k0sproject, not "k0s project". It makes it more sound like an umbrella org IMO. (Still unsure if an article should be used in front or not.)
|
|
||
| * Meets monthly, Last Tuesday of every month 1:00 PM GMT | ||
| * [Agenda & Meeting Notes](https://docs.google.com/document/d/1K7kc4nARFsM60RpzWF7xREF9FHySDuWSu9_6dstkLlg/edit?tab=t.0#heading=h.s485wlw1do6e) | ||
| The k0s Project community meetings are scheduled via [LFX Calendar](https://zoom-lfx.platform.linuxfoundation.org/meetings/k0s?view=month). Meeting notes are kept in CNCF [notes](https://notes.cncf.io/s/_5FVgysYK) tool. Both of these require a Linux Foundation account to access. |
There was a problem hiding this comment.
Alternative suggestion:
| The k0s Project community meetings are scheduled via [LFX Calendar](https://zoom-lfx.platform.linuxfoundation.org/meetings/k0s?view=month). Meeting notes are kept in CNCF [notes](https://notes.cncf.io/s/_5FVgysYK) tool. Both of these require a Linux Foundation account to access. | |
| Community meetings for k0sproject are scheduled via the [LFX calendar](https://zoom-lfx.platform.linuxfoundation.org/meetings/k0s?view=month). Meeting notes are kept in the [CNCF Notes tool](https://notes.cncf.io/s/_5FVgysYK) tool. Access to both requires a Linux Foundation account. |
We could also add a link for account creation: https://docs.linuxfoundation.org/lfx/sso/create-an-account
| ## Project Roles & Contributor ladder | ||
|
|
||
| The k0s community welcomes all contributors and has well-defined roles detailed below. | ||
| The k0s community welcomes all contributors and has well-defined roles detailed below. The progression between the roles defines the contributor ladder. The contributor ladder is a way to provide a path for contributors to grow and take on more responsibilities in the project. Community members generally start at the first levels of the ladder and advance up it as their involvement in the project grows. |
There was a problem hiding this comment.
Alternative suggestion. (It's a bit hard to only place comments on certain parts of this paragraph, since there are no hard wraps.)
| The k0s community welcomes all contributors and has well-defined roles detailed below. The progression between the roles defines the contributor ladder. The contributor ladder is a way to provide a path for contributors to grow and take on more responsibilities in the project. Community members generally start at the first levels of the ladder and advance up it as their involvement in the project grows. | |
| The k0s community welcomes all contributors and has well-defined roles detailed below. The progression between roles defines the contributor ladder. It provides a path for contributors to grow and take on more responsibilities in the project. Community members typically begin at the bottom of the ladder and advance as they become more involved in the project. |
|
|
||
| As the k0s project grows, the current roles may be broken out into new roles and/or teams and roles may no longer be needed. | ||
|
|
||
| All roles within the k0s project will need to adhere to CNCF [Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). |
There was a problem hiding this comment.
| All roles within the k0s project will need to adhere to CNCF [Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). | |
| All roles within the k0s project will need to adhere to the CNCF [Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). |
| This document highlights the roles and responsibilities for the k0s community members. It also outlines the requirements for anyone who is looking to take on leadership roles in the k0s project. The following governance applies to all k0s subprojects. | ||
|
|
||
| **Note:** Please make sure to read the CNCF [Code of Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). | ||
| Each of the contributor roles below is organized into three types of lists: |
There was a problem hiding this comment.
| Each of the contributor roles below is organized into three types of lists: | |
| The contributor roles below are each characterized by three categories: |
| Responsibilities: tasks that a contributor is expected to do at this level | ||
| Qualifications: requirements a person needs to meet to be at that level | ||
| Privileges: rights contributors on that level are entitled to |
There was a problem hiding this comment.
Alternative suggestion. I'd at least add the formatting as a bullet point list.
| Responsibilities: tasks that a contributor is expected to do at this level | |
| Qualifications: requirements a person needs to meet to be at that level | |
| Privileges: rights contributors on that level are entitled to | |
| - **Responsibilities:** what contributors are expected to do in that role. | |
| - **Qualifications:** what contributors are expected to have or demonstrate to hold that role. | |
| - **Privileges:** what contributors are entitled to do in that role. |
| | Role | Requirements | Ongoing Responsibilities | Defined by | | ||
| |--------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| | ||
| | Contributors | At least five (5) contributions to any sub-project. | None | CONTRIBUTORS.md | | ||
| | Contributors | At least five (5) contributions to any sub-project. | None | CONTRIBUTORS.md, voted in by current maintainers of the given sub-project | | ||
| | Reviewers | An established contributor who regularly participates in the project via issues, PRs and discussions. | Review PRs and provide feedback to contributors. | Voted in by the k0s maintainers, listing in `MAINTAINERS.md`, GitHub organization member. | | ||
| | Maintainer | At least ten (10) contributions to a sub-project + Highly experienced and active contributor + Voted in by k0s maintainers. | Monitor project growth, set direction and priorities for a subproject. | Voted in by the k0s maintainers, listing in `MAINTAINERS.md`, GitHub organization member, and repository owner. | |
There was a problem hiding this comment.
Everything else in this table is ending with a period, so I'd do the same in the two cells in the Contributors row. Also, I'd just write "maintainers", not "k0s maintainers".
| | Role | Requirements | Ongoing Responsibilities | Defined by | | |
| |--------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| | |
| | Contributors | At least five (5) contributions to any sub-project. | None | CONTRIBUTORS.md | | |
| | Contributors | At least five (5) contributions to any sub-project. | None | CONTRIBUTORS.md, voted in by current maintainers of the given sub-project | | |
| | Reviewers | An established contributor who regularly participates in the project via issues, PRs and discussions. | Review PRs and provide feedback to contributors. | Voted in by the k0s maintainers, listing in `MAINTAINERS.md`, GitHub organization member. | | |
| | Maintainer | At least ten (10) contributions to a sub-project + Highly experienced and active contributor + Voted in by k0s maintainers. | Monitor project growth, set direction and priorities for a subproject. | Voted in by the k0s maintainers, listing in `MAINTAINERS.md`, GitHub organization member, and repository owner. | | |
| | Role | Requirements | Ongoing Responsibilities | Defined by | | |
| |--------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| | |
| | Contributors | At least five (5) contributions to any sub-project. | None. | CONTRIBUTORS.md, voted in by current maintainers of the given sub-project. | | |
| | Reviewers | An established contributor who regularly participates in the project via issues, PRs and discussions. | Review PRs and provide feedback to contributors. | Voted in by the maintainers, listing in `MAINTAINERS.md`, GitHub organization member. | | |
| | Maintainer | At least ten (10) contributions to a sub-project + Highly experienced and active contributor + Voted in by k0s maintainers. | Monitor project growth, set direction and priorities for a subproject. | Voted in by the maintainers, listing in `MAINTAINERS.md`, GitHub organization member, and repository owner. | |
| - Member of the k0s channel on Kubernetes and/or CNCF Slack | ||
| - Have at least five (5) PRs successfully merged for any repositories under the k0s organization in 6 month period | ||
| - The five PRs must demonstrate good judgment and a meaningful understanding of the project’s codebase, design, and development practices. The number of PRs alone is not sufficient to meet this requirement | ||
| - Member of the k0s channel(s) on Kubernetes and/or CNCF Slack |
There was a problem hiding this comment.
For all the contributors, I'd say they should be in both channels.
| - The five PRs must demonstrate good judgment and a meaningful understanding of the project’s codebase, design, and development practices. The number of PRs alone is not sufficient to meet this requirement | ||
| - Member of the k0s channel(s) on Kubernetes and/or CNCF Slack | ||
| - Attended one (1) Contributors Meeting as documented | ||
| - Check-in with maintainers to make yourself eligible to be voted in as a Contributor by the maintainers |
There was a problem hiding this comment.
| - Check-in with maintainers to make yourself eligible to be voted in as a Contributor by the maintainers | |
| - Check-in with maintainers to make themselves eligible to be voted in as a Contributor by the maintainers |
| - Provides feedback to contributors | ||
| - Helps maintain the quality of the project | ||
| - Reviewer approvals are considered authoritative and count toward required pull request approvals | ||
| - Reviewer can give authoritative review for a maintainers PRs and their approvals are considered binding for the purpose of merging |
There was a problem hiding this comment.
| - Reviewer can give authoritative review for a maintainers PRs and their approvals are considered binding for the purpose of merging | |
| - Reviewers can give authoritative review for a maintainers PRs and their approvals are considered binding for the purpose of merging |
| An off-boarding vote may be called by any maintainer if any of the following criteria are met: | ||
| - A maintainer has made less than 30 contributions over a span of 1 year. | ||
|
|
||
| - A maintainer or contributor has become in-active, meaning they have not contributed or participated in project activities for an extended period. |
There was a problem hiding this comment.
| - A maintainer or contributor has become in-active, meaning they have not contributed or participated in project activities for an extended period. | |
| - A maintainer or contributor has become inactive, meaning they have not contributed to or participated in project activities for an extended period of time. |
|
@prithvi1307 @ncopa @soltysh care to have a look. Would appreciate a second LGTM before merging |
|
LGTM |
|
I agree with @twz123's comments |
|
I missed posting my comment, but Tom commented about the CI, we've talked on one of our earlier calls. So all in all this lgtm. @jnummelin we should probably go ahead and ensure the links are pointing to pre-populated files. Currently https://github.com/k0sproject/k0s/blob/main/CONTRIBUTORS.md and https://github.com/k0sproject/k0s/blob/main/MAINTAINERS.md don't exist. I'll open a PR adding them and will ping you to double check me on it. |
During a project review for Incubation, CNCF TOC suggests adding a intermediary role between contributor and maintainer.
This PR suggests a Reviewer role to with authoritative review capabilities.
See cncf/toc#1962 (comment)