1
1
# Node.js Project Governance
2
2
3
- The Node.js project is governed by its Collaborators, including a Core Technical
4
- Committee (CTC) which is responsible for high-level guidance of the project.
3
+ The Node.js project is governed by its Collaborators, including a Technical
4
+ Steering Committee (TSC) which is responsible for high-level guidance of the
5
+ project.
5
6
6
7
## Collaborators
7
8
8
9
The [ nodejs/node] ( https://github.com/nodejs/node ) GitHub repository is
9
- maintained by Collaborators who are added by the CTC on an ongoing basis.
10
+ maintained by Collaborators who are added by the TSC on an ongoing basis.
10
11
11
- Individuals identified by the CTC as making significant and valuable
12
+ Individuals identified by the TSC as making significant and valuable
12
13
contributions across any Node.js repository may be made Collaborators and given
13
14
commit access to the project. Activities taken into consideration include (but
14
15
are not limited to) the quality of:
@@ -22,7 +23,7 @@ are not limited to) the quality of:
22
23
* other participation in the wider Node.js community
23
24
24
25
If individuals making valuable contributions do not believe they have been
25
- considered for commit access, they may log an issue or contact a CTC member
26
+ considered for commit access, they may log an issue or contact a TSC member
26
27
directly.
27
28
28
29
Modifications of the contents of the nodejs/node repository are made on
@@ -40,13 +41,13 @@ be accepted unless:
40
41
* Discussions and/or additional changes result in no Collaborators objecting to
41
42
the change. Previously-objecting Collaborators do not necessarily have to
42
43
sign-off on the change, but they should not be opposed to it.
43
- * The change is escalated to the CTC and the CTC votes to approve the change.
44
+ * The change is escalated to the TSC and the TSC votes to approve the change.
44
45
This should only happen if disagreements between Collaborators cannot be
45
46
resolved through discussion.
46
47
47
48
Collaborators may opt to elevate significant or controversial modifications to
48
- the CTC by assigning the ` ctc -review` label to a pull request or issue. The
49
- CTC should serve as the final arbiter where required.
49
+ the TSC by assigning the ` tsc -review` label to a pull request or issue. The
50
+ TSC should serve as the final arbiter where required.
50
51
51
52
* [ Current list of Collaborators] ( ./README.md#current-project-team-members )
52
53
* [ A guide for Collaborators] ( ./COLLABORATOR_GUIDE.md )
@@ -61,13 +62,13 @@ Typical activities of a Collaborator include:
61
62
* participation in working groups
62
63
* merging pull requests
63
64
64
- The CTC periodically reviews the Collaborator list to identify inactive
65
+ The TSC periodically reviews the Collaborator list to identify inactive
65
66
Collaborators. Past Collaborators are typically given _ Emeritus_ status. Emeriti
66
- may request that the CTC restore them to active status.
67
+ may request that the TSC restore them to active status.
67
68
68
- ## Core Technical Committee
69
+ ## Technical Steering Committee
69
70
70
- The Core Technical Committee (CTC ) has final authority over this project
71
+ The Technical Steering Committee (TSC ) has final authority over this project
71
72
including:
72
73
73
74
* Technical direction
@@ -77,109 +78,60 @@ including:
77
78
* Conduct guidelines
78
79
* Maintaining the list of additional Collaborators
79
80
80
- * [ Current list of CTC members] ( ./README.md#current-project-team-members )
81
+ * [ Current list of TSC members] ( ./README.md#current-project-team-members )
81
82
82
- ## CTC Membership
83
+ The operations of the TSC are governed by the [ TSC Charter] [ ] as approved by
84
+ the Node.js Foundation Board of Directors.
83
85
84
- CTC seats are not time-limited. There is no fixed size of the CTC. The CTC
85
- should be of such a size as to ensure adequate coverage of important areas of
86
- expertise balanced with the ability to make decisions efficiently.
86
+ ### TSC Meetings
87
87
88
- There is no specific set of requirements or qualifications for CTC
89
- membership beyond these rules.
90
-
91
- The CTC may add additional members to the CTC by a standard CTC motion.
92
-
93
- When a CTC member's participation in [ CTC activities] ( #ctc-activities ) has
94
- become minimal for a sustained period of time, the CTC will request that the
95
- member either indicate an intention to increase participation or voluntarily
96
- resign.
97
-
98
- CTC members may only be removed by voluntary resignation or through a standard
99
- CTC motion.
100
-
101
- Changes to CTC membership should be posted in the agenda, and may be
102
- suggested as any other agenda item (see [ CTC Meetings] ( #ctc-meetings ) below).
103
-
104
- No more than 1/3 of the CTC members may be affiliated with the same
105
- employer. If removal or resignation of a CTC member, or a change of
106
- employment by a CTC member, creates a situation where more than 1/3 of
107
- the CTC membership shares an employer, then the situation must be
108
- immediately remedied by the resignation or removal of one or more CTC
109
- members affiliated with the over-represented employer(s).
110
-
111
- ### CTC Activities
112
-
113
- Typical activities of a CTC member include:
114
-
115
- * attending the weekly meeting
116
- * commenting on the weekly CTC meeting issue and issues labeled ` ctc-review `
117
- * participating in CTC email threads
118
- * volunteering for tasks that arise from CTC meetings and related discussions
119
- * other activities (beyond those typical of Collaborators) that facilitate the
120
- smooth day-to-day operation of the Node.js project
121
-
122
- Note that CTC members are also Collaborators and therefore typically perform
123
- Collaborator activities as well.
124
-
125
- ### CTC Meetings
126
-
127
- The CTC meets weekly in a voice conference call. The meeting is run by a
128
- designated meeting chair approved by the CTC. Each meeting is streamed on
88
+ The TSC meets regularly in a voice conference call. The meeting is run by a
89
+ designated meeting chair approved by the TSC. Each meeting is streamed on
129
90
YouTube.
130
91
131
- Items are added to the CTC agenda which are considered contentious or
132
- are modifications of governance, contribution policy, CTC membership,
92
+ Items are added to the TSC agenda which are considered contentious or
93
+ are modifications of governance, contribution policy, TSC membership,
133
94
or release process.
134
95
135
96
The intention of the agenda is not to approve or review all patches.
136
97
That should happen continuously on GitHub and be handled by the larger
137
98
group of Collaborators.
138
99
139
100
Any community member or contributor can ask that something be reviewed
140
- by the CTC by logging a GitHub issue. Any Collaborator, CTC member, or the
141
- meeting chair can bring the issue to the CTC 's attention by applying the
142
- ` ctc -review` label. If consensus-seeking among CTC members fails for a
143
- particular issue, it may be added to the CTC meeting agenda by adding the
144
- ` ctc -agenda` label.
145
-
146
- Prior to each CTC meeting, the meeting chair will share the agenda with
147
- members of the CTC. CTC members can also add items to the agenda at the
148
- beginning of each meeting. The meeting chair and the CTC cannot veto or remove
101
+ by the TSC by logging a GitHub issue. Any Collaborator, TSC member, or the
102
+ meeting chair can bring the issue to the TSC 's attention by applying the
103
+ ` tsc -review` label. If consensus-seeking among TSC members fails for a
104
+ particular issue, it may be added to the TSC meeting agenda by adding the
105
+ ` tsc -agenda` label.
106
+
107
+ Prior to each TSC meeting, the meeting chair will share the agenda with
108
+ members of the TSC. TSC members can also add items to the agenda at the
109
+ beginning of each meeting. The meeting chair and the TSC cannot veto or remove
149
110
items.
150
111
151
- The CTC may invite persons or representatives from certain projects to
152
- participate in a non-voting capacity.
112
+ The TSC may invite additional persons to participate in a non-voting capacity.
153
113
154
114
The meeting chair is responsible for ensuring that minutes are taken and that a
155
115
pull request with the minutes is submitted after the meeting.
156
116
157
117
Due to the challenges of scheduling a global meeting with participants in
158
- several timezones, the CTC will seek to resolve as many agenda items as possible
118
+ several timezones, the TSC will seek to resolve as many agenda items as possible
159
119
outside of meetings using
160
- [ the CTC issue tracker] ( https://github.com/nodejs/CTC /issues ) . The process in
120
+ [ the TSC issue tracker] ( https://github.com/nodejs/TSC /issues ) . The process in
161
121
the issue tracker is:
162
122
163
- * A CTC member opens an issue explaining the proposal/issue and @-mentions
164
- @nodejs/ctc .
165
- * After 72 hours, if there are two or more ` LGTM ` s from other CTC members and no
166
- explicit opposition from other CTC members, then the proposal is approved.
167
- * If there are any CTC members objecting, then a conversation ensues until
123
+ * A TSC member opens an issue explaining the proposal/issue and @-mentions
124
+ @nodejs/tsc .
125
+ * After 72 hours, if there are two or more ` LGTM ` s from other TSC members and no
126
+ explicit opposition from other TSC members, then the proposal is approved.
127
+ * If there are any TSC members objecting, then a conversation ensues until
168
128
either the proposal is dropped or the objecting members are persuaded. If
169
129
there is an extended impasse, a motion for a vote may be made.
170
130
171
131
## Consensus Seeking Process
172
132
173
- The CTC follows a
174
- [ Consensus Seeking] ( http://en.wikipedia.org/wiki/Consensus-seeking_decision-making )
175
- decision making model.
176
-
177
- When an agenda item has appeared to reach a consensus, the meeting chair will
178
- ask "Does anyone object?" as a final call for dissent from the consensus.
133
+ The TSC follows a [ Consensus Seeking] [ ] decision making model as described by
134
+ the [ TSC Charter] [ ] .
179
135
180
- If an agenda item cannot reach a consensus, a CTC member can call for either a
181
- closing vote or a vote to table the issue to the next meeting. All votes
182
- (including votes to close or table) pass if and only if more than 50% of the CTC
183
- members (excluding individuals who explicitly abstain) vote in favor. For
184
- example, if there are 20 CTC members, and 5 of those members indicate that they
185
- abstain, then 8 votes in favor are required for a resolution to pass.
136
+ [ TSC Charter ] : https://github.com/nodejs/TSC/blob/master/TSC-Charter.md
137
+ [ Consensus Seeking ] : http://en.wikipedia.org/wiki/Consensus-seeking_decision-making
0 commit comments