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

Adding maintainers to opensearch-project. #59

Merged
merged 29 commits into from
Apr 13, 2022
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
978e48c
Proposal: adding maintainers to opensearch-project.
dblock Mar 29, 2022
ec22ee3
Removed link to ADMINS.md, it's misleading because it's only in this …
dblock Mar 29, 2022
f97e0e3
Fix: typo.
dblock Mar 30, 2022
5ce9ebb
Added deliberate harmful actions.
dblock Mar 30, 2022
6f9ba7e
Added a note on less than 3 maintainers.
dblock Mar 30, 2022
b5a58c0
Replaced repo owner by admin.
dblock Mar 30, 2022
ff9c5c5
Consistently lowercase repo admin.
dblock Mar 30, 2022
609a79e
Adding a New Maintainer.
dblock Mar 30, 2022
4e9091f
Properly reflect that a nomation happened already.
dblock Mar 31, 2022
98858f2
Use a pull request instead of an additional issue.
dblock Mar 31, 2022
f4e8ba2
Remove an individual from the nomination example.
dblock Mar 31, 2022
7acc925
Linked admin responsibilities.
dblock Mar 31, 2022
7fd6c11
Document that the maintainer needs to reengage, not just intend to.
dblock Apr 1, 2022
b5d0835
One week to several weeks.
dblock Apr 5, 2022
f2e5328
Proposal and vote.
dblock Apr 5, 2022
6247990
Clarified the public aspect of the revote.
dblock Apr 5, 2022
ab99c7a
Don't be so prescriptive about inactivity.
dblock Apr 7, 2022
5e5316d
Replace that the account is not deactivated.
dblock Apr 7, 2022
9387240
Rollup changes.
dblock Apr 7, 2022
0851f1d
Minor language updates based on feedback.
dblock Apr 8, 2022
6947878
Remove public wait discussion period.
dblock Apr 8, 2022
6d68d52
Maintainers will be removed for violating code of coduct.
dblock Apr 8, 2022
9580d11
Updated engagement details.
dblock Apr 8, 2022
6a1fc43
Fix: duplicate message.
dblock Apr 8, 2022
7323884
Keep the ask private.
dblock Apr 11, 2022
a67ba9e
remove two week maximum
nknize Apr 12, 2022
0d79006
remove cr
nknize Apr 12, 2022
0e23acb
Use +1 / -1 everywhere.
dblock Apr 12, 2022
fed9887
Remove potential nominee.
dblock Apr 12, 2022
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
12 changes: 12 additions & 0 deletions ADMINS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
- [Overview](#overview)
- [Current Admins](#current-admins)
- [Admin Responsibilities](#admin-responsibilities)
- [Prioritize Security](#prioritize-security)
- [Enforce Code of Conduct](#enforce-code-of-conduct)
- [Add/Remove Maintainers](#addremove-maintainers)
- [Adopt Organizational Best Practices](#adopt-organizational-best-practices)

## Overview

This document explains who the admins are (see below), what they do in this repo, and how they should be doing it. If you're interested in becoming a maintainer, see [MAINTAINERS](MAINTAINERS.md). If you're interested in contributing, see [CONTRIBUTING](CONTRIBUTING.md).
Expand All @@ -22,6 +30,10 @@ Note that this repository is monitored and supported 24/7 by Amazon Security, se

Act on [CODE_OF_CONDUCT](CODE_OF_CONDUCT.md) violations by revoking access, and blocking malicious actors.

### Add/Remove Maintainers

Perform administrative tasks, such as [adding](MAINTAINERS.md#adding-a-new-maintainer) and [removing maintainers](MAINTAINERS.md#removing-a-maintainer).

### Adopt Organizational Best Practices

Adopt organizational best practices, work in the open, and collaborate with other admins by opening issues before making process changes. Prefer consistency, and avoid diverging from practices in the opensearch-project organization.
76 changes: 72 additions & 4 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,23 @@
- [Triage Open Issues](#triage-open-issues)
- [Be Responsive](#be-responsive)
- [Maintain Overall Health of the Repo](#maintain-overall-health-of-the-repo)
- [Add Continious Integration Checks](#add-continious-integration-checks)
- [Add Continuous Integration Checks](#add-continuous-integration-checks)
- [Developer Certificate of Origin Workflow](#developer-certificate-of-origin-workflow)
- [Use Semver](#use-semver)
- [Release Frequently](#release-frequently)
- [Promote Other Maintainers](#promote-other-maintainers)
- [Describe the Repo](#describe-the-repo)

- [Becoming a Maintainer](#becoming-a-maintainer)
- [Nomination](#nomination)
- [Interest](#interest)
- [Public Confirmation](#public-confirmation)
- [Maintainer Decision](#maintainer-decision)
- [Adding a New Maintainer](#adding-a-new-maintainer)
- [Removing a Maintainer](#removing-a-maintainer)
- [Moving On](#moving-on)
- [Inactivity](#inactivity)
- [Negative Impact on the Project](#negative-impact-on-the-project)

dblock marked this conversation as resolved.
Show resolved Hide resolved
## Overview

This document explains who the maintainers are (see below), what they do in this repo, and how they should be doing it. If you're interested in contributing, see [CONTRIBUTING](CONTRIBUTING.md).
Expand Down Expand Up @@ -59,7 +69,7 @@ Respond to enhancement requests, and forum posts. Allocate time to reviewing and

Keep the `main` branch at production quality at all times. Backport features as needed. Cut release branches and tags to enable future patches.

### Add Continious Integration Checks
### Add Continuous Integration Checks

Add integration checks that validate pull requests and pushes to ease the burden on Pull Request reviewers.

Expand All @@ -77,8 +87,66 @@ Make frequent project releases to the community.

### Promote Other Maintainers

Assist, add, and remove [MAINTAINERS](MAINTAINERS.md). Exercise good judgement, and propose high quality contributors to become co-maintainers.
Assist, add, and remove [MAINTAINERS](MAINTAINERS.md). Exercise good judgement, and propose high quality contributors to become co-maintainers. See [Becoming a Maintainer](#becoming-a-maintainer) for more information.

### Describe the Repo

Make sure the repo has a well-written, accurate, and complete description. See [opensearch-project/.github#38](https://github.com/opensearch-project/.github/issues/38) for some helpful tips to describe your repo.

## Becoming a Maintainer

You can become a maintainer by actively [contributing](CONTRIBUTING.md) to any project, and being nominated by an existing maintainer.
dblock marked this conversation as resolved.
Show resolved Hide resolved

### Nomination

Any current maintainer starts a private e-mail thread (until we have a better mechanism, e-mails can usually be found via MAINTAINERS.md + DCO) with all other maintainers on that repository to discuss nomination using the template below. In order to be approved, at least 3 positive maintainer votes are necessary, and no vetoes. In rare cases when there are fewer than 3 maintainers, the positive votes from all maintainers are required. Any disagreements can be escalated to the repo admin.
dblock marked this conversation as resolved.
Show resolved Hide resolved

The nomination should clearly identify the person with their real name and a link to their GitHub profile, and the rationale for the nomination, with concrete example contributions.

### Interest

Upon receiving at least 3 positive maintainer votes, and no vetoes, from other maintainers within a maximum period of 2 weeks, the nominating maintainer asks a potential nominee whether they might be interested in becoming a maintainer on the repository, which typically happens via e-mail obtained via DCO, but may also be a comment to a pull request, following a substantial contribution.
dblock marked this conversation as resolved.
Show resolved Hide resolved

> This is great work! Based on your ongoing contributions to the project we have decided that we'd like to invite you to become a co-maintainer for this project. Please let us know whether you accept this nomination.
dblock marked this conversation as resolved.
Show resolved Hide resolved

Individuals accept the nomination by replying, or commenting, for example _"Thank you! I would love to."_
dblock marked this conversation as resolved.
Show resolved Hide resolved

### Public Confirmation

Upon receiving 3 positive maintainer votes, and no vetoes, from other maintainers, and after having confirmed interest with the nominee, the maintainer opens a pull request adding the proposed co-maintainer to MAINTAINERS.md, and perform a final vote similar to the nomination process. If the nomination still has 3 positive votes, and no vetoes, from other maintainers, the nomination is accepted. The positive maintainer voters should approve the pull request to show support.
dblock marked this conversation as resolved.
Show resolved Hide resolved

> _Content from the above nomination._
>
> Here is my +1.
>
> If you support this nomination, please add your +1 or a comment.
>
> If you do not support this nomination, we invite you to e-mail all/some of the current [project maintainers](https://github.com/opensearch-project/OpenSearch/blob/main/MAINTAINERS.md) in the next 2 weeks. We will keep your feedback private to this group and discuss offline. We will not publicly post the reasons for a decision not to add this co-maintainer, or publicize your name.
dblock marked this conversation as resolved.
Show resolved Hide resolved
>
> Anyone, including maintainers, can publicly add +1s as requested in the nomination issue if they support the nomination or contact the maintainers in private if they oppose. The pull request stays open for 2 weeks.

### Maintainer Decision

If a positive decision has been reached, the nomination is accepted. If the maintainers cannot reach a positive decision for any reason, the nomination is rejected with _"a decision could not be reached"_ with no further explanation necessary, and the pull request is closed.

### Adding a New Maintainer

The repo admin adjusts the new maintainer’s permissions accordingly, and merges the pull request to MAINTAINERS.md.

## Removing a Maintainer

Removing a maintainer is a disruptive action that the community of maintainers should not undertake lightly. There are several reasons a maintainer might be removed from the project, such as violating the [code of conduct](https://github.com/opensearch-project/.github/blob/main/CODE_OF_CONDUCT.md), or taking other actions that negatively impact the project.
dblock marked this conversation as resolved.
Show resolved Hide resolved

### Moving On

There are plenty of reasons that might cause someone to want to take a step back or even a hiatus from a project. Existing maintainers can choose to leave the project at any time, with or without reason, by making a pull request to move themselves to the "Emeritus" section of MAINTAINERS.md, and asking an admin to remove their permissions.

### Inactivity
dblock marked this conversation as resolved.
Show resolved Hide resolved

Maintainer status never expires. If a maintainer becomes inactive for a time (usually several months), the repo admin may revoke maintainer level access to the repository for security reasons. A maintainer can reach out to the repo admin to get their permissions reinstated.

If the repo is left without any maintainers, either by maintainer inactivity or moving on, the repo is considered unmaintained. The repo admin will seek out new maintainers and note the maintenance status in the repo README file.
dblock marked this conversation as resolved.
Show resolved Hide resolved

### Negative Impact on the Project
dblock marked this conversation as resolved.
Show resolved Hide resolved

Actions that negatively impact the project will be handled by the admins, in coordination with other maintainers, in balance with the urgency of the issue. Examples would be [Code of Conduct](CODE_OF_CONDUCT.md) violations, deliberate harmful or malicious actions, and security risks.