Skip to content

Add Reviewer role as suggested by CNCF TOC - #6

Merged
jnummelin merged 1 commit into
k0sproject:mainfrom
jnummelin:reviewers-role
Sep 21, 2026
Merged

jnummelin merged 1 commit into
k0sproject:mainfrom
jnummelin:reviewers-role

Conversation

@jnummelin

Copy link
Copy Markdown
Member

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)

@prithvi1307

Copy link
Copy Markdown
Contributor

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:

  1. Defining a Contributor Ladder:
    Contributor Ladder
    This document outlines the different contributor roles within the k0s project, along with the responsibilities and privileges that come with them. Community members generally start at the first levels of the ladder and advance up it as their involvement in the project grows. Our contributors are happy to support your growth up the ladder!

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
Qualifications: requirements a person needs to meet to be at that level
Privileges: rights contributors on that level are entitled to
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.

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).

  1. Defining a Contributor Explicitly:
    A Community Contributor contributes directly to the project and adds value to it. Contributions need not be code. People at the Community Contributor level may be new contributors, or they may only contribute occasionally.

Responsibilities:

Must follow the k0s CoC i.e. the CNCF CoC
Adheres to the contributing guide for each project
For example, see k0s's 'How to Contribute' Guide
Qualifications:

Anybody that is participating in the k0s community is welcome. Any contribution counts. Some possible forms of contribution are:

Participating in community discussions
Helping other users in Slack or in person
Submitting bug reports
Trying out new releases
Attending community events
Giving talks about k0s virtually or in person
Report and sometimes resolve issues
Occasionally submit PRs
Writing a CFP
Contribute to the documentation
Show up at community meetings and/or leads and/or takes notes
Answer questions from other community members
Submit feedback and comments on issues and PRs
Test releases and patches and submit reviews
Promote the project in public

  1. Defining a k0s Committer, if not now then in the future.

@twz123 twz123 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@twz123

twz123 commented Sep 7, 2026

Copy link
Copy Markdown
Member

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).

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?

@prithvi1307

Copy link
Copy Markdown
Contributor

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).

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

@jnummelin

Copy link
Copy Markdown
Member Author

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>

@twz123 twz123 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.)

Comment thread GOVERNANCE.md

* 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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternative suggestion:

Suggested change
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

Comment thread GOVERNANCE.md
## 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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternative suggestion. (It's a bit hard to only place comments on certain parts of this paragraph, since there are no hard wraps.)

Suggested change
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.

Comment thread GOVERNANCE.md

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).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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).

Comment thread GOVERNANCE.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:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Each of the contributor roles below is organized into three types of lists:
The contributor roles below are each characterized by three categories:

Comment thread GOVERNANCE.md
Comment on lines +59 to +61
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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternative suggestion. I'd at least add the formatting as a bullet point list.

Suggested change
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.

Comment thread GOVERNANCE.md
Comment on lines 71 to 75
| 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. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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".

Suggested change
| 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. |

Comment thread GOVERNANCE.md
- 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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For all the contributors, I'd say they should be in both channels.

Comment thread GOVERNANCE.md
- 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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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

Comment thread GOVERNANCE.md
- 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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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

Comment thread GOVERNANCE.md
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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 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.

@jnummelin
jnummelin marked this pull request as ready for review September 15, 2026 12:45
@jnummelin

Copy link
Copy Markdown
Member Author

@prithvi1307 @ncopa @soltysh care to have a look. Would appreciate a second LGTM before merging

@prithvi1307

Copy link
Copy Markdown
Contributor

LGTM

@ncopa

ncopa commented Sep 17, 2026

Copy link
Copy Markdown

I agree with @twz123's comments

@jnummelin
jnummelin merged commit b00a3c3 into k0sproject:main Sep 21, 2026
1 check passed
@soltysh

soltysh commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants