|
| 1 | +- [Overview](#overview) |
| 2 | +- [Current Maintainers](#current-maintainers) |
| 3 | +- [Maintainer Responsibilities](#maintainer-responsibilities) |
| 4 | + - [Uphold Code of Conduct](#uphold-code-of-conduct) |
| 5 | + - [Prioritize Security](#prioritize-security) |
| 6 | + - [Review Pull Requests](#review-pull-requests) |
| 7 | + - [Triage Open Issues](#triage-open-issues) |
| 8 | + - [Automatically Label Issues](#automatically-label-issues) |
| 9 | + - [Be Responsive](#be-responsive) |
| 10 | + - [Maintain Overall Health of the Repo](#maintain-overall-health-of-the-repo) |
| 11 | + - [Keep Dependencies up to Date](#keep-dependencies-up-to-date) |
| 12 | + - [Manage Roadmap](#manage-roadmap) |
| 13 | + - [Add Continuous Integration Checks](#add-continuous-integration-checks) |
| 14 | + - [Use Semver](#use-semver) |
| 15 | + - [Release Frequently](#release-frequently) |
| 16 | + - [Promote Other Maintainers](#promote-other-maintainers) |
| 17 | + - [Describe the Repo](#describe-the-repo) |
| 18 | +- [Becoming a Maintainer](#becoming-a-maintainer) |
| 19 | + - [Nomination](#nomination) |
| 20 | + - [Interest](#interest) |
| 21 | + - [Addition](#addition) |
| 22 | +- [Removing a Maintainer](#removing-a-maintainer) |
| 23 | + - [Moving On](#moving-on) |
| 24 | + - [Inactivity](#inactivity) |
| 25 | + - [Negative Impact on the Project](#negative-impact-on-the-project) |
| 26 | + |
| 27 | +## Overview |
| 28 | + |
| 29 | +This document explains who maintainers are, what they do in this repository, and how they should be doing it. If you're interested in contributing, see [CONTRIBUTING](CONTRIBUTING.md). |
| 30 | + |
| 31 | +## Current Maintainers |
| 32 | + |
| 33 | +See the [MAINTAINERS.md](MAINTAINERS.md) file that lists current maintainers. |
| 34 | + |
| 35 | +## Maintainer Responsibilities |
| 36 | + |
| 37 | +Maintainers are active and visible members of the community, and have high-level permissions on the repository. Use those privileges to serve the community and evolve code as follows. |
| 38 | + |
| 39 | +### Uphold Code of Conduct |
| 40 | + |
| 41 | +Model the behavior set forward by the [Code of Conduct](CODE_OF_CONDUCT.md) and apply the [Code of Conflict](CODE_OF_CONFLCIT.md). |
| 42 | + |
| 43 | +### Review Pull Requests |
| 44 | + |
| 45 | +It's our responsibility to ensure the content and code in pull requests are correct and of high quality before they are merged. Here are some best practices: |
| 46 | + |
| 47 | +- Leverage the issue triaging process to review pull requests and assign them to maintainers for review (use [CODEOWNERS](CODEOWNERS) if needed). |
| 48 | +- In cases of uncertainty on how to proceed, search for related issues and reference the pull request to find additional collaborators. |
| 49 | +- When providing feedback on pull requests, make sure your feedback is actionable to guide the pull request towards a conclusion. |
| 50 | +- If a pull request is valuable but isn't gaining traction, consider reaching out to fulfill the necessary requirements. This way, the pull request can be merged, even if the work is done by several individuals. |
| 51 | +- Lastly, strive for progress, not perfection. |
| 52 | + |
| 53 | +### Triage Open Issues |
| 54 | + |
| 55 | +Manage labels, review issues regularly, and triage by labelling them. |
| 56 | + |
| 57 | +Use labels to target an issue or a pull request for a given release, add `Good first issue` to good issues for new community members, and `Help wanted` for issues that scare you or need immediate attention. Request for more information from a submitter if an issue is not clear. Create new labels as needed by the project. |
| 58 | + |
| 59 | +#### Automatically Label Issues |
| 60 | + |
| 61 | +There are many tools available in GitHub for controlling labels on issues and pull requests. Use standard issue templates in the [./.github/ISSUE_TEMPLATE](./.github/ISSUE_TEMPLATE) directory to apply appropriate labels such as `bug` and `triage`. |
| 62 | + |
| 63 | +### Be Responsive |
| 64 | + |
| 65 | +Respond to enhancement requests, and discussions. Allocate time to reviewing and commenting on issues and conversations as they come in. |
| 66 | + |
| 67 | +### Maintain Overall Health of the Repo |
| 68 | + |
| 69 | +Keep the `main` branch at production quality at all times. Backport features as needed. Cut release branches and tags to enable future patches. |
| 70 | + |
| 71 | +#### Keep Dependencies up to Date |
| 72 | + |
| 73 | +Maintaining up-to-date dependencies on third party projects reduces the risk of security vulnerabilities. The Open Source Security Foundation (OpenSSF) [recommends](https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool) either [dependabot](https://docs.github.com/en/code-security/dependabot) or [renovatebot](https://docs.renovatebot.com/). Both of these applications generate Pull Requests for dependency version updates. We use Renovate here.Renovate is integrated as part of the Remediate app in [Mend for Github](https://github.com/apps/mend-for-g.yxqyang.asia), which is enabled on this repository. |
| 74 | + |
| 75 | +### Use Semver |
| 76 | + |
| 77 | +Use and enforce [semantic versioning](https://semver.org/) and do not let breaking changes be made outside of major releases. |
| 78 | + |
| 79 | +### Release Frequently |
| 80 | + |
| 81 | +Make frequent project releases to the community. |
| 82 | + |
| 83 | +### Promote Other Maintainers |
| 84 | + |
| 85 | +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. |
| 86 | + |
| 87 | +### Describe the Repo |
| 88 | + |
| 89 | +Make sure the repo has a well-written, accurate, and complete description. |
| 90 | + |
| 91 | +### Becoming or not a Maintainer |
| 92 | + |
| 93 | +The repository admins, seens as top maintainer, are the only ones able to choose wether or not somebody can be named as maintainer, in the way they want. |
| 94 | + |
0 commit comments