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

meta: merge the TSC and CTC back into a single entity #317

Merged
merged 4 commits into from Aug 29, 2017

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Aug 22, 2017

Merge the CTC and TSC back into a single body. Effectively dissolves the CTC and merges it's existing membership into to the TSC.

Not covered by this PR: Once this goes through, I propose that a new election for the TSC Chair and TSC Director positions should be held to reflect the consensus of the larger body.

This requires sign off from both the @nodejs/tsc and @nodejs/ctc members.

@addaleax, @MylesBorins and @Fishrock123 ... you will need to decide if your resignation from the TSC would still apply if this goes through since all three of you are currently still members of the CTC.

@MylesBorins
Copy link
Member

+1 you have my support.

I am more than happy to be a part of the new committee. Thank you for putting this together

@mcollina
Copy link
Member

LGTM

1 similar comment
@indutny
Copy link
Member

indutny commented Aug 22, 2017

LGTM

TSC-Charter.md Outdated
All votes if and only if more than 50% of the TSC members (excluding individuals
who explicitly abstain) vote in favor. For example, if there are 20 TSC
members, and 5 of those members indicate that they abstain, then 8 votes in
favor are required for a resolution to pass.
Copy link
Member

Choose a reason for hiding this comment

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

For everyone reviewing — this is an actual process change in the voting mechanism. Also, huge 👍 on this one.

Copy link
Member

Choose a reason for hiding this comment

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

This section sounds misworded? It reads difficult.

Copy link
Member

Choose a reason for hiding this comment

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

The second sentence is clear, but the first sentence looks like it may have a copy/paste error. I think it's missing the word pass. Should probably be:

All votes pass if and only if more than 50% of the TSC members (excluding individuals who explicitly abstain) vote in favor.

Might be slightly better as:

A proposal passes if and only if more than 50% of the TSC members (excluding individuals who explicitly abstain) vote in favor.

@evanlucas
Copy link
Contributor

LGTM. I support this

@Fishrock123
Copy link
Member

Fishrock123 commented Aug 22, 2017

I resigned from the TSC as it stands today, not from the CTC.

I support this, I think it would be better for everyone than the TSC before or after yesterday.

@jasnell
Copy link
Member Author

jasnell commented Aug 22, 2017

@nodejs/ctc members. Voicing support for this is fine, but using the Approve/Request Changes workflow is better. This action requires sign off from both the CTC and TSC.

@Fishrock123 ... you and @addaleax would both need to make clear indications about whether your resignation from the TSC would continue to apply after this merge. Otherwise, you both both automatically added back on to the TSC once this landed.

@Fishrock123
Copy link
Member

I thought I made that clear but: I resigned from the, as it stands today, pre-merge (as it may be) TSC.

A post merge TSC will not be the same body and, as CTC members, I expect that we would be part of that merge.

@addaleax
Copy link
Member

The same goes for me.

@jasnell
Copy link
Member Author

jasnell commented Aug 22, 2017

It wasn't clear based on your original statement. Thank you for clarifying. We would need @addaleax to also make her own statement. Thank you @addaleax ... messages crossed.

@Fishrock123
Copy link
Member

Fishrock123 commented Aug 22, 2017

I suspect the same will also go for Myles.

As he may not be around, I think the only reasonable and fair option (in the case of a merge) (to begin with) would be to merge the groups as they stand at the time of the merge and then let people act as they would for these sort of things.

Edit: ah, thanks for pointing out that he already commented.

@ljharb
Copy link
Member

ljharb commented Aug 22, 2017

@jasnell
Copy link
Member Author

jasnell commented Aug 22, 2017

ah right... I forgot momentarily that myles had also resigned.

I do not believe that the action should be automatic given that, presumably, there is (A) a reason y'all resigned and (B) the circumstances leading to those resignations will not have changed given that (C) even if the individual in question voluntarily resigns from the TSC today, they are also a member of the CTC and would also automatically be made a member of the merged TSC again, which -- presumably, would put us right back in the original position with no forward progress made.

