Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GRADUATION: Write up the Governance and Steering documents #6260

Closed
wants to merge 21 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
3370f8b
governance: write up the governance and steering documents
maelvls Aug 9, 2023
5741111
Apply suggestions from code review
maelvls Aug 10, 2023
7456e0f
add more roles to the GOVERNANCE.md document and clearly indicate the…
inteon Aug 11, 2023
b089f7f
fix file links
inteon Aug 14, 2023
1900d80
Copy contents from the HackMD file
maelvls Aug 18, 2023
40005ef
Update MAINTAINERS.md
maelvls Aug 18, 2023
5cf8beb
Update GOVERNANCE.md with the latest changes from HackMD
maelvls Aug 21, 2023
22e8e74
Apply suggestions from code review
maelvls Aug 28, 2023
2466d6a
steering: apply Ashley's suggestion on membership
maelvls Aug 28, 2023
21d6fc3
move the maintainers list to a CSV file
maelvls Sep 1, 2023
bc57e19
governance: apply suggestions from code review
maelvls Sep 1, 2023
65c4fdc
governance: re-introduce "Responsibilities" and "Become"
maelvls Sep 1, 2023
24aa350
governance: reviewers can also focus on documentation
maelvls Sep 1, 2023
e3284f9
governance: de-duplicate sub-headings
maelvls Sep 1, 2023
a1d86cb
governance: remove unused links
maelvls Sep 1, 2023
593096e
governance: add a voting mechanism in case lazy consensus can't work
maelvls Sep 1, 2023
3a4dc11
governance: use the new repo "community"
maelvls Sep 1, 2023
99d21e2
governance: explain that this charter applies to all projects
maelvls Sep 1, 2023
401c398
governance: standardize style for the Slack channel names
maelvls Sep 5, 2023
5c7ec3f
governance: add a section "responsibilities for github members"
maelvls Sep 7, 2023
6ed09fa
governance: the PR to OWNERS should be created on each repo
maelvls Sep 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
93 changes: 93 additions & 0 deletions GOVERNANCE.md
@@ -0,0 +1,93 @@
# cert-manager Governance

This document defines project governance for the cert-manager project.

## Contributors

cert-manager is for everyone. Anyone can become a cert-manager contributor
simply by contributing to the project, whether through code, documentation, blog
posts, community management, or other means. As with all cert-manager community
members, contributors are expected to follow the [cert-manager Code of
Conduct][coc].

All contributions to cert-manager code, documentation, or other components in
the cert-manager GitHub org must follow the guidelines in [the contributing
page][contrib]. Whether these contributions are merged into the project is the
prerogative of the maintainers.

inteon marked this conversation as resolved.
Show resolved Hide resolved
inteon marked this conversation as resolved.
Show resolved Hide resolved
inteon marked this conversation as resolved.
Show resolved Hide resolved
maelvls marked this conversation as resolved.
Show resolved Hide resolved
## Maintainers
inteon marked this conversation as resolved.
Show resolved Hide resolved

Maintainers have the ability to merge code into the project. Anyone can become a
cert-manager maintainer (see "Becoming a maintainer" below.)

> **Note:** In some CNCF projects, a difference is made between a "committer"
> and a "maintainer" (cf. [committer-vs-maintainer][]). In the context of the
> cert-manager project, committer and maintainer are the same. We will be using
> the term "maintainer" throughout this document.

[committer-vs-maintainer]: https://github.com/cncf/toc/pull/876#issuecomment-1189399941

The cert-manager maintainers are:

- James Munnelly (@munnerz)
- Josh van Leeuwen (@joshvanl)
- Richard Wall (@wallrj)
- Jake Sanders (@jakexks)
- Maël Valais (@maelvls)
- Irbe Krumina (@irbekrm)
- Ashley Davis (@sgtcodfish)
- Tim Ramlot (@inteon)
inteon marked this conversation as resolved.
Show resolved Hide resolved

This list is reflected in `OWNERS` files present at the root of the projects
within the cert-manager organization.

### Maintainers Responsibilities

cert-manager 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 cncf-cert-manager-\* emails and the cert-manager-dev and
cert-manager-dev channels on Slack, and help out when possible.
- Rapidly respond to any time-sensitive security release processes.
- Attend meetings with the cert-manager Steering Committee.

### 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 cert-manager maintainer. Maintainers should be proficient in
Go; have expertise in at least one of the domains (Kubernetes, PKI, ACME); 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.
inteon marked this conversation as resolved.
Show resolved Hide resolved

### Stepping Down as a Maintainer

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

A review of the OWNERS file is performed every year by the current maintainers.
During this review, the maintainers that have not been active in the last year
are asked whether they would like to become an emeritus maintainer.

[coc]: https://github.com/cert-manager/cert-manager/blob/master/CODE_OF_CONDUCT.md
[contrib]: https://cert-manager.io/docs/contributing/

### Emeriti Maintainers

Former maintainers include:

- Maartje Eyskens (@meyskens)
- Joakim Ahrlin (@jahrlin)
55 changes: 55 additions & 0 deletions STEERING.md
@@ -0,0 +1,55 @@
# Steering Committee Charter

The goal of the cert-manager Steering Committee is to ensure that cert-manager
meets the needs of its current and future users. The Steering Committee
represents the voice of the user, and works with the cert-manager maintainers to
help guide development efforts towards solving concrete and immediate problems
for cert-manager adopters.

The members of the Steering Committee are:

- TBD

## Steering Committee Responsibilities

The Steering Committee’s responsibilities are to:

1. Provide feedback to project maintainers about cert-manager's featureset, UX,
and operational model.
2. Assist cert-manager maintainers in prioritizing upcoming roadmap items and
planned work.
3. Represent the "voice of the cert-manager user" both internally and to the
broader community.
4. Provide neutral mediation for non-technical disputes.
5. Develop and maintain a project continuity plan.

## Steering Committee Membership

The Steering Committee comprises at most 7 people. To be eligible for membership
in the Steering Committee, you must:

1. Be responsible for a production cert-manager deployment of non-trivial size
2. Be willing and able to attend regularly-scheduled Steering Committee meetings
3. Abide by cert-manager's Code of Conduct.

Candidates for membership will be nominated by current Steering Committee
members or by cert-manager maintainers. If there are more nominations than
Steering Committee seats remaining, the same group shall vote on the candidates,
and the candidates with the most votes will become Steering Committee members.
Any ties will be broken by cert-manager maintainers.
maelvls marked this conversation as resolved.
Show resolved Hide resolved

Membership expires if any of the eligibility conditions is unmet, or after one
year. Members may seek reinstatement immediately in accordance with the rules
above.
maelvls marked this conversation as resolved.
Show resolved Hide resolved

## Steering Committee Meetings

Meetings will happen periodically not less than once a quarter. Recordings and
minutes will be posted publicly.
maelvls marked this conversation as resolved.
Show resolved Hide resolved

## Changes to this charter
maelvls marked this conversation as resolved.
Show resolved Hide resolved

Changes to this document must be approved by a majority of Steering Committee
members and a majority of cert-manager maintainers, except for the list of
steering committee members that may be changed under the conditions listed under
"Steering Committee Membership".