-
Notifications
You must be signed in to change notification settings - Fork 135
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
Update charter to address membership challenges #1350
Changes from all commits
d87eac6
209abda
4059a90
8e0d4a0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -17,60 +17,48 @@ In the case of the Node.js project, it is delegated to the Node.js | |||||||||
Technical Steering Committee (“TSC”). OpenJS Foundation’s business | ||||||||||
leadership is the Board of Directors (the “Board”). | ||||||||||
|
||||||||||
This Technical Steering Committee Charter reflects a carefully | ||||||||||
constructed balanced role for the TSC and the CPC in the governance of | ||||||||||
the OpenJS Foundation. The charter amendment process is for the TSC to | ||||||||||
propose changes using simple majority of the full TSC, the proposed | ||||||||||
changes being subject to review and approval by the CPC. The CPC may | ||||||||||
additionally make amendments to the TSC charter at any time, though the | ||||||||||
CPC will not interfere with day-to-day discussions, votes or meetings | ||||||||||
of the TSC. | ||||||||||
This charter can only be amended with the approval of the CPC. | ||||||||||
|
||||||||||
## Section 3. Establishment of the TSC | ||||||||||
|
||||||||||
TSC members can be either _regular_ members or _voting_ members. Regular | ||||||||||
members can attend meetings and participate in TSC discussions, but do not | ||||||||||
vote. Voting members can do everything regular members can do, and also have | ||||||||||
the ability to cast votes when consensus is not reached on an issue. | ||||||||||
|
||||||||||
TSC memberships are not time-limited. There is no maximum size of the TSC. | ||||||||||
The size is expected to vary in order to ensure adequate coverage of important | ||||||||||
areas of expertise, balanced with the ability to make decisions efficiently. | ||||||||||
The TSC must have at least four members. | ||||||||||
The TSC must have at least four voting members. | ||||||||||
Trott marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||
|
||||||||||
There is no specific set of requirements or qualifications for TSC | ||||||||||
membership beyond these rules. The TSC may add additional members to the | ||||||||||
TSC by a standard TSC motion. A TSC member may be removed from the | ||||||||||
TSC by voluntary resignation, by a standard TSC motion, or in accordance to the | ||||||||||
participation rules described below. | ||||||||||
|
||||||||||
Changes to TSC membership should be posted in the agenda, and may be suggested | ||||||||||
as any other agenda item. | ||||||||||
|
||||||||||
No more than one-fourth of the TSC members may be affiliated with the | ||||||||||
same employer. If removal or resignation of a TSC member, or a change of | ||||||||||
employment by a TSC member, creates a situation where more than | ||||||||||
one-fourth of the TSC membership shares an employer, then the situation | ||||||||||
must be immediately remedied by the resignation or removal of one or more | ||||||||||
TSC members affiliated with the over-represented employer(s). | ||||||||||
|
||||||||||
The TSC may, at its discretion, invite any number of non-voting observers to | ||||||||||
participate in the public portion of TSC discussions and meetings. | ||||||||||
membership beyond these rules. The TSC may add additional voting members to the | ||||||||||
TSC by a standard TSC motion. A TSC member can be removed from the | ||||||||||
TSC by voluntary resignation or by a standard TSC motion. A standard TSC motion | ||||||||||
can be used to change a regular TSC member to a voting TSC member, or to change | ||||||||||
a voting TSC member to a regular TSC member. | ||||||||||
|
||||||||||
No more than one-fourth of the TSC voting members may be affiliated with the | ||||||||||
same employer. If change in TSC voting membership or a change of | ||||||||||
employment by a TSC voting member creates a situation where more than | ||||||||||
one-fourth of the TSC voting membership shares an employer, then the situation | ||||||||||
must be immediately remedied by the removal of voting member status from one or | ||||||||||
more TSC voting members affiliated with the over-represented employer(s). | ||||||||||
|
||||||||||
The TSC shall meet regularly using tools that enable participation by the | ||||||||||
community (e.g. weekly on a Google Hangout On Air, or through any other | ||||||||||
appropriate means selected by the TSC). The meeting shall be directed by | ||||||||||
the TSC Chairperson. Responsibility for directing individual meetings may be | ||||||||||
delegated by the TSC Chairperson to any other TSC member. Minutes or an | ||||||||||
delegated by the TSC Chairperson to any other TSC voting member. Minutes or an | ||||||||||
appropriate recording shall be taken and made available to the community | ||||||||||
through accessible public postings. | ||||||||||
|
||||||||||
TSC members are expected to regularly participate in TSC activities. | ||||||||||
|
||||||||||
A TSC member is automatically removed from the TSC if, during a 3-month period, | ||||||||||
all of the following are true: | ||||||||||
TSC voting members are expected to regularly participate in TSC activities. | ||||||||||
|
||||||||||
* They attend fewer than 25% of the regularly scheduled meetings. | ||||||||||
* They do not participate in any TSC votes. | ||||||||||
A TSC voting member is automatically converted to a TSC regular member if | ||||||||||
they do not participate in three consecutive TSC votes. | ||||||||||
|
||||||||||
## Section 4. Responsibilities of the TSC | ||||||||||
|
||||||||||
Subject to such policies as may be set by the CPC, the TSC is | ||||||||||
Subject to such policies as may be set by the CPC, the TSC voting members are | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure about this change, I think it would make sense if the TSC was responsible. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree. Isn’t the process for any non-voting TSC member to become a voting TSC member to simply vote, or ask to become a voting member? So de facto the entire TSC is responsible for everything, because anyone can choose to “step forward” into voting status at any time. So we can just say “the TSC” for most things. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regular members can't vote: "Regular members can attend meetings and participate in TSC discussions, but do not vote.". The process to become a voting member for a regular member is outlined in the document: "A standard TSC motion can be used to change a regular TSC member to a voting TSC member, or to change a voting TSC member to a regular TSC member." And I think a standard TSC motion means lazy consensus over the whole TSC, and a vote (among the voting members) if no consensus can be reached? But if regular members are mostly inactive, does that mean we will be forced to move to a vote, or can we make a motion without the majority of the TSC participating? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there a reason to require a motion for a non-voting member to become active again? I would think that we would want as low a bar (if any) as possible, so that no one feels any need to fight to stay as a voting member when they’ve missed votes and are automatically recategorized. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. With all the things tied to being a voting member (e.g. being an org admin), I’d say we do want a not too low bar. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. how about this clause instead of TSC motion for re-entry:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note that this proposal doesn't take into account folks who might want to be TSC members without being voting members (but maybe no one wants that, I don't know). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IMO, it is too late to change the text on this PR. It has been approved by the CPC and previously approved by the TSC. It is already our charter. It just hasn't landed because a few other PRs need to land too to keep everything consistent. If people want to change the charter further, that would be a new PR. |
||||||||||
responsible for all technical development within the Node.js project, | ||||||||||
including: | ||||||||||
|
||||||||||
|
@@ -85,20 +73,20 @@ including: | |||||||||
* Mediating technical conflicts between Collaborators or Foundation | ||||||||||
projects. | ||||||||||
|
||||||||||
The TSC will define Node.js project’s release vehicles. | ||||||||||
The TSC voting members will define Node.js project’s release vehicles. | ||||||||||
|
||||||||||
## Section 5. Node.js Project Operations | ||||||||||
|
||||||||||
The TSC will establish and maintain a development process for the Node.js | ||||||||||
project. The development process will establish guidelines | ||||||||||
The TSC voting members will establish and maintain a development process for the | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here |
||||||||||
Node.js project. The development process will establish guidelines | ||||||||||
for how the developers and community will operate. It will, for example, | ||||||||||
establish appropriate timelines for TSC review (e.g. agenda items must be | ||||||||||
published at least a certain number of hours in advance of a TSC | ||||||||||
meeting). | ||||||||||
|
||||||||||
The TSC and entire technical community will follow any processes as may | ||||||||||
be specified by the OpenJS Foundation Board relating to the intake and license compliance | ||||||||||
review of contributions, including the OpenJS Foundation IP Policy. | ||||||||||
be specified by the OpenJS Foundation Board relating to the intake and license | ||||||||||
compliance review of contributions, including the OpenJS Foundation IP Policy. | ||||||||||
|
||||||||||
## Section 6. Elections | ||||||||||
|
||||||||||
|
@@ -117,8 +105,8 @@ election is required if there is only one candidate and no objections to | |||||||||
the candidate's election. Elections shall be done within the projects by | ||||||||||
the Collaborators active in the project. | ||||||||||
|
||||||||||
The TSC will elect from amongst voting TSC members a TSC Chairperson to | ||||||||||
work on building an agenda for TSC meetings and a OpenJS | ||||||||||
The TSC voting members will elect from amongst voting TSC members a TSC | ||||||||||
Chairperson to work on building an agenda for TSC meetings and a OpenJS | ||||||||||
Cross Project Council (CPC) voting member to represent the TSC in | ||||||||||
the OpenJS Foundation for a term of one year. The Chair and voting CPC | ||||||||||
member may be (but are not required to be) the same person. | ||||||||||
|
@@ -129,41 +117,37 @@ of terms a TSC Chairperson or voting CPC member may serve. | |||||||||
## Section 7. Voting | ||||||||||
|
||||||||||
For internal project decisions, Collaborators shall operate under Lazy | ||||||||||
Consensus. The TSC shall establish appropriate guidelines for | ||||||||||
Consensus. The TSC voting members shall establish appropriate guidelines for | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ditto |
||||||||||
implementing Lazy Consensus (e.g. expected notification and review time | ||||||||||
periods) within the development process. | ||||||||||
|
||||||||||
The TSC follows a [Consensus Seeking][] decision making model. When an agenda | ||||||||||
item has appeared to reach a consensus the moderator will ask "Does anyone | ||||||||||
object?" as a final call for dissent from the consensus. | ||||||||||
|
||||||||||
If an agenda item cannot reach a consensus a TSC member can call for | ||||||||||
either a closing vote or a vote to table the issue to the next meeting. | ||||||||||
The call for a vote must be seconded by a majority of the TSC or else the | ||||||||||
discussion will continue. | ||||||||||
Trott marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||
The TSC voting members follow a [Consensus Seeking][] decision making model. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here |
||||||||||
When an agenda item has appeared to reach a consensus the moderator will ask | ||||||||||
"Does anyone object?" as a final call for dissent from the consensus. | ||||||||||
|
||||||||||
For all votes, a simple majority of all TSC members for, or against, the issue | ||||||||||
wins. A TSC member may choose to participate in any vote through abstention. | ||||||||||
For all votes, a simple majority of all TSC voting members for, or against, the | ||||||||||
issue wins. A TSC voting member may choose to participate in any vote through | ||||||||||
abstention. | ||||||||||
|
||||||||||
All changes to this charter must be approved by the CPC. | ||||||||||
|
||||||||||
## Section 8. Project Roles | ||||||||||
|
||||||||||
The Node.js git repository is maintained by the TSC and | ||||||||||
additional Collaborators who are added by the TSC on an ongoing basis. | ||||||||||
additional Collaborators who are added by the TSC voting members on an ongoing | ||||||||||
basis. | ||||||||||
|
||||||||||
Individuals making significant and valuable contributions, | ||||||||||
“Contributor(s)”, are made Collaborators and given commit-access to the | ||||||||||
project. These individuals are identified by the TSC and their addition | ||||||||||
as Collaborators is discussed during a TSC meeting. Modifications of the | ||||||||||
contents of the git repository are made on a collaborative basis as defined in | ||||||||||
the development process. | ||||||||||
Individuals making significant and valuable contributions are made Collaborators | ||||||||||
and given commit-access to the project. These individuals are identified by the | ||||||||||
TSC and their addition as Collaborators is discussed during a TSC meeting. | ||||||||||
Modifications of the contents of the git repository are made on a collaborative | ||||||||||
basis as defined in the development process. | ||||||||||
|
||||||||||
Collaborators may opt to elevate significant or controversial | ||||||||||
modifications, or modifications that have not found consensus to the TSC | ||||||||||
for discussion by assigning the `tsc-agenda` tag to a pull request or | ||||||||||
issue. The TSC should serve as the final arbiter where required. The TSC | ||||||||||
will maintain and publish a list of current Collaborators, as | ||||||||||
issue. The TSC voting members should serve as the final arbiter where required. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Maybe we should introduce something called
Suggested change
(another option is to stick with the previous version, which is still correct IIUC, albeit a little more vague) |
||||||||||
The TSC will maintain and publish a list of current Collaborators, as | ||||||||||
well as a development process guide for Collaborators and Contributors | ||||||||||
looking to participate in the development effort. | ||||||||||
|
||||||||||
|
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.
eh, I'm really not all that convinced this is worthwhile, to be honest. Yes, I understand we've had some issues here but I think we need to do a better job of encouraging no-longer active TSC members to just not be TSC members anymore. I'm not going to block, however, if the majority of TSC members want this. Just consider my vote to be -0.
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.
I believe #1350 (comment) addresses this line of thinking.