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: revised membership rules #142

Merged
merged 3 commits into from
May 19, 2017
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 39 additions & 19 deletions TSC-Charter.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Technical Steering Committee (TSC) Charter

## Section 1. Guiding Principle.
## Section 1. Guiding Principle.

The Node.js Foundation will operate transparently, openly,
collaboratively, and ethically. Project proposals, timelines, and status
Expand Down Expand Up @@ -34,20 +34,21 @@ individual project scope and direction while they remain within the scope
and direction of the policies as described in the TSC Policy document and
approved by the Board.

## Section 4. Establishment of the TSC.
## Section 4. Establishment of the TSC.

TSC memberships are not time-limited. There is no fixed size of the TSC.
However, the expected target is between 6 and 12, to ensure adequate
coverage of important areas of expertise, balanced with the ability to
make decisions efficiently.
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.
Copy link
Contributor

Choose a reason for hiding this comment

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

The TSC must have at least three members

Maybe a good thing to have... but it begs the question of what happens if this minimum isn't met?

Copy link
Contributor

Choose a reason for hiding this comment

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

A good question indeed. I would guess board intervention of some sort, perhaps dissolution of the remaining TSC?

Thinking out loud here, I don't think this is likely to happen, but if it were, I suspect that would mean something has gone really wrong and the project would be without leadership. I'm not saying that the TSC is itself project leadership, but that many people leaving the TSC would probably be because of some sort of exodus on a larger scale. In other words, I think it's really unlikely for this event to occur in a vacuum.

Copy link
Member Author

Choose a reason for hiding this comment

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

Indeed, it's exceedingly unlikely. If the membership were to even get close to falling below that number, I would suspect that the separate CTC and TSC bodies would remerge into one. If that were to fall below 3 members, then we'd really be in trouble.

Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps add: "Members are expected to speak and act in the best interests of the Node.js Foundation and open source projects."

Copy link
Member Author

Choose a reason for hiding this comment

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

That's something that I think is better left to a separate PR.


There is no specific set of requirements or qualifications for TSC
membership beyond these rules. The TSC may add additional members to the
Copy link
Contributor

Choose a reason for hiding this comment

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

Should Foundation membership be a requirement?

Copy link
Contributor

Choose a reason for hiding this comment

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

That would contradict the By-Laws:

Members of the TSC need not be Members of the Foundation.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks @williamkapke, clearer now that I read your comment above :)

TSC by a standard TSC motion and vote. A TSC member may be removed from
the TSC by voluntary resignation, or by a standard TSC motion.
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.
Changes to TSC membership should be posted in the agenda, and may be suggested
as any other agenda item.
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps: Nominations for TSC membership should be... as any other agenda item by any member of the community (i.e. not just current TSC members).

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this is saying that any collaborator can suggest adding someone to the TSC by adding the tsc-agenda label to an issue (anywhere in the org) stating such desire.

Copy link
Contributor

Choose a reason for hiding this comment

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

That's what I understand too, but was suggesting perhaps we might state it more clearly.

Note that only repo admins can label issues. Or at least I can't label issues in the TSC repo at the moment 😄 .


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
Expand All @@ -56,14 +57,32 @@ 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 members shall consist of Maintainers from Core Projects as
defined in the project lifecycle document and Section 7.
The TSC may, at its discretion, invite any number of non-voting observers to
participate in the public portion of TSC discussions and meetings.

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. Minutes or an appropriate recording shall be taken
and made available to the community through accessible public postings.
the TSC Chairperson. Responsibility for directing individual meetings may be
delegated by the TSC Chairperson to any other TSC 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 all TSC activities
including:

* Regular attendance in TSC meetings;
* Actively participating in TSC related discussions on GitHub; and
* Voting

In the case where an individual TSC member: (a) attends fewer than 25% of the
regularly scheduled meetings held within a six month period, (b) does not attend
at least one meeting every three months, (c) does not regularly participate in
Copy link
Member

Choose a reason for hiding this comment

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

(b) is superfluous, it's a weaker version of (a).

Copy link
Member

