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

Add process to remove maintainers that don't fulfill their duties #14238

Merged
merged 2 commits into from
Aug 23, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 30 additions & 13 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ please see [CONTRIBUTING](./CONTRIBUTING.md) guide.

## Maintainers

[Maintainers](./MAINTAINERS) are first and foremost contributors that have shown they
Maintainers are first and foremost contributors that have shown they
are committed to the long term success of a project. Maintainership is about building
trust with the current maintainers of the project and being a person that they can
depend on to make decisions in the best interest of the project in a consistent manner.
Expand All @@ -39,18 +39,35 @@ below.
- Resolution of bugs triaged to a package/feature
- Regularly review pull requests to the pkg subsystem

Contributors who are interested in becoming a maintainer, if performing these
responsibilities, should discuss their interest with the existing maintainers. New
maintainers must be nominated by an existing maintainer and must be elected by a
supermajority of maintainers with a fallback on lazy consensus after three business weeks
inactive voting period and as long as two maintainers are on board. Maintainers can be
removed by a supermajority of the maintainers and moved to emeritus status.

Life priorities, interests, and passions can change. If a maintainer needs to step
down, inform other maintainers about this intention, and if possible, help find someone
to pick up the related work. At the very least, ensure the related work can be continued.
Afterward, create a pull request to remove yourself from the [MAINTAINERS](./MAINTAINERS)
file.
### Nomination and retiring of maintainers

[Maintainers](./MAINTAINERS) file on the `main` branch reflects the latest
state of project maintainers. List of existing maintainers should be kept up to
date by existing maintainers to properly reflect community health and to gain
better understanding of recruiting need for new maintainers. Changes to list of
maintainers should be done by opening a pull request and CCing all the existing
maintainers.

Contributors who are interested in becoming a maintainer, if performing relevant
responsibilities, should discuss their interest with the existing maintainers.
New maintainers must be nominated by an existing maintainer and must be elected
by a supermajority of maintainers with a fallback on lazy consensus after three
business weeks inactive voting period and as long as two maintainers are on board.

Life priorities, interests, and passions can change. Maintainers can retire and
serathius marked this conversation as resolved.
Show resolved Hide resolved
move to the [emeritus status](./README.md#etcd-emeritus-maintainers). If a
maintainer needs to step down, they should inform other maintainers, if possible,
help find someone to pick up the related work. At the very least, ensure the
related work can be continued. Afterward they can remove themselves from list of
existing maintainers.

If a maintainer is not been performing their duties for period of 12 months,
Copy link
Member

Choose a reason for hiding this comment

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

their to his/her

minor comment: I see a couple of issues related to singular vs plural:)

Copy link
Member Author

@serathius serathius Jul 26, 2022

Choose a reason for hiding this comment

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

My intention was to use https://en.wikipedia.org/wiki/Singular_they

It's consistent with rest of the text, for example it's used in Reviewers section.

Copy link
Member

Choose a reason for hiding this comment

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

Let's also add why such a step is needed - "If a maintainer has not been performing their duties for period of 12 months, they can be moved to emeritus status by active maintainers to gain better understanding of recruiting need for new maintainers."

Copy link
Member

Choose a reason for hiding this comment

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

Also, I think we should add something like this after the above sentence - "Before such a change, an inactive maintainer should be notified through email or slack by active maintainers considering GitHub notifications sometimes go unnoticed."

Copy link
Member Author

@serathius serathius Jul 27, 2022

Choose a reason for hiding this comment

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

Ad 1, added motivation to maintain the list to first section.

Ad 2, I think email is enough as all maintainers are required to publish their preferred email contact in ./MAINTAINERS. Activity on Slack can be disputed as we don't even have official Slack. We use K8s one as there is a lot of crossover with community.

On that topic @spzala what do you think about removing official IRC which is abandonned, for Slack (possibly CNCF or K8s one)?

Copy link
Member

Choose a reason for hiding this comment

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

Thanks @serathius and yes, I agree with both the points - email is good enough, and we should remove IRC reference.

they can be removed by other maintainers. In that case inactive maintainer will
be first notified via an email. If situation doesn't improve, they will be
removed. If an emeritus maintainer wants to regain an active role, they can do
so by renewing their contributions. Active maintainers should welcome such a move.
Retiring of other maintainers or regaining the status should require approval
of at least two active maintainers.

## Reviewers

Expand Down