Skip to content
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

Closed
wants to merge 14 commits into from
93 changes: 85 additions & 8 deletions TSC-Charter.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Copy link
Contributor

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?

Copy link
Member Author

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.

Copy link
Member

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.

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?)

Copy link
Member

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.

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.
Copy link

Choose a reason for hiding this comment

The 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?

Copy link
Member Author

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.
Copy link

Choose a reason for hiding this comment

The 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.

Copy link
Member Author

Choose a reason for hiding this comment

The 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.

Copy link
Member Author

Choose a reason for hiding this comment

The 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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@gr2m FYI, this section of the charter includes these minimum requirements to stay active:

In the case where an individual TSC member -- within any three month period -- attends fewer than 25% of the regularly scheduled meetings, does not participate in TSC discussions, and does not participate in TSC votes, the member shall be automatically removed from the TSC. The member may be invited to continue attending TSC meetings as an observer.

(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.
Expand Down Expand Up @@ -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
Copy link
Member

Choose a reason for hiding this comment

The 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.
Copy link
Member

Choose a reason for hiding this comment

The 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
Copy link
Member

@Trott Trott Aug 22, 2017

Choose a reason for hiding this comment

The 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 know you worked hard on this section and it's a lot of text and I'm sure it represents a lot of thought. But I disagree with it and think it should simply be removed. Go back to the original text on the matter which was something like:

TSC members may be removed by a standard TSC motion.

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.

If we want to include additional process to try to prevent a repeat of this experience, maybe focus on referring disputes to third-party mediation (by someone trained in mediation/conflict resolution, not some other member of this or another committee or even the board). And ask the Board to agree in advance that they're willing to pay for such things.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you worked hard on this ...

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.
Copy link
Contributor

Choose a reason for hiding this comment

The 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%
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/vote to result/vote result

Copy link
Member

Choose a reason for hiding this comment

The 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
Expand Down Expand Up @@ -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
Copy link
Member

Choose a reason for hiding this comment

The 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
Copy link
Contributor

Choose a reason for hiding this comment

The 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