You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 11, 2023. It is now read-only.
Hello! We are excited to have you contribute to Open Service Mesh (OSM)! This contributor ladder outlines the different contributor roles within the project, along with the responsibilites and privileges that come with them. Community members generally start at the first levels of the "ladder" and advance up it as their involvement in the project grows. Our project members are happy to help you advance along the contributor ladder.
3
+
Hello! We are excited to have you contribute to Open Service Mesh (OSM)! This contributor ladder outlines the different contributor roles within the project, along with the responsibilities and privileges that come with them. Community members generally start at the first levels of the "ladder" and advance up as their involvement in the project grows. Our project members are happy to help you advance along the contributor ladder.
4
4
5
-
Each of the contributor roles below is organized into lists of three types of things.
6
-
* "Responsibilities" are things that a contributor is expected to do
7
-
* "Requirements" are qualifications a contributor needs to meet to be in that role
8
-
* "Privileges" are things a contributor on that level is entitled to
5
+
Each of the roles is organized into the following categories:
6
+
* "Responsibilities" list what the role is expected to do
7
+
* "Requirements" are qualifications the role needs to meet
8
+
* "Privileges" list what the role is entitled to
9
9
10
+
| Role | Responsibilities | Requirements | Privileges |
|[Community Participant](#community-participant)| Following the [CNCF Code of Conduct]| --- | --- |
13
+
|[Contributor](#contributor)| Following the [CNCF Code of Conduct] and the project [contributing guide]| One or more contributions to the project | Invitations to contributor events |
14
+
|[Maintainer](#maintainer)| Active member of the community |<ul><li>Contributor for ≥3 months</li><li> Demonstrates deep understanding of multiple areas of the project</li><li>Exercise good judgement for the project</li><li>Maintain contributions to the project</li></ul> | <ul><li>Has GitHub or CI/CD rights to approve any pull requests</li><li>Represent the project as a Maintainer</li><li>Communicate with CNCF on behalf of the project</li></ul> |
10
15
11
16
## Community Participant
17
+
12
18
Description: A Community Participant participates in the community and contributes their time, thoughts, etc.
13
19
14
20
* Responsibilities:
15
-
* Must follow the [CNCF CoC](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)
21
+
* Must follow the [CNCF Code of Conduct]
16
22
* How users can get involved with the community:
17
-
* Participating in community discussions in Github, Slack, and meetings
23
+
* Participating in community discussions in GitHub, Slack, and meetings
18
24
* Helping other users
19
25
* Submitting bug reports
20
26
* Trying out new releases
21
27
* Attending community events
22
28
* Talking about the project on social media, blogs, and talks
23
29
24
-
25
30
## Contributor
26
31
27
32
Description: A Contributor contributes directly to the project and adds value to it. Contributions need not be code. People at the Contributor level may be new contributors, or they may only contribute occasionally.
28
33
29
34
* Responsibilities include:
30
-
* Following the [CNCF CoC](https://github.com/cncf/foundation/blob/master/code-of-conduct.md)
31
-
* Following the project [contributing guide](https://github.com/openservicemesh/osm/blob/main/CONTRIBUTING.md)
35
+
* Following the [CNCF Code of Conduct]
36
+
* Following the project [contributing guide]
32
37
* Requirements (one or several of the below):
33
38
* Reports and sometimes resolves issues
34
39
* Occasionally submits PRs
@@ -41,17 +46,20 @@ Description: A Contributor contributes directly to the project and adds value to
41
46
* Promotes the project in public
42
47
* Privileges:
43
48
* Invitations to contributor events
44
-
* Eligible to become a maintainer
49
+
* Eligible to become a Maintainer
45
50
51
+
Process of becoming a Contributor:
52
+
1. There is no nomination process for this role. Being a contributor entails being a community member who does one or more of the listed requirements.
46
53
47
54
## Maintainer
48
55
49
-
Description: Maintainers are very established contributors who are responsible for the entire project. As such, they have the ability to approve PRs against any area of the project, and are expected to participate in making decisions about the strategy and priorities of the project.
56
+
Description: Maintainers are established contributors who are responsible for one or more project areas. They have the ability to approve PRs against the project areas they own and are expected to participate in making decisions about the strategy and priorities of the project.
50
57
51
-
A Maintainer must meet the rights, responsiblities, and requirements of a Contributor, plus:
58
+
**Defined by**: *owners* entry in the [OWNERS file].
59
+
60
+
A Maintainer must meet the rights, responsibilities, and requirements of a Contributor, plus:
52
61
53
62
* Responsibilities include:
54
-
* Following the reviewing guide
55
63
* Reviewing and approving PRs that involve multiple parts of the project
56
64
* Is supportive of new and infrequent contributors, and helps get useful PRs in shape to commit
57
65
* Mentoring new Maintainers
@@ -60,26 +68,34 @@ A Maintainer must meet the rights, responsiblities, and requirements of a Contri
60
68
* Determining strategy and policy for the project
61
69
* Participating in, and leading, community meetings
62
70
* Helps run the project infrastructure
63
-
* Requirements
71
+
* Requirements:
64
72
* Experience as a Contributor for at least 3 months
65
-
* Demonstrates a broad knowledge of the project across multiple areas
73
+
* Deep understanding of the technical goals and direction of the project
74
+
* Deep understanding of the technical domain of the project across their areas of ownership
75
+
* Sustained contributions to design and direction by doing all of:
76
+
* Authoring and reviewing proposals (GitHub Issues for refactoring, enhancements, or new functionality)
77
+
* Initiating, contributing, and resolving discussions (emails, GitHub issues, meetings)
78
+
* Identifying subtle or complex issues in designs and implementation PRs
66
79
* Is able to exercise judgement for the good of the project, independent of their employer, social circles, or teams
67
80
* Mentors other Contributors
68
81
* Additional privileges:
82
+
* Approve PRs to areas of ownership
69
83
* Represent the project in public as a Maintainer
70
84
* Communicate with the CNCF on behalf of the project
71
85
* Have a vote in Maintainer decisions
72
86
73
-
Process of becoming a maintainer:
87
+
Process of becoming a Maintainer:
74
88
75
-
1. Any current Maintainer may nominate a current Contributor to become a new Maintainer, by opening a PR against the root of the [OSM repository](https://github.com/openservicemesh/osm) and adding the nominee to the [OWNERS file](https://github.com/openservicemesh/osm/blob/main/OWNERS). Additionally, if the nomination is for a code owner whose PR approvals are meant to satisfy the PR merge requirements, the nominee must be added to the [CODEOWNERS file](https://github.com/openservicemesh/osm/blob/main/CODEOWNERS) in the same PR.
89
+
1. A current contributor may be self-nominated or be nominated by a current Maintainer by opening a PR against the root of the [OSM repository] and adding the nominee to the [OWNERS file] under the *owners* entry.
90
+
- If the nomination is for a code owner whose PR approvals are meant to satisfy the PR merge requirements against specific areas of the codebase, the nominee must be added to the [CODEOWNERS file] for their specific areas of ownership in the same PR.
91
+
- A codeowner is defined per the [GitHub definition](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#about-code-owners). See this [example](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#example-of-a-codeowners-file) on how to specify an area in the [CODEOWNERS file] .
76
92
2. The nominee will add a comment to the PR testifying that they agree to all requirements of becoming a Maintainer.
77
93
3. A majority of the current Maintainers must then approve the PR.
78
94
79
95
80
96
## Inactivity
81
97
82
-
It is important for contributors to be and 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.
98
+
It is important for contributors to be and 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 loss of trust in the project.
83
99
84
100
* Inactivity is measured by:
85
101
* Periods of no contributions for longer than 3 months
@@ -92,19 +108,31 @@ It is important for contributors to be and stay active to set an example and sho
92
108
93
109
## Involuntary Removal or Demotion
94
110
95
-
Involuntary removal/demotion of a contributor happens when responsibilites and requirements aren't being met. This may include repeated pattern of inactivity, extended period of inactivity, a period of failing to meet the requirements of your role, and/or a violation of the [CNCF CoC](https://github.com/cncf/foundation/blob/master/code-of-conduct.md). This process is important because it protects the community and its deliverables while also opens up opportunities for new contributors to step in.
96
-
111
+
Involuntary removal/demotion of a Maintainer happens when responsibilities and requirements aren't being met. This may include repeated patterns of inactivity, extended periods of inactivity, a period of failing to meet the requirements of your role, and/or a violation of the [CNCF 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.
97
112
98
113
Involuntary removal or demotion is handled through a vote by a majority of the current Maintainers.
99
114
100
115
101
116
## Stepping Down/Emeritus Process
102
117
103
-
If and when contributors' commitment levels change, contributors can consider stepping down (moving down the contributor ladder) vs moving to emeritus status (completely stepping away from the project).
118
+
If and when a contributor's commitment level changes, they can consider one of the following options:
119
+
1. Stepping down (moving down the contributor ladder)
120
+
2. Moving to emeritus status (completely stepping away from the project).
104
121
105
-
Contact the Maintainers about changing to Emeritus status, or reducing your contributor level.
122
+
Contact the Maintainers about changing to Emeritus status or reducing your contributor level.
106
123
107
124
125
+
## Review Process
126
+
127
+
- In addition to self-nominated and Maintainer proposed nominations, Maintainers will meet quarterly to discuss Role promotions and demotions.
128
+
- Prior to nomination or meeting the requirements of the role, Contributors that express their interest in being a Maintainer can be assigned a Maintainer to help guide them through the requirements.
0 commit comments