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

doc: revise TSC Meetings material in GOVERNANCE.md #27204

Closed
wants to merge 2 commits into from
Closed
Changes from 1 commit
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
49 changes: 20 additions & 29 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,46 +75,37 @@ Charter need approval by the Node.js Board of Directors.

### TSC Meetings

The TSC meets regularly in a voice conference call. The meeting is run by a
designated meeting chair approved by the TSC. Each meeting is streamed on
YouTube.
The TSC meets in a voice conference call. Each year, the TSC elects a chair to
run the meetings. The TSC streams its meetings for public viewing on YouTube or
a similar service.

Items are added to the TSC agenda which are considered contentious or
are modifications of governance, contribution policy, TSC membership,
or release process.
The TSC agenda consists only of issues that are at an impasse. The intention of
Copy link
Member

Choose a reason for hiding this comment

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

This change now excludes things like #26186 which was an example of modifications of TSC membership. Given that voting for approving TSC members happens in the TSC meetings it kind of makes sense for those issues to be added to the agenda.

Copy link
Member Author

Choose a reason for hiding this comment

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

Given that voting for approving TSC members happens in the TSC meetings it kind of makes sense for those issues to be added to the agenda.

I'm OK with adding it back if that's the consensus, but IIUC, the only reason that stuff was in the agenda was because this doc (and maybe others?) said or implied that it had to happen in a meeting. I suspect current TSC consensus would be that there's no reason for the vote to have to happen in a meeting. It can (and, IMO, should) happen in a GitHub issue. The new member can be announced/celebrated during the announcements portion of the meeting.

Voting during meetings is suboptimal and should be avoided IMO because it means only people who can attend that particular meeting get to vote. For membership votes (and some others), we subverted that by gathering votes ahead of time. But the gathering of votes ahead of time, especially for a non-controversial nomination, would seem to argue that the vote doesn't need to happen in the meeting.

Copy link
Member

Choose a reason for hiding this comment

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

I'll defer to @nodejs/tsc if this covers everything that should be on the agenda. Looking at the recent agenda I see tracking issues and things related to the merger of the foundations which all appear to be for informational/discussion purposes and are not things at an impasse.

Copy link
Member

Choose a reason for hiding this comment

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

I don't think its quite right to say the agenda only consists of things that are at impasse. An update for the board and the strategic initiatives don't fall under that.

Copy link
Member Author

@Trott Trott Apr 12, 2019

Choose a reason for hiding this comment

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

The tracking issues are things I have argued should be part of the meeting template (like Announcements) and not individual agenda items. If this lands, I'll open a PR against the meeting agenda generator to make that so.

IMO, the informational things are OK if they are not getting sufficient attention. Perhaps rather than "impasse", it should say something about being stalled due to disagreement or lack of attention? Or maybe "impasse" covers it sufficiently, if somewhat imprecisely?

Copy link
Member Author

@Trott Trott Apr 12, 2019

Choose a reason for hiding this comment

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

@richardlau @mhdawson I changed the text to be less rigid: "The TSC agenda includes issues that are at an impasse." That way, it doesn't exclude anything, but also doesn't list out every type of thing that can end up on the agenda. Let me know if that doesn't sufficiently address your concerns. Thanks!

the agenda is not to review or approve all patches. Collaborators review and
approve patches on GitHub.

The intention of the agenda is not to approve or review all patches.
That should happen continuously on GitHub and be handled by the larger
group of Collaborators.
Any community member can create a GitHub issue asking that the TSC review
something. If consensus-seeking fails for an issue, a Collaborator may apply the
`tsc-agenda` label. That will add it to the TSC meeting agenda.

Any community member or contributor can ask that something be reviewed by the
TSC by logging a GitHub issue. If consensus-seeking among TSC members fails for
a particular issue, it may be added to the TSC meeting agenda by adding the
`tsc-agenda` label.
Before each TSC meeting, the meeting chair will share the agenda with members of
the TSC. TSC members can also add items to the agenda at the beginning of each
meeting. The meeting chair and the TSC cannot veto or remove items.

Prior to each TSC meeting, the meeting chair will share the agenda with
members of the TSC. TSC members can also add items to the agenda at the
beginning of each meeting. The meeting chair and the TSC cannot veto or remove
items.
The TSC may invite people to take part in a non-voting capacity.

The TSC may invite additional persons to participate in a non-voting capacity.
During the meeting, the TSC chair ensures that someone takes minutes. After the
meeting, the TSC chair ensures that someone opens a pull request with the
minutes.

The meeting chair is responsible for ensuring that minutes are taken and that a
pull request with the minutes is submitted after the meeting.

Due to the challenges of scheduling a global meeting with participants in
several time zones, the TSC will seek to resolve as many agenda items as
possible outside of meetings using
The TSC seeks to resolve as many issues as possible outside meetings using
[the TSC issue tracker](https://github.com/nodejs/TSC/issues). The process in
the issue tracker is:

* A TSC member opens an issue explaining the proposal/issue and @-mentions
@nodejs/tsc.
* After 72 hours, if there are two or more `LGTM`s from other TSC members and no
explicit opposition from other TSC members, then the proposal is approved.
* If there are any TSC members objecting, then a conversation ensues until
either the proposal is dropped or the objecting members are persuaded. If
there is an extended impasse, a motion for a vote may be made.
* The proposal passes if, after 72 hours, there are two or more TSC approvals
and no TSC opposition.
* If there is an extended impasse, a TSC member may make a motion for a vote.

## Collaborator Nominations

Expand Down