Skip to content

Commit

Permalink
Add Emeritus Approvers Info to the Kubeflow Membership
Browse files Browse the repository at this point in the history
Signed-off-by: Andrey Velichkevich <[email protected]>
  • Loading branch information
andreyvelich committed Dec 10, 2024
1 parent 6099399 commit afe930b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
28 changes: 26 additions & 2 deletions content/en/docs/about/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ The quality of a person's code review is limited by their familiarity with the c
Our goal is to address both of these concerns through the prudent use and maintenance of OWNERS files

<a name="owners-1"></a>

### OWNERS

Each directory that contains a unit of independent code or content may also contain an OWNERS file.
Expand All @@ -94,6 +95,8 @@ OWNERS files are in YAML format and support the following keys:
Allows the use case where `a/deep/nested/OWNERS` file prevents `a/OWNERS` file from having any
effect on `a/deep/nested/bit/of/code`
- `reviewers`: a list of GitHub usernames or aliases that are good candidates to `/lgtm` a PR
- `emeritus_approvers` a list of GitHub usernames of folks who were previously in the `approvers`
section, but are no longer actively approving code. Please see [below](#emeritus) for more details.

All users are expected to be assignable.
In GitHub terms, this means they are either collaborators of the repo, or members of the organization to which the repo belongs.
Expand All @@ -103,13 +106,34 @@ A typical OWNERS file looks like:
```yaml
approvers:
- alice
- bob # this is a comment
- bob # this is a comment
reviewers:
- alice
- carol # this is another comment
- carol # this is another comment
- sig-foo # this is an alias
```
#### Emeritus
It is inevitable, but there are times when someone may shift focuses, change jobs or step away from
a specific area in the project for a time. These people may be domain experts over certain areas of
the codebase, but can no longer dedicate the time needed to handle the responsibilities of
reviewing and approving changes. They are encouraged to add themselves as an “emeritus”
approver under the `emeritus_approvers` key.

GitHub usernames listed under the `emeritus_approvers` key can no longer approve code
(use the /approve command) and will be ignored by prow for assignment. However, it can still be
referenced by a person looking at the OWNERS file for a possible second or more informed opinion.

When a contributor returns to being more active in that area, they may be promoted back to a
regular approver at the discretion of the current approvers.

```yaml
emeritus_approvers:
- david
- emily
```

#### OWNERS_ALIASES

Each repo may contain at its root an OWNERS_ALIAS file.
Expand Down
6 changes: 6 additions & 0 deletions content/en/docs/about/membership.md
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,12 @@ will be removed from the Kubeflow GitHub Organizations and will be required to
go through the org membership process again after re-familiarizing themselves
with the current state.

If anyone listed in OWNERS files should become inactive, here is what we will do:

- If the person is in reviewers section, their GitHub id will be removed from the section.
- If the person is in approvers section, their GitHub id will be moved
[the `emeritus_approvers` section](/docs/about/contributing/#emeritus).

### How inactivity is measured

Inactive members are defined as members of one of the Kubeflow Organizations with **no** technical and non-technical contributions across any organization within 12 months. [DevStats](https://kubeflow.devstats.cncf.io/d/66/developer-activity-counts-by-companies?orgId=1&var-period_name=Last%20year&var-metric=contributions&var-repogroup_name=All&var-country_name=All&var-companies=All) offers an easy way to determine contributions to Kubeflow
Expand Down

0 comments on commit afe930b

Please sign in to comment.