Skip to content

Commit 3de9380

Browse files
authored
docs: add community governance and promotion guide (#318)
1 parent 7f98d4f commit 3de9380

2 files changed

Lines changed: 368 additions & 38 deletions

File tree

src/content/docs/developer/en/developers_dev.md

Lines changed: 211 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,33 +35,225 @@ This page shows the development team members of Spring Cloud Alibaba. We are con
3535
| Ziming Liu | 123liuziming | Committer | 448918299@qq.com | Graduate student at Peking University |
3636
| Shiwen Ji | yuluo-yx | Committer | karashouk.pan@gmail.com | ~ |
3737

38-
## Development Role
38+
## Community Roles and Promotion Mechanism
3939

40-
The Spring Cloud Alibaba project developer includes three roles: Steering Committee Member, Committer, and Contributor. The standard definitions of each role are as follows.
40+
The Spring Cloud Alibaba community includes four roles: Contributor,
41+
Committer, Maintainer, and Steering Committee Member. Each role carries
42+
different responsibilities and permissions, and promotion is based on sustained
43+
contribution, community trust, and an open process.
4144

42-
### Steering Committee Member
45+
## Principles
46+
47+
The Spring Cloud Alibaba community is governed by the following principles:
48+
49+
- Merit and trust: roles are earned through sustained contribution, sound
50+
judgment, and trust from the community;
51+
- Responsibility before privilege: additional permissions are granted to enable
52+
service to the project, not as a title or reward;
53+
- Contributions beyond code: code, reviews, issue triage, design discussion,
54+
release work, documentation, examples, user support, community operations,
55+
and mentoring are all valued;
56+
- Transparency: role changes should be proposed, discussed, and recorded in an
57+
open and auditable way;
58+
- Reversibility: elevated roles may be adjusted when members become inactive,
59+
step down, or violate community standards;
60+
- Respect: all participants are expected to follow the community code of
61+
conduct.
62+
63+
## Community Roles
64+
65+
### Contributor
66+
67+
A Contributor is any individual who has made a meaningful contribution to the
68+
project.
4369

44-
Steering Committee, as the technical development steering committee of the Spring Cloud Alibaba project, its members are individuals who have made significant contributions to the evolution and development of the Spring Cloud Alibaba project. Specifically include the following standards::
70+
The baseline for becoming a Contributor is:
4571

46-
- Complete the design and development of multiple key modules or projects, and be the core developer of the project;
47-
- Continuous investment and passion, able to actively participate in the maintenance of community, official website, issue, PR and other project related matters;
48-
- Has a visible influence in the community and can represent Spring Cloud Alibaba to participate in important community conferences and activities;
49-
- Have the awareness and ability to cultivate Committer and Contributor;
50-
- The Steering Committee Member is elected in the senior Committer, and is discussed and voted by all members of the Steering Committee. It is necessary to obtain more than half of the total number of votes to be elected;
72+
- submitting a pull request that is merged;
73+
74+
The community also values many other forms of contribution, including issue
75+
reporting, documentation, examples, tests, reviews, and user support. These
76+
contributions should be recognized in promotion decisions.
77+
78+
Contributors are encouraged to continue participating in reviews, discussions,
79+
and community activities.
5180

5281
### Committer
5382

54-
A committer is an individual with write permissions to the repository, and includes the following criteria:
83+
A Committer is a trusted community member with repository write access who can
84+
merge pull requests and help maintain project quality.
5585

56-
- Individuals who can make continuous contributions to issues and PRs for a long time;
57-
- Made important feature contributions to the community;
58-
- Participate in the maintenance of the issue list, the discussion of important features, the hosting of the community weekly meeting and the participation in community activities such as sharing the weekly community meeting
59-
- Participated in the quarterly active contributor program of the community at least once;
60-
- Participate in code review;
61-
- Committer is nominated and voted by members of the Steering Committee Member, and can be elected with at least 3 votes;
86+
Typical expectations for becoming a Committer:
6287

63-
### Contributor
88+
- make sustained issue and pull request contributions over a long period;
89+
- make important feature contributions to the community;
90+
- participate in issue list maintenance, discussion of important features,
91+
community meetings, community sharing, and other community activities;
92+
- participate in code review.
93+
94+
The Steering Committee may also consider practical signals such as:
95+
96+
- a sustained record of substantive pull requests and reviews;
97+
- healthy collaboration, communication, and technical judgment;
98+
- evidence of module familiarity, mentoring, or release support.
99+
100+
Typical responsibilities of a Committer:
101+
102+
- merge pull requests that meet project quality standards;
103+
- participate in review, triage, and technical discussion on an ongoing basis;
104+
- help enforce project conventions, backward compatibility expectations, and
105+
testing standards;
106+
- help onboard new contributors and support potential Committer growth.
107+
108+
Committer approval process:
109+
110+
- nomination should be initiated by a Steering Committee Member; a Maintainer
111+
may recommend a candidate to the Steering Committee;
112+
- the nomination should be posted publicly and remain open for at least 7 days;
113+
- the nomination should include evidence of sustained contributions, reviews,
114+
and community participation;
115+
- election requires no fewer than 3 affirmative votes from the Steering
116+
Committee.
117+
118+
### Maintainer
119+
120+
A Maintainer is responsible for a module, subsystem, or key area. A Maintainer
121+
is normally also a Committer and serves as the day-to-day owner of a subsystem,
122+
integration, or cross-cutting capability.
123+
124+
Typical expectations for becoming a Maintainer:
125+
126+
- served effectively as a Committer for at least 6 months;
127+
- sustained ownership of at least 1 module, subsystem, or cross-cutting area;
128+
- a strong record of reviews, design leadership, and issue resolution in the
129+
last 12 months;
130+
- demonstrated mentoring of Contributors or Committers;
131+
- willingness to take responsibility for release readiness, backlog health, and
132+
module direction.
133+
134+
Typical responsibilities of a Maintainer:
135+
136+
- set module direction and make final calls when consensus cannot be reached at
137+
the module level;
138+
- maintain review responsiveness and quality expectations for their area;
139+
- coordinate significant design changes, deprecations, and compatibility
140+
decisions;
141+
- help identify and develop future Committers and Maintainer candidates;
142+
- participate in repository permission configuration when needed as the module
143+
owner.
144+
145+
Maintainer approval process:
146+
147+
- nomination must be proposed by at least 2 Maintainers, or at least 1 Steering
148+
Committee Member;
149+
- the nomination should be posted publicly and remain open for at least 7 days;
150+
- election requires approval from more than half of the active Steering
151+
Committee Members.
152+
153+
### Steering Committee Member
154+
155+
The Steering Committee is responsible for cross-project technical governance,
156+
community process, major role appointments, and dispute resolution.
157+
158+
Typical expectations for becoming a Steering Committee Member include:
159+
160+
- completing the design and development of multiple key modules or projects and
161+
being a core developer of the project;
162+
- showing sustained investment and passion, and actively participating in
163+
community, website, issue, pull request, and related maintenance work;
164+
- having visible influence in the community and being able to represent Spring
165+
Cloud Alibaba in important community meetings and activities;
166+
- having the awareness and ability to cultivate Committers and Contributors.
167+
168+
Steering Committee Members are normally selected from senior Committers,
169+
typically those who have already demonstrated Maintainer-level ownership and
170+
cross-project impact.
171+
172+
Typical responsibilities of a Steering Committee Member:
173+
174+
- define and evolve governance policy and community process;
175+
- approve Committer, Maintainer, and Steering Committee nominations;
176+
- resolve escalated cross-module disputes or priority conflicts;
177+
- help represent the project in the broader open source ecosystem;
178+
- maintain a healthy, diverse, and sustainable community.
179+
180+
Steering Committee approval process:
181+
182+
- nominations should normally come from active Steering Committee Members;
183+
- the nomination should be discussed openly where appropriate;
184+
- election requires approval from more than half of the active Steering
185+
Committee Members.
186+
187+
## Promotion Rules
188+
189+
The following rules apply to all role promotions:
190+
191+
- role decisions should be based on sustained contribution over time rather than
192+
a single large pull request or event;
193+
- numerical criteria are guidelines, not a substitute for judgment;
194+
- non-code contributions must be considered alongside code contributions;
195+
- the candidate's employer, affiliation, or commercial background must not be a
196+
deciding factor;
197+
- candidates should be informed before a nomination is made public and may
198+
decline the nomination;
199+
- a nominee must not vote on their own promotion.
200+
201+
## Activity, Inactive Status, and Emeritus Status
202+
203+
Meaningful activity includes code contributions, reviews, issue triage, design
204+
discussion, release work, mentoring, community meetings, and other visible
205+
project maintenance work.
206+
207+
Activity expectations:
208+
209+
- Committers, Maintainers, and Steering Committee Members who have no
210+
meaningful activity for 12 consecutive months may be marked inactive;
211+
- Members who remain inactive for an extended period, normally 18 months, may
212+
be moved to Emeritus status by the Steering Committee.
213+
214+
Emeritus status:
215+
216+
- recognizes historical service to the project;
217+
- does not include routine merge, approval, or governance responsibilities;
218+
- may be reactivated through a lightweight review by the body that owns the
219+
role.
220+
221+
Members are always welcome to step down voluntarily. Voluntary transitions
222+
should be respected and recorded publicly.
223+
224+
## Removal and Role Adjustment
225+
226+
Roles may be removed or adjusted when a member:
227+
228+
- requests to step down;
229+
- becomes inactive for an extended period;
230+
- repeatedly fails to meet role responsibilities;
231+
- seriously violates the code of conduct or abuses project permissions.
232+
233+
Except in urgent situations involving safety or abuse, removal or downgrade of
234+
Committer, Maintainer, or Steering Committee roles should be discussed by the
235+
Steering Committee and recorded publicly.
236+
237+
## Repository Permissions and Role Mapping
238+
239+
Community roles and repository permissions are related, but they are not
240+
identical.
241+
242+
Recommended mapping:
243+
244+
- Contributor: default repository access;
245+
- Committer: repository write access;
246+
- Maintainer: repository write or maintain access and responsibility as a
247+
module owner;
248+
- Steering Committee Member: governance role; repository admin access should be
249+
granted only when operationally necessary.
250+
251+
Where practical, the project should maintain module ownership through
252+
CODEOWNERS or an equivalent public ownership mechanism. Committer, Maintainer,
253+
and Steering Committee rosters should be published and kept current.
64254

65-
Contributors are individuals who contribute to the project, the standard is
255+
## Amendments
66256

67-
- Submitted PR and merged;
257+
This document may be updated by the Steering Committee through public
258+
discussion and approval. Material changes should be announced to the community
259+
before they take effect.

0 commit comments

Comments
 (0)