-
Notifications
You must be signed in to change notification settings - Fork 134
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
charter: add TSC membership terms, mandatory mediation, and removal requirements #318
Changes from all commits
1e51330
928eb4f
7e61300
9e8dc17
86a5ca3
903b9d0
5b6abdc
4085455
e2c48a2
298ad2a
01c868f
4ba8680
6766814
7b6d2ae
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 |
---|---|---|
|
@@ -36,16 +36,27 @@ approved by the Board. | |
|
||
## Section 4. Establishment of the TSC. | ||
|
||
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 three members. | ||
TSC memberships are for one year terms that must be recertified. Motions for | ||
recertification are automatic and require a vote. Members are recertified if a | ||
simple majority of TSC members vote in favor of recertifying the individual as | ||
a TSC member. Such members will continue through the next year's term. | ||
Individuals failing recertification may return to the TSC after no less than | ||
six months following normal TSC motion. | ||
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. Does the TSC member's own vote count in recertification? How is a tie in a recertification vote resolved? 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. A tie would be less than simple majority so the individual would not be recertified. No, their vote for themselves wouldn't count. I can clarify that. 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. Please do. 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 precedent for one's own vote for oneself not counting in other processes? With most board voting the vote for oneself, if you have the right to vote, counts. |
||
|
||
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 three members. | ||
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 would suggest a higher number, at least 5, given the TSC’s responsibility 3 people is to few. I would also suggest to document what happens if the number falls below the minimum. Another topic that might fit better into a follow up pull request is to require "active" members, and define what "active" means, to avoid a situation where people are voted into the board without fulfilling their responsibilities. 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. -1 on making the minimum five. What happens if the number falls below this is the responsibility of the Node.js Foundation Board to determine. 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. Regarding "active" members, the TSC recently passed modification to the TSC Charter that includes specific guidelines around TSC member activity. Specifically, there is a minimum participation requirement already covered by the charter. 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.
@gr2m FYI, this section of the charter includes these minimum requirements to stay active:
(Not saying there isn't room for improvement. Just pointing out what's already there.) |
||
|
||
Individuals nominated to the TSC must be members of at least one Node.js | ||
Working Group or Team at the time of their nomination and must maintain active | ||
participation in at least one Working Group or Team throughout their term. | ||
|
||
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 and vote. 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. | ||
membership beyond these rules. | ||
|
||
The TSC may add additional members to the TSC by a standard TSC motion and vote. | ||
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. | ||
|
@@ -176,10 +187,43 @@ discussion will continue. | |
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. | ||
|
||
While the results of all votes must be made public, the actual individual | ||
ballots cast for most votes may be made public or confidential at the discretion | ||
of the TSC Chair. However, individual ballots for recertification or removal of | ||
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 feel like one member wanting it to be confidential should be enough, not depending on the chair. |
||
TSC members must remain confidential. The names of members voting or abstaining | ||
in all votes must be made public with a clear indication given of whether the | ||
individual voted or abstained. | ||
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. Why is abstaining public? Not sure I like that. |
||
|
||
Following the completion of all votes, a public statement must be made via | ||
GitHub specifying the results of the vote. Contextual detail about why the | ||
vote was held, including a listing of the specific questions voted on must be | ||
included in the statement. | ||
|
||
Note that, in addition to requiring a simple majority vote of the TSC, all | ||
changes to this charter are also subject to approval from the Node.js | ||
Foundation board. | ||
|
||
### Votes to Remove Members | ||
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. EDIT: Much of the content of this section has been removed so I'm not sure these comments apply anymore. Striking out.
I get that this is trying to address recent events, but IMO the issue there isn't that the TSC didn't know how to remove someone. The how-to-remove-someone process is actually straightforward. It's that the TSC didn't know how to deal with CoC stuff. Removal is straightforward, at least from a mechanical perspective. If someone wants another member removed, make a motion. A discussion ensues. If consensus cannot be reached, it goes to a vote. There does not need to be misconduct for someone to be removed. Someone can be removed for any number of reasons. Maybe they are inactive. Maybe they are difficult to work with, without being malicious. Maybe they consistently cause problems unintentionally. Maybe they just have bad judgment. Maybe it's a combination of things like that, any one of which wouldn't be a big deal, but taken together make them unsuitable for the TSC.
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.
That's not even a consideration for me. I will rework this. |
||
|
||
Should a situation arise that considers the removal of a TSC member, an | ||
attempt should first be made to resolve the issue without requiring a vote. | ||
The TSC Chair may, at their discretion, request that the issue be referred | ||
to a Foundation appointed third-party mediator for arbitration. | ||
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 believe this should be "for mediation and, potentially, arbitration." |
||
|
||
Failing all other possible resolutions, a simple majority vote of TSC members | ||
is required to remove a member. Should such a vote to result in a tie (50%/50% | ||
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. s/vote to result/vote result 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. Should this be 66%/33% or do we like the potential almost 50% non-support? |
||
split of non-abstaining participants) the matter shall be referred to a | ||
Foundation appointed independent third-party mediator for arbitration. | ||
|
||
All decisions regarding removal of TSC members will be subject to review by | ||
the Node.js Foundation Board. While the Board will not have the ability to | ||
overturn or vacate the decisions of the TSC, the Board may issue a statement | ||
requesting that the TSC revisit the decision and recommend that the matter be | ||
referred to a Foundation appointed third-party mediator for arbitration. | ||
|
||
Once referred to arbitration, the decision of the mediator will be considered | ||
final and binding on all parties. | ||
|
||
## Section 9. Project Roles | ||
|
||
The Node.js Foundation git repository is maintained by the TSC and | ||
|
@@ -216,6 +260,39 @@ TSC. | |
* **Maintainer**: a Collaborator within a Core Project elected to | ||
represent the Core Project on the TSC. | ||
|
||
## Section 11. Escalation of Disputes and Code of Conduct Violations | ||
|
||
Participation in the Node.js project is governed by a Code of Conduct policy | ||
that is established by the TSC. The TSC is required to establish a policy | ||
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. Why is this not established by CommComm? |
||
for the enforcement of Code of Conduct issues. Any reports of Code of Conduct | ||
or policy violations on the part of TSC members that are not resolvable through | ||
that established policy will be referred to binding, independent third-party | ||
arbitration with a Foundation appointed mediator. All TSC members, upon | ||
acceptance of their nomination to the TSC body, voluntarily agree to abide by | ||
the decisions of the independent third-party mediator. | ||
|
||
## Section 12: Leaves of Absence and Temporary Suspension of TSC Membership | ||
|
||
TSC Members may voluntarily temporarily suspend their memberships in the TSC | ||
for any period of time not in excess of twelve months. In such cases, the member | ||
may return to full TSC membership status at any time. | ||
|
||
TSC Members may have their memberships involuntarily suspended by a simple | ||
majority vote of the other TSC members for any period of time not in excess of | ||
twelve months. The suspension period must be specified in advance of the | ||
decision. The members privileges as a TSC member will be restored automatically | ||
after the given period has passed. The TSC may decide, through simple majority | ||
vote, to lift the suspension early. | ||
|
||
## Section 13: Selection of Mediators | ||
|
||
When it becomes necessary within the context of this charter to select a | ||
third party mediator for arbitration, a qualified mediator shall be selected by | ||
the Node.js Foundation Board of Directors (or an individual designated by 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. We refer to the Node.js Foundation as providing the mediator, but here we state that the board is responsible for selection. Introducing the board into this statement may be unnecessary. I recommend reviewing this bit with Foundation Legal. |
||
Board to so act on their behalf). The mediator should be trained and qualified | ||
in mediation/conflict resolution and must not be a member of the TSC, Node.js | ||
Community Committee, or Node.js Foundation Board of Directors. | ||
|
||
[Consensus Seeking]: http://en.wikipedia.org/wiki/Consensus-seeking_decision-making | ||
[Condorcet]: http://en.wikipedia.org/wiki/Condorcet_method | ||
[Single Transferable Vote]: http://en.wikipedia.org/wiki/Single_transferable_vote |
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.
One year from... date of original addition / last recertification?
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.
The intention is all at once, once per year.
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'm not going to expend a lot of effort trying to change this, but I'll say that I'd prefer it be rolling so that there is a rhythm. "What two or three people need to be recertified this month? And who is up for recertification next month?" instead of "Oops, did we go two-and-a-half years without recertifying anyone again?" (Sort of what happened with the TSC Director/Chair position at last once, no?)
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 would prefer 2 year terms.