@@ -19,177 +19,31 @@ We value our community tremendously and we'd like to keep cultivating a friendly
1919environment for our contributors and users. We want everyone in the community to have
2020[ positive experiences] ( https://www.cncf.io/blog/2016/12/14/diversity-scholarship-series-one-software-engineers-unexpected-cloudnativecon-kubecon-experience ) .
2121
22+ # Community membership
23+
24+ See [ community membership]
25+
26+ # SIG Governance
27+
28+ See [ sig governance]
29+
2230# Repository guidelines
2331
2432All repositories under Kubernetes github orgs, such as kubernetes and kubernetes-incubator,
2533should follow the procedures outlined in the [ incubator document] ( incubator.md ) . All code projects
2634use the [ Apache Licence version 2.0] ( LICENSE ) . Documentation repositories should use the
2735[ Creative Commons License version 4.0] ( https://github.com/kubernetes/kubernetes.github.io/blob/master/LICENSE ) .
2836
29- # Project Roles
30-
31- Kubernetes is a large project. It is necessarily a group effort.
32-
33- There are many ways to participate and contribute.
34- We value all forms of constructive contribution, no matter how small, even if not
35- explicitly described below.
36-
37- It is intended that contributors have the opportunity to grow in responsibilities,
38- privileges, and authority corresponding to the scope, quality, quantity, and duration
39- of their contributions. Definition of criteria and process is in progress, with preliminary
40- requirements below.
41-
42- Why would someone want to perform and be accepted into a particular role?
43- - To work more efficiently; more permissions reduce development friction
44- - Status (have the Kubernetes badge on his/her profile and/or contributions)
45- - Ownership
46- - etc...
47-
48- Roles that are currently assumed by project participants are described below,
49- with a focus on the ` kubernetes/kubernetes ` repo.
50-
51- ## Code and documentation contributors
52-
53- New community members:
54-
55- - [ ** New Contributor** ] ( https://github.com/kubernetes/contrib/issues/1090 ) : a
56- couple of PRs; should be welcomed to the community, helped with PR workflow, and
57- directed to relevant documentation
58- - ** Active Contributor** : at least 3 merged and/or assigned PRs (which could include documentation
59- contributions as well as code), including one in the past month; we have
60- [ expectations] ( contributors/devel/community-expectations.md )
61- that frequent contributors will assist in our code-review process and with project
62- maintenance
63-
64- Established community members:
65-
66- Established community members are expected to demonstrate their adherence to the principles in this
67- document, familiarity with project organization, roles, policies, procedures, conventions, etc.,
68- and technical and/or writing ability. Role-specific expectations, responsibilities, and requirements
69- are enumerated below.
70-
71- - ** Member** : an active contributor for at least 3 months; at least 10 merged and/or assigned PRs; active enough to be useful
72- to assign issues to them and add them to a github team (e.g., for a SIG) for notification
73- purposes; trusted enough to run tests on their PRs automatically; can issue "@k8s-bot ok to test"
74- for other contributors; if they choose public membership, they get a badge on their github profile;
75- should subscribe to
[email protected] ; expected to be familiar with
76- project organization, roles, policies, procedures, etc.; should read the [ developer
77- guide] ( contributors/devel/README.md ) ; must enable
78- [ two-factor authentication] ( https://help.github.com/articles/about-two-factor-authentication/ )
79- - ** Reviewer** : org member for at least 3 months; at least 20 merged and/or assigned PRs, including
80- at least 3 as the primary reviewer; familiar enough with some part of the codebase to be in some
81- [ OWNERS] ( contributors/devel/owners.md ) file as a reviewer (in repos using the bot),
82- assigned related PRs, assigned relevant test bugs; responsible for project quality control via
83- [ code reviews] ( contributors/devel/collab.md ) ; expected to be responsive to
84- review requests as per [ community expectations] ( contributors/devel/community-expectations.md ) ;
85- can champion incubator repos; must be nominated by an approver for that part of the codebase,
86- with no objections from other approvers; should be added to
87- [ ` kubernetes-reviewers ` ] ( https://github.com/orgs/kubernetes/teams/kubernetes-reviewers ) ;
88- "read access" to kubernetes repo; get a badge on PR and issue comments; may be asked to
89- become a reviewer as a precondition for accepting a large code contribution
90- - ** Approver** : in some [ OWNERS] ( contributors/devel/owners.md ) file as an approver, which
91- will be needed to get code merged; previously a reviewer for that part of the
92- codebase for at least 3 months; at least 30 merged and/or assigned PRs, including at least 10 as
93- the primary reviewer; expected to be responsive to review requests as per
94- [ community expectations] ( contributors/devel/community-expectations.md ) ; expected to
95- mentor contributors and reviewers; demonstrated sound technical judgement; nominated
96- by an area/component owner, with no objections from other owners; may be asked to
97- become an approver as a precondition for accepting a large code contribution
98- - ** Area/Component Owner** : in top-level [ OWNERS] ( contributors/devel/owners.md ) file for
99- some area/component as an approver; design/proposal approval authority for some area
100- of the project, though escalation is still possible; expected to mentor and guide approvers,
101- reviewers, and other contributors; may be asked to become an area/component owner as a precondition
102- for accepting the contribution of a new component or other major function
103- - [ ** kubernetes-maintainers** ] ( https://github.com/orgs/kubernetes/teams/kubernetes-maintainers ) :
104- approver for some part of the codebase for at least 3 months; on project for at least 1 year;
105- at least 50 merged and/or assigned PRs, including at least 20 as the primary reviewer;
106- write access to repo (assign issues/PRs, add/remove labels and milestones, edit issues and PRs, edit wiki,
107- create/delete labels and milestones); technically can lgtm any PR and cause it
108- to be merged by the submit queue, but expected to respect OWNERS files; expected to review PRs, fix bugs, maintain and
109- improve health and quality of the project, provide user support, mentor and guide approvers,
110- reviewers, and other contributors; must apply to
` [email protected] ` , with a
111- [ Champion] ( https://github.com/kubernetes/community/blob/master/incubator.md#faq ) from the existing
112- kubernetes-maintainers members and a Sponsor from Project Approvers, with a summary
113- of contributions to the project, current project responsibilities, and links to merged and assigned PRs;
114- at least 3 of the maintainers must approve the application, with no objections; the application
115- expires after 2 weeks if not enough approvals are granted
116- - ** Project Approvers** : approver in [ top-level OWNERS file in kubernetes repo] ( https://github.com/kubernetes/kubernetes/blob/master/OWNERS ) ;
117- de-facto project decision makers; technically can
118- approve virtually any PRs; can sponsor incubator repos; can sponsor maintainers;
119- maintainer in good standing for at least 1 year; strong technical vision;
120- committed to project's mission and culture; nomination/application process TBD
121- - [ ** API Approver** ] ( https://github.com/orgs/kubernetes/teams/api-approvers ) :
122- lead designers of the project, who are familiar with the
123- design, requirements, mechanics, conventions, style, scope, gotchas, etc.
124- of the API; most beta/GA API changes are vetted by the API approvers
125- - [ ** API Reviewer** ] ( https://github.com/orgs/kubernetes/teams/api-reviewers ) :
126- contributors familiar with design, requirements, mechanics, conventions, style,
127- scope, gotchas, etc. of the API; have written and/or reviewed Kubernetes APIs
128-
129- ## SIG roles
130- - ** SIG Participant** : active in one or more areas of the project; wide
131- variety of roles are represented
132- - ** SIG Lead** : SIG organizer
133-
134- ## Management roles
135- - ** Team Lead** : tech lead or manager of some team at some company working on
136- K8s; can influence priorities of their team members; pragmatically,
137- probably want label/assignment powers
138- - [ ** kubernetes-pm** ] ( https://github.com/orgs/kubernetes/teams/kubernetes-pm ) : help to [ manage and maintain the project] ( project-managers/README.md ) in
139- ways other than just writing code (e.g. managing issues); should subscribe to
[email protected] 140-
141- ## Rotations
142- - [ ** Build Cop** ] ( contributors/devel/on-call-build-cop.md ) : ensure tests pass, submit queue is working, rollback PRs,
143- manually merge as necessary to fix build; should be members of appropriate repo's build-cops github team
144- (e.g., [ kubernetes-build-cops] ( https://github.com/orgs/kubernetes/teams/kubernetes-build-cops ) )
145- - [ ** User-Support Rotation** ] ( contributors/devel/on-call-user-support.md ) : answer questions on stackoverflow, googlegroups,
146- slack, twitter, etc. full time while on duty
147-
148- ## Release roles
149- - The roles of the individuals/team responsible for major, minor, and patch releases is documented
150- [ here] ( https://github.com/kubernetes/community/tree/master/contributors/devel/release ) . Should be
151- members of the appropriate release-managers github team (e.g.,
152- [ kubernetes-release-managers] ( https://github.com/orgs/kubernetes/teams/kubernetes-release-managers ) ).
153-
154- ## Other duty-specific github roles:
155- - [ ** Github Org Owner** ] ( https://github.com/orgs/kubernetes/people?utf8=%E2%9C%93&query=%20role%3Aowner ) :
156- can create repos, do ~ any github action; the number of
157- owners shouldn't scale with the organization's growth, O(1), and optimally it
158- should be less than 20 people who are very familiar with project workings and
159- distributed across a few time zones and organizations The other repos will
160- have distinct sets of people filling some of the above roles, also.
161-
162- ## Other repositories
163-
164- Guidelines for roles in other repositories are TBD. New subprojects/repositories need to be
165- able to add reviewers, approvers, and maintainers more rapidly than more mature subprojects.
166- Subprojects less than 1 year old will have relaxed time and PR requirements.
167-
168- ## Removal from roles
169-
170- Most of the above roles require continuous, significant involvement in the project. If someone
171- becomes unable or unwilling to continue in their roles, they may retire. If someone doesn't fulfill
172- their role for 90 days or violates the code of conduct, they may be removed from the role (escalation/vote
173- process TBD). If they wish to resume their role in the future, they may request to return to it by asking
174- the current members filling that role.
37+ # Incubator process
17538
176- # SIG Governance
177-
178- In order to standardize Special Interest Group efforts, create maximum transparency, and route contributors to the appropriate SIG, SIGs should follow the guidelines stated below:
179-
180- * Meet regularly, at least for 30 minutes every 3 weeks, except November and December
181- * Keep up-to-date meeting notes, linked from the SIG's page in the community repo
182- * Announce meeting agenda and minutes after each meeting, on their SIG mailing list
183- * Record SIG meeting and make it publicly available
184- * Ensure the SIG's mailing list and slack channel are archived
185- * Report activity in the weekly community meeting at least once every 6 weeks
186- * Participate in release planning meetings and retrospectives, and burndown meetings, as needed
187- * Ensure related work happens in a project-owned github org and repository, with code and tests explicitly owned and supported by the SIG, including issue triage, PR reviews, test-failure response, bug fixes, etc.
188- * Use the above forums as the primary means of working, communicating, and collaborating, as opposed to private emails and meetings
189- * Represent the SIG for the PM group - see [ PM SIG representatives] ( https://github.com/kubernetes/community/blob/master/sig-pm/SIG%20PM%20representatives.md ) .
39+ See [ incubator process]
19040
19141# CLA
19242
19343All contributors must sign the CNCF CLA, as described [ here] ( CLA.md ) .
19444
45+ [ community membership ] : /community-membership.md
46+ [ sig governance ] : /sig-governance.md
47+ [ incubator process ] : /incubator.md
48+
19549[ ![ Analytics] ( https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/governance.md?pixel )] ( )
0 commit comments