Therefore, I prefer for the intention of those of you who have resigned to be very specifically stated going in.

Copy link
Member

@fhinkel fhinkel left a comment

Choose a reason for hiding this comment

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

Lgtm

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

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

LGTM

@@ -2,7 +2,7 @@

Every Working Group requires a charter that describes the scope of
the WGs responsibilities. Once written, a new Pull Request that adds
the charter to either the [CTC][] or [TSC][] WORKING_GROUPS.md document
the charter to either the [TSC][] WORKING_GROUPS.md document
Copy link
Contributor

Choose a reason for hiding this comment

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

s/either//

@stephenburgess8
Copy link

stephenburgess8 commented Aug 22, 2017

First comment at Node 🙌 In #219 a reference to CTC is added to Github-Org-Management-Policy.md. You may want to change that here if it is merged first. I'm learning a lot from reading these docs, thanks.

EDIT: added why I am bringing it up.

@jasnell
Copy link
Member Author

jasnell commented Aug 22, 2017

@stephenburgess8 ... Yes, such references would be updated. there are lots of PRs here with lots of moving pieces and there would be reconciliation required.

@jasnell
Copy link
Member Author

jasnell commented Aug 22, 2017

btw, welcome :-)

@jasnell
Copy link
Member Author

jasnell commented Aug 23, 2017

Ping @nodejs/ctc and @nodejs/tsc members... please weigh in on this. For those of you who have already weighed in / signed off, thank you. Ideally we would have at least a simple majority of CTC/TSC members signing off before progressing with this. However, as per our process, if there are no objections posted within a reasonable period of time, I will assume there is consent and will get this landed.

README.md Outdated
Node.js Core is defined as the code project existing in the repository located at <https://github.com/nodejs/node> which the `node` executable and associated packages are built from, _minus_ the vendored projects included in the codebase, specifically those located in the [deps](https://github.com/nodejs/node/tree/master/deps) and [tools](https://github.com/nodejs/node/tree/master/tools) directories that are copied in from externally maintained repositories.
Node.js Core is defined as the code project existing in the repository located
at <https://github.com/nodejs/node> which the `node` executable and associated
packages are built from, _minus_ the vendored projects included in the codebase,
Copy link
Member

Choose a reason for hiding this comment

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

Nit: _minus_ -> excluding

(Let me know if I should just push these sorts of nits as a separate commit than you can force-push out if you don't like. I know I'm suggesting changes to text the already exists in the file.)

README.md Outdated

### Node.js Core

Node.js Core is defined as the code project existing in the repository located at <https://github.com/nodejs/node> which the `node` executable and associated packages are built from, _minus_ the vendored projects included in the codebase, specifically those located in the [deps](https://github.com/nodejs/node/tree/master/deps) and [tools](https://github.com/nodejs/node/tree/master/tools) directories that are copied in from externally maintained repositories.
Node.js Core is defined as the code project existing in the repository located
Copy link
Member

Choose a reason for hiding this comment

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

Nit: Words-as-words should be italicized, so Node.js Core -> _Node.js Core_

Copy link
Member

Choose a reason for hiding this comment

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

Nit: the code project existing in -> the contents of

README.md Outdated

### Node.js Core

Node.js Core is defined as the code project existing in the repository located at <https://github.com/nodejs/node> which the `node` executable and associated packages are built from, _minus_ the vendored projects included in the codebase, specifically those located in the [deps](https://github.com/nodejs/node/tree/master/deps) and [tools](https://github.com/nodejs/node/tree/master/tools) directories that are copied in from externally maintained repositories.
Node.js Core is defined as the code project existing in the repository located
at <https://github.com/nodejs/node> which the `node` executable and associated
Copy link
Member

Choose a reason for hiding this comment

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

Nit: remove located at

Nit: which -> from which and remove from on the next line

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 seriously love your reviews my friend... :-) ...)

README.md Outdated
Node.js Core is defined as the code project existing in the repository located
at <https://github.com/nodejs/node> which the `node` executable and associated
packages are built from, _minus_ the vendored projects included in the codebase,
specifically those located in the [deps][] and [tools][] directories that are
Copy link
Member

