Skip to content

Commit

Permalink
doc: Governance Roles
Browse files Browse the repository at this point in the history
Update the contributor role descriptions and guidelines
for review, based on the vPTG discussion

Signed-off-by: stevenhorsman <[email protected]>
  • Loading branch information
stevenhorsman committed Oct 22, 2024
1 parent aa40bf1 commit ea1e19b
Showing 1 changed file with 34 additions and 5 deletions.
39 changes: 34 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
* [Governance](#governance)
* [Developers](#developers)
* [Contributor](#contributor)
* [Maintainer](#maintainer)
* [Maintainer](#committer)
* [Admin](#admin)
* [Owner](#owner)
* [Architecture Committee](#architecture-committee)
* [Architecture Committee Meetings](#architecture-committee-meetings)
* [Vendoring code](#vendoring-code)
Expand Down Expand Up @@ -70,19 +72,46 @@ The Kata Containers project is governed according to the ["four opens"](https://

## Developers

For code contributors, there are currently two roles relevant to project governance:
For contributors, there are several roles relevant to project governance:

### Contributor

A Contributor to the Kata Containers project is someone who has had code merged within the last 12 months. Contributors are eligible to vote in the Architecture Committee elections. Contributors have read only access to the Kata Containers repos on GitHub.

### Maintainer
### Committer

A Maintainer has the ability to merge code into the Kata Containers project. Maintainers are active Contributors and participants in the projects. In order to become a Maintainer, you must be nominated and approved by the established Maintainers. Maintainers have write access to the Kata Containers repos on GitHub.
Kata Containers Committers (as defined by the [kata-containers-committer team](https://github.com/orgs/kata-containers/teams/kata-containers-committer))
have the ability to merge code into the Kata Containers project.
Maintainers are active Contributors and participants in the projects. In order to become a Committer, you must be nominated by established Committer and approved by quorum of the active Architecture committee via an issue against the community repo
e.g. https://github.com/kata-containers/community/issues/403. Committers have write access to the Kata Containers repos on GitHub, which
gives the ability to approve PRs, trigger the CI and merge PRs.

One of the requirements to be a committer is that you are an active contributor to the project as adjudged by the above criteria. The committer list will be required for people who no longer meet the criteria
twice a year, lining up with the Architecture Committee election cycle. At/after the election, people who are in the kata-containers-committer team, but who haven't been an active contributor in the last 12 months will be created
and shared with the Architecture Committee and community and after a short review period to check of errors in the tooling, will be removed from the team.

> [!Note]
> See [issue #413](https://github.com/kata-containers/community/issues/413) for a potential change in how active contribution is assessed.
### Admin

Kata Containers Admins (as defined by the [kata-containers-admin team](https://github.com/orgs/kata-containers/teams/kata-containers-admin) have admin access to
the kata-containers repo, allowing them to do actions like, change the branch protection rules for repositories, delete a repository and manage the access of others.
There are sometimes good reasons to temporarily give others admin access, such as to create a secret that is used in a particular CI infrastructure, but generally
we should try and minimise this access. The admin list should be reviewed and updated after each Architecture Committee election and typically contain:
- The Architecture Committee
- Optionally, some specific people that the Architecture Committee agree on adding for a specific purpose (e.g. to manage the CI)

### Owner

GitHub organization owners have complete admin access to the organization, so should be limited for security reasons. The owners list should be reviewed and updated after each Architecture Committee election and contain:
- The Community Manager and one, or more extra people from the `OpenInfra Foundation` for redundancy and vacation cover
- The Architecture Committee
- Optionally, some specific people that the Architecture Committee agree on adding for a specific purpose (e.g. to help with repo/CI migration)

## Architecture Committee

The Architecture Committee is responsible for architectural decisions, including standardization, and making final decisions if Maintainers disagree. It is comprised of 7 members, who are elected by contributors.
The Architecture Committee is responsible for architectural decisions, including standardization, and making final decisions if Committers disagree. It is comprised of 7 members, who are elected by contributors.

The current Architecture Committee members are:

Expand Down

0 comments on commit ea1e19b

Please sign in to comment.