-
Notifications
You must be signed in to change notification settings - Fork 765
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
[WIP] doc: adding doc describing contribution ladder #3559
Draft
JaydipGabani
wants to merge
2
commits into
open-policy-agent:master
Choose a base branch
from
JaydipGabani:maintainer-doc
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+121
−0
Draft
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
# Contribution Ladder | ||
|
||
--- | ||
|
||
* [Roles](#roles) | ||
* [Community Member](#community-member) | ||
* [Contributor](#contributor) | ||
* [How to become a contributor](#how-to-become-a-contributor) | ||
* [Maintainer](#maintainer) | ||
* [How to become a maintainer](#how-to-become-a-maintainer) | ||
* [Involuntary Removal or Demotion](#involuntary-removal-or-demotion) | ||
* [Stepping Down/Emeritus Process](#stepping-downemeritus-process) | ||
--- | ||
|
||
Our ladder defines the roles and responsibilities for this project and how to | ||
participate with the goal of moving from a user to a maintainer. You will need | ||
to gain people's trust, demonstrate your competence and understanding, and meet | ||
the requirements of the role. | ||
|
||
## Roles | ||
|
||
* Community Member | ||
* Contributor | ||
* Maintainer | ||
|
||
## Community Member | ||
|
||
Everyone is a community member! 😄 You've read this far so you are already ahead. 💯 | ||
|
||
Here are some ideas for how you can be more involved and participate in the community: | ||
|
||
* Comment on an issue that you’re interested in. | ||
* Submit a pull request to fix an issue. | ||
* Report a bug. | ||
* Come chat with us in [Slack][slack]. | ||
|
||
They must follow our [Code of Conduct](CODE_OF_CONDUCT.md). | ||
|
||
[slack]: https://communityinviter.com/apps/openpolicyagent/signup | ||
|
||
## Contributor | ||
|
||
[Contributors][contributors] have the following capabilities: | ||
|
||
* Have issues and pull requests assigned to them | ||
* Apply labels, milestones and projects | ||
* [Mark issues as duplicates](https://help.github.com/en/articles/about-duplicate-issues-and-pull-requests) | ||
* Close, reopen, and assign issues and pull requests | ||
|
||
They must agree to and follow this [Contributing Guide](CONTRIBUTING.md). | ||
|
||
### How to become a contributor | ||
|
||
To become a contributor, the maintainers of the project would like to see you: | ||
|
||
* Comment on issues with your experiences and opinions. | ||
* Add your comments and reviews on pull requests. | ||
* Contribute pull requests. | ||
* Open issues with bugs, experience reports, and questions. | ||
|
||
## Maintainer | ||
|
||
[Maintainers][maintainers] are members with extra capabilities: | ||
|
||
* Be a [Code Owner](.github/CODEOWNERS) and have reviews automatically requested. | ||
* Review pull requests. | ||
* Merge pull requests. | ||
|
||
Maintainers also have responsibilities beyond just merging code: | ||
|
||
* Help foster a safe and welcoming environment for all project participants. | ||
This will include understanding and enforcing our [Code of Conduct](CODE_OF_CONDUCT.md). | ||
* Organize and promote pull request reviews, e.g. prompting community members, | ||
contributors, and other maintainers to review. | ||
* Triage issues, e.g. adding labels, promoting discussions, finalizing decisions. | ||
* Help organize our community meetings, e.g. schedule, organize and | ||
execute agenda. | ||
* Organize timely release for new changes in the project by following [release guidelines](docs/RELEASE.md). | ||
|
||
### How to become a maintainer | ||
|
||
To become a maintainer, we would like you to see you be an effective | ||
contributor, and show that you can do some of the things maintainers do. | ||
Maintainers will do their best to regularly discuss promoting contributors. But | ||
don’t be shy, if you feel that this is you, please reach out to one or more of | ||
the maintainers. Here are the foot steps to follow for maintainer path: | ||
|
||
- Contributor for at least 3 months | ||
- Contributed in developing new features | ||
- Must remain an active participant in the community by contributing code, performing reviews, triaging issues, etc. | ||
- Knowledgeable about the codebase | ||
|
||
## Inactivity | ||
|
||
It is important for maintainers to stay active to set an example and show commitment to the project. | ||
Inactivity is harmful to the project as it may lead to unexpected delays, contributor attrition, and a lost of trust in the project. | ||
|
||
* Inactivity is measured by: | ||
* Periods of no contributions for longer than a year, where contributions must include maintainer-level tasks: | ||
reviewing and merging others pull requests, project administration, release management, mentoring, etc. | ||
Code contributions are not strictly required to be considered active. | ||
* Periods of no communication for longer than a year. | ||
* Consequences of being inactive include: | ||
* Involuntary removal or demotion. | ||
* Being asked to move to Emeritus status. | ||
|
||
## Involuntary Removal or Demotion | ||
|
||
Involuntary removal/demotion of a maintainer happens when responsibilities and requirements aren't being met. | ||
This may include repeated patterns of inactivity, extended period of inactivity, a period of failing to meet the requirements of your role, and/or a violation of the Code of Conduct. | ||
This process is important because it protects the community and its deliverables while also opens up opportunities for new contributors to step in. | ||
|
||
Removal or demotion is handled first by attempting to contact the maintainer in question to suggest stepping down. | ||
If they cannot be reached, or will not resume their maintainer responsibilities, involuntary removal is initiated through a vote by a majority of the other current Maintainers. | ||
|
||
## Stepping Down/Emeritus Process | ||
|
||
If and when contributors' commitment levels change, contributors can consider stepping down (moving down the contributor ladder) instead of moving to emeritus status (completely stepping away from the project). | ||
|
||
Contact the Maintainers about changing to Emeritus status, or reducing your contributor level. | ||
When an Emeritus Maintainer has been an active contributor for 1 month, they can reapply to be considered for the Maintainer role again. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that a lot of the procedures for this are controlled by the GOVERNANCE doc in the OPA repo.