Choose a reason for hiding this comment

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

Nit: Remove comma on the previous line and specifically those.

README.md Outdated
Every Top Level Project not currently incubating can appoint someone to the TSC who they elect
at their own discretion.
Every Top Level Project not currently incubating can appoint someone to the TSC
who they elect at their own discretion.
Copy link
Member

Choose a reason for hiding this comment

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

Worst nit ever: who -> whom (I'm not actually a stickler on the whom usage stuff, but might as well preempt a grammar discussion by just using whom. People may disagree about whether who is OK here but no one should disagree about whom in this situation.)

Copy link
Member Author

@jasnell jasnell Aug 24, 2017

Choose a reason for hiding this comment

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

whom.js ;-)

README.md Outdated
* [mhdawson](https://github.com/mhdawson) -
**Michael Dawson** &lt;michael_dawson@ca.ibm.com&gt; (he/him)
* [misterdjules](https://github.com/misterdjules) -
**Julien Gilli** &lt;jgilli@nodejs.org&gt;
Copy link
Member

Choose a reason for hiding this comment

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

Julien left the CTC so this entry should be moved to Emeritus (unless he actively objects in which case just remove him--I think he was merely indifferent to Emeritus--I like Emeritus listings because it gives a sense of history).

TSC-Charter.md Outdated
A proposal passes if and only if more than 50% of the TSC members (excluding
individuals who explicitly abstain) vote in favor. For example, if there are 20
TSC members, and 5 of those members indicate that they abstain, then 8 votes in
favor are required for a resolution to pass.
Copy link
Member

Choose a reason for hiding this comment

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

This is a charter change and so will require board approval, right? If so and if you want to avoid that, I think it can be left as it was. While not as explicit, I think a reasonable interpretation of the existing text is to be the same as the updated text.

(Another option is to include an Addendum document that includes this sort of greater detail/interpretation of 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.

(Although thinking about it, I guess the Board is going to have to review an updated charter anyway, so maybe it's not worth trying to avoid.)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, that's it exactly.


## Process:
A Working Group's charter can be revoked either by consensus of the Working
Copy link
Member

Choose a reason for hiding this comment

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

Nit: I wonder if consent might be better than consensus. I'm OK either way, though.

* *Increasing diversity* means actively onboarding people from diverse
backgrounds to the Node.js project and maintaining their participation.
To find out how to join a working group, consult the GOVERNANCE.md in
the working group's repository, or in the working group's repository.
Copy link
Member

Choose a reason for hiding this comment

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

This is sentence is definitely messed up. I'm not sure what was intended. But in the working group's respository, or in the working group's repository has to be some kind of copy/paste error?

Copy link
Member Author

Choose a reason for hiding this comment

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

heh.. this is in the ctc repo version also.

### i18n

The i18n Working Groups handle more than just translations. They
Copy link
Member

Choose a reason for hiding this comment

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

Might need to clarify whether this is treated as one WG with many teams, or if it constitutes 40 or whatever separate Working Groups. The latter might be a problem for some proposals we have for governance right now, like the one that allows a % of WGs to vacate a TSC decision, or the one that gives individual WGs seats on the TSC.

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 actually leaning in the direction of asking the CommComm to take over stewardship of the i18n working groups... See nodejs/community-committee#114

Copy link
Member

Choose a reason for hiding this comment

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

Great idea. The TSC/CTC doesn't pay a whole lot of attention to those groups. And active people in those groups may be a good fit for CommComm so there can be some...uh...(buzzword alert! look away!) synergy.

@Trott
Copy link
Member

Trott commented Aug 23, 2017

Needs a rebase.

@jasnell
Copy link
Member Author

jasnell commented Aug 24, 2017

@Trott... updated!

@jasnell
Copy link
Member Author

jasnell commented Aug 24, 2017

@nodejs/ctc @nodejs/tsc ... I will give this PR until Monday. If there are no objections I will consider that to mean there is consensus and will get this landed. As soon as that happens, the TSC and CTC will be one body again.

@Trott
Copy link
Member

Trott commented Aug 24, 2017

@nodejs/ctc @nodejs/tsc ... I will give this PR until Monday. If there are no objections I will consider that to mean there is consensus and will get this landed. As soon as that happens, the TSC and CTC will be one body again.

Wouldn't the changes to the TSC Charter doc require Board approval? If so, you can't really land those changes until that happens, no? Maybe split that one doc's changes out into a separate PR? None of the other changes depend on that one.

Actually, looking at the changes to the TSC Charter more closely, the language doesn't actually change anything IMO. It's more explicit, which is nice, but nothing changes (assuming a member can only vote no, vote yes, or abstain).

@jasnell
Copy link
Member Author

jasnell commented Aug 24, 2017

Yep, we can pull those out and put them in the other PR

@Trott
Copy link
Member

Trott commented Aug 24, 2017

Immediate concerns if this happens:

  • Does the new body adopt the current TSC meeting schedule or the current CTC meeting schedule? I'd argue the current CTC meeting schedule (with rotating meeting times to accommodate a wide array of time zones) is probably better-suited for a group this global.

  • Who is the chair of the new group? Obvious possibilities are Michael Dawson (current TSC chair) and me (current CTC chair). Regardless, I imagine one of the first orders of business will be to select a chair, so it probably doesn't matter that much.

@jasnell
Copy link
Member Author

jasnell commented Aug 24, 2017

I am calling for a new Chair and Director election once the two come back together. I would suggest that in the interim, you and Michael be considered co-chairs.

I would assume the current CTC meeting schedule would be in effect.

@isaacs
Copy link

isaacs commented Aug 25, 2017

Speaking as a mostly-outsider to all this, I do have some concerns about merging the TSC and CTC, though it seems clear from talking to people who have a better idea of what's going on, that it's the right call at least in the short term.

The reason (that I'd heard) for splitting out the CTC from the TSC in the first place was that "node core" is really just one very specialized aspect of what this foundation does. Along with marketing, evangelism, events, documentation, inclusivity, i18n, etc., "core" should be "just another working group". Having the core technical committee be in charge of effectively all aspects of the governance skews the project towards a problematic "just focus on the code" mentality, which marginalizes other important aspects of the project (eventually resulting in a lower quality and quantity of code contributions!) That made a lot of sense to me, and it seems like that goal was not fully achieved.

It may be premature to try to address this, but I'd really like to see a path forward where "leadership of the project" and "coding node core" are not seen as identical jobs, or necessarily done by the same people. It still strikes me as a nice structure to have a TSC that is the "holder of the values", and tasked with ratifying and connecting WGs, and a CTC that is the WG assigned with merging patches in nodejs/node.

And again, all that being said, I am confident that the current CTC has people who are committed to doing right by this project, and can learn from their experience to design a TSC/CTC structure that is more effective, sustainable, and reflective of the values of the Node.js community.



[Technical Steering Committee (TSC)]: https://github.com/nodejs/node/blob/master/GOVERNANCE.md#technical-steering-committee
Copy link
Contributor

Choose a reason for hiding this comment

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

This link isn't valid.

@jasnell
Copy link
Member Author

jasnell commented Aug 25, 2017

Commits squash, TSC charter language changes pulled so this PR can land without board signoff. We have more than enough sign off to land. I will land this first thing Monday morning.

README.md Outdated
Node.js Core is defined as the code project existing in the repository located at <https://github.com/nodejs/node> which the `node` executable and associated packages are built from, _minus_ the vendored projects included in the codebase, specifically those located in the [deps](https://github.com/nodejs/node/tree/master/deps) and [tools](https://github.com/nodejs/node/tree/master/tools) directories that are copied in from externally maintained repositories.
*Node.js Core* is defined as the contents of the repository located at
<https://github.com/nodejs/node> from which the `node` executable and associated
packages are built excluding the vendored projects included in the codebase
Copy link
Member

Choose a reason for hiding this comment

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

perhaps italicize excluding as minus was

also, comma after built?

README.md Outdated
Working Groups, and advocating for any needs in the technical side of the foundation to
the Node.js Foundation Board of Directors.

TSC members can nominate new members at any time. Candidates for membership tend to be people
Copy link
Member

Choose a reason for hiding this comment

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

Why has this paragraph been removed?

Copy link
Member Author

Choose a reason for hiding this comment

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

Because it unnecessarily duplicates details from the TSC Charter.

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 is still valuable to have it stated here for posterity?

Copy link
Member Author

Choose a reason for hiding this comment

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

How come? It's stated with greater clarity and detail in the charter and really does not serve much of a purpose.

Copy link
Member

Choose a reason for hiding this comment

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

Unless it is stated somewhere else in this repo:

  • it will be difficult to link to
  • people will likely be unable to find how they could possibly become a TSC member in the broadest terms

Copy link
Member Author

Choose a reason for hiding this comment

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

Very well.

@@ -62,5 +62,5 @@ However, it may turn yellow and issue a warning in a "stream health" section bel

Moderation follows the [Moderation Policy](../Moderation-Policy.md). Messages can be moderated right-clicking and selecting the necessary action, such as `remove`.

During TSC and CTC meetings, there is a section of public Q&A at the end.
During TSC meetings, there is a section of public Q&A at the end.
Copy link
Member

Choose a reason for hiding this comment

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

Maybe better as committee as presumably this advice would be to the commcomm too, if they do Q&A.

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 can be done in a separate PR

Copy link
Member

Choose a reason for hiding this comment

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

¯\_(ツ)_/¯ Sure

@Fishrock123
Copy link
Member

@isaacs As a note addressing your concern of scope, the board has the ability to make other "top-level projects", e.g. the CommComm, which I think resolves this issue at the CTC/TSC merge level?

That is, the TSC will become more focused on core, and almost certainly delegate admin things and non-core technical things elsewhere.

* [Benchmarking](#benchmarking)
* [Post-mortem](#post-mortem)
* [Intl](#intl)
Copy link
Member

Choose a reason for hiding this comment

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

Evangelism is missing in the list (it should be before Docker) and they are not in order.
Intl should come after i18n.

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 Evangelism Working Group has been transferred to the Community Committees scope of responsibility.

Copy link
Member Author

Choose a reason for hiding this comment

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

@BridgeAR ... if it's OK, then I'd like to reorder those in a separate PR

Copy link
Member

Choose a reason for hiding this comment

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

Alright but it is described down below and the titel says "Current Working Groups". Therefore I think the working group should either be listed here or the detailed information about it should be removed, don't you think so?

Copy link
Member

Choose a reason for hiding this comment

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

Sure, I do not think it should hold the PR from being merged.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yep! I missed that it was still mentioned!

@jasnell
Copy link
Member Author

jasnell commented Aug 29, 2017

@nodejs/ctc @nodejs/tsc ... Given that there have been no objections, it's been 7 days, and we have 10 signoffs, I'm proceeding to land this in the morning. This will mean that the CTC and TSC are one body again. I'll will get the teams updated accordingly.

@jasnell jasnell merged commit 97c0342 into nodejs:master Aug 29, 2017
@isaacs
Copy link

isaacs commented Aug 29, 2017

@Fishrock123 #317 (comment)

Interesting. So can we expect to see more working groups chartered against the executive board?

(I'm happy to take this discussion elsewhere, or even write up a bit more thoughts on what I think success might look like. It seems like the OP here is kind of wrapped up?)

@nodejs nodejs locked and limited conversation to collaborators Sep 1, 2017
@nodejs nodejs deleted a comment from trevorlinton Sep 1, 2017
@nodejs nodejs deleted a comment from sandro-pasquali Sep 1, 2017
@nodejs nodejs deleted a comment from kristianmandrup Sep 1, 2017
@nodejs nodejs deleted a comment from Nodeski Sep 1, 2017
@jasnell
Copy link
Member Author

jasnell commented Sep 1, 2017

Locking the thread nevermind, just noticed that Trott already had.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet