-
Notifications
You must be signed in to change notification settings - Fork 133
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
Conversation
+1 you have my support. I am more than happy to be a part of the new committee. Thank you for putting this together |
LGTM |
1 similar comment
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
LGTM. I support this |
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. |
@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. |
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. |
The same goes for me. |
Edit: ah, thanks for pointing out that he already commented. |
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
BasePolicies/Charter.md
Outdated
@@ -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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/either//
First comment at Node 🙌 In #219 a reference to CTC is added to EDIT: added why I am bringing it up. |
@stephenburgess8 ... Yes, such references would be updated. there are lots of PRs here with lots of moving pieces and there would be reconciliation required. |
btw, welcome :-) |
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, |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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_
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.)
There was a problem hiding this comment.
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** <michael_dawson@ca.ibm.com> (he/him) | ||
* [misterdjules](https://github.com/misterdjules) - | ||
**Julien Gilli** <jgilli@nodejs.org> |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.)
There was a problem hiding this comment.
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.)
There was a problem hiding this comment.
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.
WORKING_GROUPS.md
Outdated
|
||
## Process: | ||
A Working Group's charter can be revoked either by consensus of the Working |
There was a problem hiding this comment.
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.
WORKING_GROUPS.md
Outdated
* *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. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
Needs a rebase. |
@Trott... updated! |
@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). |
Yep, we can pull those out and put them in the other PR |
Immediate concerns if this happens:
|
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. |
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. |
WORKING_GROUPS.md
Outdated
|
||
|
||
[Technical Steering Committee (TSC)]: https://github.com/nodejs/node/blob/master/GOVERNANCE.md#technical-steering-committee |
There was a problem hiding this comment.
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.
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
¯\_(ツ)_/¯ Sure
@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) |
There was a problem hiding this comment.
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
.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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!
@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. |
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?) |
|
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.