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

@MylesBorins MylesBorins commented Aug 22, 2017

+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

@mcollina mcollina commented Aug 22, 2017

LGTM

1 similar comment
@indutny
Copy link
Member

@indutny indutny commented Aug 22, 2017

LGTM

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.

This comment has been minimized.

@ChALkeR

ChALkeR Aug 22, 2017
Member

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

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 22, 2017
Member

This section sounds misworded? It reads difficult.

This comment has been minimized.

@Trott

Trott Aug 22, 2017
Member

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
Member

@evanlucas evanlucas commented Aug 22, 2017

LGTM. I support this

@Fishrock123
Copy link
Member

@Fishrock123 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 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

@Fishrock123 Fishrock123 commented Aug 22, 2017

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

@addaleax addaleax commented Aug 22, 2017

The same goes for me.

@jasnell
Copy link
Member Author

@jasnell 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 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 ljharb commented Aug 22, 2017

@jasnell
Copy link
Member Author

@jasnell 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

Lgtm

Copy link
Member

@mhdawson mhdawson left a comment

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

This comment has been minimized.

@ofrobots

ofrobots Aug 22, 2017
Contributor

s/either//

@stephenburgess8
Copy link

@stephenburgess8 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 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 jasnell commented Aug 22, 2017

btw, welcome :-)

@jasnell
Copy link
Member Author

@jasnell 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,

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

Nit: remove located at

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

This comment has been minimized.

@jasnell

jasnell Aug 24, 2017
Author Member

(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

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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.

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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

This comment has been minimized.

@jasnell

jasnell Aug 24, 2017
Author Member

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;

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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

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.

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

(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.)

This comment has been minimized.

@jasnell

jasnell Aug 24, 2017
Author Member

Yeah, that's it exactly.


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

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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.

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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?

This comment has been minimized.

@jasnell

jasnell Aug 24, 2017
Author Member

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

### i18n

The i18n Working Groups handle more than just translations. They

This comment has been minimized.

@Trott

Trott Aug 23, 2017
Member

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.

This comment has been minimized.

@jasnell

jasnell Aug 24, 2017
Author Member

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

This comment has been minimized.

@Trott

Trott Aug 24, 2017
Member

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 Trott commented Aug 23, 2017

Needs a rebase.

@jasnell jasnell force-pushed the jasnell:merge-ctc-tsc branch from c082605 to c7b65eb Aug 24, 2017
@jasnell
Copy link
Member Author

@jasnell jasnell commented Aug 24, 2017

@Trott... updated!

@jasnell
Copy link
Member Author

@jasnell 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 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 jasnell commented Aug 24, 2017

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

@Trott
Copy link
Member

@Trott 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 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 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

This comment has been minimized.

@thefourtheye

thefourtheye Aug 25, 2017
Contributor

This link isn't valid.

@jasnell jasnell force-pushed the jasnell:merge-ctc-tsc branch from 13032d8 to f66261e Aug 25, 2017
@jasnell
Copy link
Member Author

@jasnell 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.

@jasnell jasnell force-pushed the jasnell:merge-ctc-tsc branch from f66261e to cf428e9 Aug 25, 2017
@targos
targos approved these changes Aug 28, 2017
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

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 28, 2017
Member

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

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 28, 2017
Member

Why has this paragraph been removed?

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

Because it unnecessarily duplicates details from the TSC Charter.

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 28, 2017
Member

I think it is still valuable to have it stated here for posterity?

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

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

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 28, 2017
Member

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

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

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.

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 28, 2017
Member

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

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

That can be done in a separate PR

This comment has been minimized.

@Fishrock123

Fishrock123 Aug 28, 2017
Member

¯\_(ツ)_/¯ Sure

@Fishrock123
Copy link
Member

@Fishrock123 Fishrock123 commented Aug 28, 2017

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

This comment has been minimized.

@BridgeAR

BridgeAR Aug 28, 2017
Member

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

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

The Evangelism Working Group has been transferred to the Community Committees scope of responsibility.

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

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

This comment has been minimized.

@BridgeAR

BridgeAR Aug 28, 2017
Member

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?

This comment has been minimized.

@BridgeAR

BridgeAR Aug 28, 2017
Member

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

This comment has been minimized.

@jasnell

jasnell Aug 28, 2017
Author Member

Yep! I missed that it was still mentioned!

@jasnell
Copy link
Member Author

@jasnell 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 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 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.
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

You can’t perform that action at this time.