@ChALkeR ChALkeR Mar 14, 2017

Choose a reason for hiding this comment

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

@bnoordhuis But it's not. E.g., per month: 3/4, 4/4, 0/4, 0/5, 0/4, 0/5, 3/4 — (a) is not fullfilled, (b) is. The same for 1/2, 1/2, 0/2, 0/2, 0/2, 1/2.

Copy link
Member

Choose a reason for hiding this comment

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

In a six month period we have 13 meetings. If you attend 25% of those, that's 3 meetings. If you only attend one meeting every three months, that's 2 meetings in that same period. Ergo, if you meet requirement (a), you by definition also meet (b).

Unless (b) covers the hypothetical scenario of attending 25% of the meetings in the first 3 months, then zero in the second 3 months. That seems needlessly confusing though, just say "25% attendance per 3 months" and leave it at that.

Copy link
Member

Choose a reason for hiding this comment

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

As well, this section could be clearer if the TSC member needs to meet any or all of the requirements. There is an "and" buried in there but it's rather subtle and it could be interpreted as combining only (c) and (d).

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'm good with simplifying this. +1 to 25% every three months.

Copy link
Contributor

Choose a reason for hiding this comment

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

Food(s) for thought:
-- Meetings do get canceled
-- The frequency might change

TSC discussions, and (d) does not regularly participate in TSC votes, the member
shall be asked to voluntarily resign their TSC position. Should a member fail to
participate in *any* TSC activity within a six month period, the member shall be
automatically removed from the TSC. In such cases, the member may request to
continue as an invited observer to TSC meetings.
Copy link
Contributor

Choose a reason for hiding this comment

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

If we do this I think it technically needs to have a clause that it cannot drop below 3 people.

Also, I feel 6 months could be a bit short? Unsure.


## Section 5. Responsibilities of the TSC.

Expand Down Expand Up @@ -162,12 +181,13 @@ 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. Simple majority wins, with the following
exceptions, which will require the affirmative vote of two-thirds of the
members of the TSC to pass:
discussion will continue. Simple majority wins with exception given only to
removal of a member from the TSC, which shall require a two-thirds majority
vote to approve.
Copy link
Member

Choose a reason for hiding this comment

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

I think it's weird and hard to defend that you can get in on a hypothetical 51% majority but expulsion requires 66%. It should either stay the way it is or it should be 51% for both.

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 idea is to intentionally make the bar higher for removing and for adding. I highly doubt there will ever actually be a need to officially vote someone off the island, but should it happen, the bar should be high.

Copy link
Member

Choose a reason for hiding this comment

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

I agree, but vice versa, how likely is it that someone is nominated that gets 51% but not 66% approval? And if that ever did that happen, does that person really belong on the TSC? Votes have always been unanimous so far.

I'd stick with the current 2/3rds majority for both just because it's more congruent.

Copy link
Contributor

Choose a reason for hiding this comment

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

The motivation for lowering to 51% is that it's proven hard to get 66%. It's not that there are >33% "no" votes, but that there is usually >33% "didn't vote." It's currently really hard to get enough people to vote so that we have >66% "yes" votes, even when everyone who voted did vote "yes"

Copy link
Member

Choose a reason for hiding this comment

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

I see your point, but by that logic removal should be 51% too.

Copy link
Contributor

Choose a reason for hiding this comment

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

If anything it makes less sense for removal to have a higher bar because most removals happen when it becomes difficult to make quorum, which would mean 66% is near impossible if you're having regular quorum issues.

I've said this many times but we should 1) try to never resort to votes and when we do have to vote 2) stick to simple majorities.

Raising the bar above a simple majority favors a lack of change and progress, makes it more difficult to get things done, and puts an undue burden on those who must convince their peers to enact changes compared to those who do not.

Copy link
Contributor

Choose a reason for hiding this comment

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

Good points, upon further reflection, I can get behind making everything a simple majority, including member removal.


* Adding or removing members of the TSC
* Changes to the TSC Charter (which also require Board approval)
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.

## Section 9. Project Roles

Expand Down