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

any interest in an RFC process? #962

Closed
boneskull opened this issue Jan 4, 2021 · 32 comments
Closed

any interest in an RFC process? #962

boneskull opened this issue Jan 4, 2021 · 32 comments

Comments

@boneskull
Copy link

boneskull commented Jan 4, 2021

Hi,

As seen in this blog post, at least some of the Rust team has felt their RFC process has had a positive impact. Contributing to Node.js can suffer from "endless discussions," and could benefit from such a process, which would mitigate some of the frustrations people have around contribution.

While it will certainly be no silver bullet, an RFC process may be a step in the right direction. Yes, it will be "more process", but part of the idea here is having an explicit order of work and guardrails around discussion.

I'm looking for one or more collaborators (especially TSC members) who think this is worth exploring, and hopefully someone (other than myself) to champion such a project.

I believe this idea has been thrown around in the past, and did not receive much traction. Just checking the temperature of the room...

@mcollina
Copy link
Member

mcollina commented Jan 5, 2021

I generically think that we should aim for less process rather than more process. More importantly, an RFC process requires folks writing down huge quantities of text that take a lot of time to digest. It didn't work in the past, mainly because the party that is interested in adding a feature is often not interested for the long and gruesome process that is an RFC.

I won't oppose adding one, however I would not make it mandatory as I fear it would bring development to a halt.

@boneskull
Copy link
Author

long and gruesome process

We already have this, it's just chaotic too. 😄

@boneskull
Copy link
Author

I wonder what the @nodejs/modules team thinks of this idea.

I would also like it if someone from a project having an RFC process (like a Rust team member) could speak to velocity. From an outsider's perspective, it seems like Rust is humming along nicely.

@jkrems
Copy link

jkrems commented Jan 5, 2021

For reference, this is the old node RFC process: https://github.com/nodejs/node-eps. It does have a modules entry and I don't think it worked very well on that front (not putting blame on the author or on anybody else). The rewrite of the CLI debugger started as an EPS (nodejs/node-eps#42) before I abandoned the EPS system.

It would be interesting to figure out why an RFC process didn't work for nodejs but without that kind of post mortem, I'd be hesitant to try again. From my experience with node-inspect, it's not just that people may not want to write an RFC but "nobody" seemingly read them. Part of the problem may be that nodejs has quite a few collaborators but only very few if any maintainers. From what I've seen, that may be a bit different for Rust.

@MylesBorins
Copy link
Contributor

MylesBorins commented Jan 5, 2021

@boneskull TBH, I think what we have is a cultural problem that is related to the age of the platform, the cost of making broad changes, and a historical leaning towards "small core". I'm not 100% convinced that process is the solution to said problem... although I do admit that I am not offering alternatives here.

If we wanted to introduce structure that could be followed by folks, that is not required, I think that could be helpful. There are issues that have been opened to discuss potential improvements that might have been more successful if there was more structure e.g. nodejs/node#19393

It is also possible that we could explore discussions as a vehicle for broader discussions / debate about ideas we are working on. In general though an RFC does need to be implemented, and it isn't like we have a line up of folks ready to do implementation work for an RFC they are not passionate about.

@bmeck
Copy link
Member

bmeck commented Jan 5, 2021

I wonder what the @nodejs/modules team thinks of this idea.

Well as @jkrems said, I don't think it worked well at all. There was a lot of investigation and a lot of blame passing, ultimatums, and even some very bad personal life experiences. I do think for all the problems of the WG situation, they allow for less aggressive mode of interaction due to social involvement that we did not see in @nodejs/node-eps .

I think design documentation works quite well but even if we produce them (which we did a lot during the ESM implementation) that won't lead towards consensus resolution often. When they do resolve that leads toward PRs. Once you get out of a WG you get into more conflict with aggression from the core since only a subset of design constraints are given within a single WG.

One thing I do think Rust benefits from is an open approach to expansion that is not present in Node. A lot of the tensions with RFC I believe would be on the resistance of not wanting Node to become something that doesn't fit some kind of ideal such as a small core <-> implementing web APIs.

If an RFC process could be created that actually prevented tension I would be for it. However, PRs have been lower tension than such repeated process in my experience in the JS community. Heck, I experienced that just documenting what situations ASI can have non-local effects (not taking a stance on if they should be used) faced huge pushback for TC39.

I believe a big issue is how Node runs consensus based upon unanimous lazy consensus. The more design participants the less likely something is to get consensus. We did see things like this where proposals within the Modules WG were stated as contentious and thus completely removed rather than being able to resolve them over time. I do fear that re-adopting the RFC-like approach of node-eps would repeat this stalemate which is already brutal once you get to the PR phase. See nodejs/node#21128 where producing such documents had little to no effect in the face of general pushback against even the concept of modification to core based upon not having personal need for the proposal and/or claims that changes should be done in userland not in core.

@boneskull
Copy link
Author

@bmeck from the article,

The RFCs have another effect on the organization. The process seeks a consent-based environment, not a consensus-based one. If some people care about a topic a lot and come up with a written document that explains many things in detail, everyone can (and should) trust them. The authors shouldn't wait for everyone's confirmation of their proposal.

I really like this. As @MylesBorins wrote, Rust is much more "wide-open". I'd have to be convinced that there's something preventing Node.js from being more "wide-open" other than project culture and its leadership. We have constraints, sure--all software does. Rust remains open while also having adopted a strict process; Node.js is light on process, but contributing an impactful change can be soul-crushing due to what @bmeck wrote:

I believe a big issue is how Node runs consensus based upon unanimous lazy consensus. The more design participants the less likely something is to get consensus.

Yes! Part of the "just make a PR" culture exacerbates this. Separating the proposal from the implementation may also avoid huge, confused conversations--e.g., is there a problem with this implementation or is there a problem with the idea? Great ideas die because the someone didn't like a parameter name.

In the RFC process as described in the post, discussions are time-boxed. You know if you wanna boil the ocean with a proposal, instead of spending months at each others' throats about it, you know you will only need to run the gauntlet for a couple weeks. If it needs to get done, give someone else a shot at writing the proposal until you find one that works.


There's a lot of fear in Node.js' culture. Fear of process, fear of changing a process, fear of maintenance burden, fear of breaking APIs, fear of introducing incompatibilities with web--and due to lazy consensus, we also fear our collaborators. We want to merge code fast or else someone will snipe it.

We need more trust and empathy for our fellow collaborators. We say we want people to succeed, but our actions betray that. I mean... if I didn't find the contribution process a distinctly negative experience, or if I didn't care a lot about the project, I wouldn't be writing any of this. Empathy allows us to read my experience--even though it may be wildly different than our own--and be moved to change the status quo. And trust means we can make a change and know we can iterate on it until we get it right. The process itself doesn't break the web. 😄

@bmeck
Copy link
Member

bmeck commented Jan 6, 2021

We want to merge code fast or else someone will snipe it.

I don't think speed is a priority here, nor "sniping" more that constraints will be asserted that cannot be fixed and/or no guidance on what is considered relevant, the same likely seems it would be true for the RFC parts you mention above.

Need, followed by Approach, Benefits, and lastly, Competitors

I think as shown in a couple of things linked above reaching unanimous consensus is hard. We generally argue about all of the NABC in PRs and generally cannot move forward because of unresolvable disagreement from one of those. I still think if we could form an RFC process that differed in such a way that it would allow resolution it would be good, but I am unclear on what exactly is being proposed that would actually solve the issues seen in things mentioned here.

Great ideas die because the someone didn't like a parameter name.

Too true.

you know you will only need to run the gauntlet for a couple weeks

I'm unclear on how timeboxed RFCs would actually allow resolution for things that take more than a few weeks to agree upon. This seems like it would effectively prevent any large scale effort like fetch() from being approached. Without fetch() we don't need the components to make fetch work in that time frame.

If it needs to get done, give someone else a shot at writing the proposal until you find one that works.

I'm not sure I understand how this helps. It seems you would continually propose new RFCs and lose context if people from previous discussions don't participate?

we also fear our collaborators

To some extent, but active collaborators are not the vocal side of things in my personal experience.

Empathy allows us to read my experience--even though it may be wildly different than our own--and be moved to change the status quo

I don't understand this sentence.

we can make a change and know we can iterate on it until we get it right

This sounds reasonable to continually iterate until we find some path towards less aggression in core.

@boneskull
Copy link
Author

would be nice if someone could tag this tsc-agenda. if there is no interest from a TSC member to champion this, I'll reach out to the collaborators.

@GeoffreyBooth
Copy link
Member

I believe a big issue is how Node runs consensus based upon unanimous lazy consensus.

This. My experience with the modules group is that the need for unanimous consent was taken advantage of by team members who were not invested in the team’s success. In an ideal world, where everyone on the team acts in good faith and shares the goal of shipping the best product possible, lone objections would force the team to think harder and find better solutions. Unfortunately that didn’t happen in our case, because our team lacked fundamental cohesion that we were actually working together to achieve the same goal; we didn’t have a consensus that we had to ship, much less that we had to ship in any reasonable timeframe. Ultimately we failed to reach consensus on several crucial points and needed to use votes and TSC overrides.

Like with legislation, arguably it should be hard to implement change; Node is very mature at this point and significant changes should require substantial support. That’s one way in which Node and Rust differ, which might steer us away from fully following their lead. I think we need something in between the current “any collaborator can veto anything, only subject to TSC override” and the opposite end of the spectrum, where consent is assumed unless certain conditions are met. I think this is really a separate concern from an RFC process; adopting RFCs won’t necessarily solve this issue (and might make it worse) if we don’t find a governance model to replace unanimous consent.

@Trott
Copy link
Member

Trott commented Jan 13, 2021

I am very interested in the issue of making the implementation of significant things in Node.js core something that doesn't take a personal toll on people. Whether the solution involves an RFC process or not, this is something that is overdue for discussion and action.

@boneskull I'll send you an email to see what you think about you and I chatting about this some time soon. I want to make sure my understanding of the issue aligns with yours.

Some thoughts:

  • The EPs process was sensible to try, but an abject failure in implementation. I don't think anyone wants to repeat the mistakes of the EPs process, but that doesn't necessarily mean we should throw out the entire idea of a process for Big Stuff altogether.

  • The observation from @jkrems that Node.js has many collaborators but few maintainers is, to me, the key observation here.

  • Getting to "no" faster would be good. It's not that the RFC process should lead to success all the time or even necessarily most of the time. It's that it should never lead to a years-long process which never arrives at a clear resolution one way or the other.

  • Opening a PR with a minimal implementation could be part of the process. Putting this in there for the "but I can't say anything for certain until I see how it will work in practice" folks. (I'm often one of those folks.)

@jasnell
Copy link
Member

jasnell commented Jan 13, 2021

Generally speaking I'm not a fan of RFC processes in other projects, but I fully recognize that my working style is quite a bit different from others. For me, when it comes to implementing big things (url, http2, quic, web crypto, etc) I'm much happier going off and working on my own (but still in the open) and getting an initial implementation working than trying to hash out all of the details in advance in committee. The details can be figured out after that. My key challenge with RFC processes is that it's often a whole lot of discussion, shed painting, and navel gazing that often goes nowhere while Simply Writing Code(tm) tends to work wonders. Again, however, I'm fully ready to recognize that my approach is different and I may be in the minority.

@Trott
Copy link
Member

Trott commented Jan 14, 2021

Generally speaking I'm not a fan of RFC processes in other projects, but I fully recognize that my working style is quite a bit different from others. For me, when it comes to implementing big things (url, http2, quic, web crypto, etc) I'm much happier going off and working on my own (but still in the open) and getting an initial implementation working than trying to hash out all of the details in advance in committee. The details can be figured out after that. My key challenge with RFC processes is that it's often a whole lot of discussion, shed painting, and navel gazing that often goes nowhere while Simply Writing Code(tm) tends to work wonders. Again, however, I'm fully ready to recognize that my approach is different and I may be in the minority.

In addition, you are also in a unique position in the project. You have spent years neck-deep in the code and culture. You are the closest thing the project has to the proverbial 800-pound gorilla. Had someone else come along and tried to get quic added the way you did, it would have either been rejected or would still be in limbo now. And that makes some sense. You understand both the code and the project culture more than anyone. But that means that a big factor in quic landing was that it was authored by James Snell. Other decision makers were comfortable with it because of who the author was.

It will always be the case that people who have spent years being neck-deep in project code and project governance have an easier time adding/changing things they want. There's trust that gets established. It's why they have the commit bit and others don't. I'm not saying we can change that narrow fact, and I'm not sure we'd want to if we could. But as you imply, "works for James" is perhaps necessary, but definitely not sufficient.

@jasnell
Copy link
Member

jasnell commented Jan 14, 2021

Oh, I'm definitely not saying that the process should be tuned for me, not by any means! I struggled on whether to even respond to this discussion for exactly the reasons you mention @Trott. My experience with stuff is definitely way different than others. That said, there is absolutely a very real risk with an RFC process for it to turn into Endless Discussion That Just Frustrates Everyone -- if only because it's happened many times before. If an RFC process is introduced, there needs to be a bias given towards running code that works and away from endless bikeshedding and picking apart edge cases.

@Trott
Copy link
Member

Trott commented Feb 13, 2021

I talked with @boneskull about this yesterday. This doesn't capture everything we talked about, but some key points:

  • This process doesn't need to be an RFC process. It doesn't need to be a "heavy" process.
  • It would be good for the process to be around ideas and not implementation.

Things that are being discussed right now that would benefit from a process for making decisions around ideas before asking for an implementation:

  • Whether to include a fetch-like API in core (and what that API would look like).
  • Whether to bundle other package managers in core.

@mhdawson
Copy link
Member

@Trott that would be a good distinction from what was tried in the earlier eps process. The eps process covered both the idea and at least high level implementation. Limiting to just the first might help.

@jasnell
Copy link
Member

jasnell commented Jun 9, 2021

Based on some conversation with @bengl, @bmeck, @boneskull and others on twitter I'd definitely like to make sure we keep iterating forward on this discussion.

My key concern around most RFC processes is that most that I've seen over emphasize achieving consensus in the initial discussion points before making progress. After stewing on it for a while and just letting the ideas marinate in my head for a while, I keep coming back to the TC-39 stage process as a good model here. Here's a good introduction if you're not familiar: https://tc39.es/process-document/

The TC-39 stages are straightforward:

  • Stage 0 - Strawperson - Initial idea but no formal proposal
  • Stage 1 - Proposal - "a formal proposal that describes a discrete problem or general need, suggests a shape of the solution and points out potential challenges"
  • Stage 2 - Draft - "the initial draft of the proposal"
  • Stage 3 - Candidate - "a candidate proposal that’s almost final"
  • Stage 4 - Finished, and implemented

What's key about this process is not only the stages but the requirements necessary for moving through them.

image

Also important is the process by which review and feedback is processed... Specifically with regards to reviewers:

Anyone can be a reviewer and submit feedback on an in-process addition. The committee should identify designated reviewers for acceptance during the “draft” (stage 2) maturity stage. These reviewers must give their sign-off before a proposal enters the “candidate” (stage 3) maturity stage. Designated reviewers should not be authors of the spec text for the addition and should have expertise applicable to the subject matter. Designated reviewers must be chosen by the committee, not by the proposal's champion.

When reviewers are designated, a target meeting for Stage 3 should be identified. Initial reviewer feedback should be given to the champions two weeks before that meeting to allow for a back-and-forth ahead of the meeting. The target Stage 3 meeting may be delayed by a champion outside of the meeting at a later time if it is not ready.

And then ...

During the discussion of a proposal any aspect may be discussed. Consensus is given as an indicator of the current stage. Delegates should openly give feedback on proposals, and especially for a proposal for stage advancement where the concern is relevant to the stage. Delegates should raise their concerns early and asynchronously, in order to help the champion resolve any issues.

A delegate may pose a constraint as necessary for advancement. A constraint refers to an desired property of the proposal, accompanied by a rationale. We encourage this to also be done asynchronously in issues, and in incubator calls, as well as in plenary. In this situation, the delegate should expect to work with the champion and other delegates during earlier stages to incorporate their constraint into the solution, and to consider different possible tradeoffs. In general, the earlier a constraint is raised, the better.

Frequently, many different conflicting constraints are posited about proposals, and the committee collectively may make tradeoffs selecting a particular design even though it compromises one or more constraints.

Given that consensus on Stage 3 means "the solution is complete" (i.e., all open design issues have been resolved including anticipated implementation and ecosystem compatibility issues), all TC39 participants should validate the design of proposals they care about before granting Stage 3 consensus.

Now, I'm not suggesting that we adopt the TC-39 process exactly as is, but a variant of it may be worthwhile if we can get the engagement from the core contributors to review and provide feedback on proposals.

@Trott
Copy link
Member

Trott commented Jun 10, 2021

if we can get the engagement from the core contributors to review and provide feedback on proposals.

Oh well. It was a pretty compelling idea until then.

No, just kidding. Sort of. I mean, yes, that's a challenge, but also a challenge any RFC proposal is going to face, and also arguably one of the problems the RFC process can seek to solve, or at least make more solvable.

@mhdawson
Copy link
Member

I find the comments on process by which review and feedback is processed... Specifically with regards to reviewers: helpful.

If I understand correctly it narrows the approvers for the later stages. This makes sense to me because as the discussion moves from "should we do this at all" to "is it fleshed out well enough to land" there would be a lot of context, prior discussion etc which only those involved in the earlier stages would have.

I think this might address one of the challenges we've seen with more complex/larger changes where adding people later in the process requires the champion to re-negotiate what they felt had already been agreed by those involved. Not that we don't want people pointing out issues that may not have been thought of, but it could make sense to have those filtered by the designated reviewers versus the new participant having the ability to block/request changes directly.

Thinking out loud, in the context of the Node.js project, maybe that could mean that once a proposal gets to a certain stage, the related PRs could only be blocked by the designated approvers?

@Trott
Copy link
Member

Trott commented Jun 10, 2021

@mhdawson Good point that the RFC process should have more commenters at the outset and less as the proposal moves to implementation. We tend to do the opposite--RFCs and RFC-like processes are tucked away in non-core repos, for example--and then there is an explosion of attention when it shows up in the core repo as a PR or issue, and everything needs to be re-discussed. That sucks.

@mhdawson
Copy link
Member

mhdawson commented Jun 10, 2021

when it shows up in the core repo as a PR or issue, and everything needs to be re-discussed. That sucks.

Exactly, we want broadest input at the start, everybody has the ability/opportunity to contribute, but as things move forward it seems reasonable to narrow down who/how people can get involved. Doing that would hopefully also motivate people getting involved up front versus waiting until the code is about to land. I also think up front is likely were we can get the most value from a broader set of contributors. Refining the concept, high level approach etc. is likely going to be more impactful that more people helping to bikeshed variable names :).

@MylesBorins
Copy link
Contributor

One thing that will be really important for a new process that will help fix problems with our current process will be carving out space for dissent without blocking progress. While the TC39 process does a good job of creating this space by making clear stages and not allowing a stage-3 blocker to stop a proposal from getting stage-1, I have still experience frustration (both personal and group) with the way a lone dissenting opinion can halt progress.

TL;DR we need to find a cordial and consistent way to not allow objections to stop progress or it won't matter how much structure we have

@MylesBorins
Copy link
Contributor

I'll also add that the IETF has a great guide on rough consensus... although even with this being the decision making process over at IETF I have experienced an RFC take over 3 years and we continue to have feedback on our .mjs mimetype proposal from a variety of different groups.

My gut feel at IETF is that if the current RFC authors were more embedded in IETF and we were associated with a particular working group this process may have been less painful, but I think it is important to keep in mind that any process we create will become a burden that outsiders need to navigate.

So with that in mind I think it is important that any process we land on be as light weight as possible AND we commit to cultural changes around decision making or we are going to end up with even more process than we already have and little
benefit imho

@Trott
Copy link
Member

Trott commented Jun 27, 2021

I want to try a bit more to clearly frame the constituents and the problem that we all want solved.

Here are the three groups of constituents:

  1. End users, including casual and/or inexperienced contributors to Node.js. This is a heterogenous group and in this context, the most important thing we can deliver is an improved product. It would be a nice side benefit if input from this very large group could be managed by the process into something highly useful and clear. But ultimately that's a means to the end, which is a better Node.js.

  2. Experienced and/or invested contributors who are not frequent core contributors. This would be someone like @boneskull. From the org's perspective, the thing we're trying to accomplish for these folks is to give them a path to either be successful with an ambitious proposal or to learn early on that it won't work for Node.js so they don't burn a ton of time and energy on it. An acceptable third possibliity is that they do spend a lot of time and energy on a proposal that ultimately fails, but that they either learn significant things in the process and/or otherwise have a satisfying or even enjoyable time. A key benefit to the project here could be to provide an onramp for people with skills and resources we need to become more active in the project. In short, we would increase engagement. We are trying to set up a clear and satisfying pathway for people who have experience in open source or otherwise have skills and resources that would make maintenance of the project easier for everyone else. This could and should complement the goal in the next item.

  3. Current maintainers. This would be people like @jasnell. For this population, the goal is to reduce the overhead of maintenance. That could mean making reviewing contributions easier by guiding experienced folks to making better contributions more suited to the project. It could mean making discussions easier to follow and review by having them summarized in a short document rather than spread out over hundreds of comments meandering through different repositories. And so on and so forth. The danger here is that the process could backfire and add a lot of work for maintainers without significant upside to make the extra work worth it.

@Trott
Copy link
Member

Trott commented Jun 30, 2021

One important conclusion of the above is that while broader input on RFCs from the at-large Node.js community may be a nice-to-have, it is not necessary. As long as the process results in a better Node.js, that is sufficient. We should not have a goal (in this context) of having broader input. If it happens, great. But if not, that's OK too, as it would be very likely to work against the goals of reducing the cost of maintenance and improving the experience of contributors who are currently invested but contribute infrequently.

To be clear, this doesn't mean that we should necessarily reduce the at-large community input we currently get formally (e.g., in the GitHub issue tracker) and informally (e.g., on Twitter). It means (1) that the current level of input is likely sufficient, (2) that increasing it is a laudable goal but not necessary at this time, and (3) that increasing it makes meeting the essential goals here harder.

@Trott
Copy link
Member

Trott commented Jul 14, 2021

So given all the above, what would be a process that could reduce friction for invested-but-infrequent contributors without increasing the burden for maintainers? I'm thinking that it might be something that, for any particular significant feature idea, facilitates the easy the formation of a GitHub team that works out the issues around it, hopefully with a TSC member or and experienced-and-frequent contributor potentially as lead, or at least shepherd/facilitator. Any other ideas?

I wonder if there's a possibility to unify the strategic initiatives and the working groups processes. Both processes sort of work, but also pretty much don't work as well. The working groups might benefit from less friction in the formation and ending. For something like what I'm talking about here, it's too much work to start a working group, especially if you're not already a frequent contributor. And strategic initiatives are too TSC-driven and don't really have explicit accommodations for anyone else. Maybe something in between the two and that could potentially replace one or even both processes if we see it working well.

@mhdawson
Copy link
Member

I have thought that we should figure out a way so that strategic initiatives don't need to be led by TSC members so that part resonates with me.

@Trott
Copy link
Member

Trott commented Jul 14, 2021

I have thought that we should figure out a way so that strategic initiatives don't need to be led by TSC members so that part resonates with me.

Maybe people leading strategic initiatives can regularly attend TSC meetings as guests to give updates, get feedback, etc. Would probably make things more focused to have someone designated as The Person Who Is Going To Frame And Facilitate The Discussion On Topic X For The Next 10 Minutes.

Trott added a commit to Trott/io.js that referenced this issue Jul 15, 2021
This (along with a corresponding PR for the TSC repo) moves the
strategic initiatives from the TSC repository to the main core repo.
This will increase visibility for strategic initiatives. It will also
facilitate the proposed reduced centrality of TSC champions to strategic
plans.

Refs: nodejs/TSC#962 (comment)
Trott added a commit to Trott/io.js that referenced this issue Jul 15, 2021
This (along with a corresponding PR for the TSC repo) moves the
strategic initiatives from the TSC repository to the main core repo.
This will increase visibility for strategic initiatives. It will also
facilitate the proposed reduced centrality of TSC champions to strategic
plans.

In the process, I made the text less wordy. I moved the Build Resources
initiatve out of the active list, as discussed at the most recent TSC
meeting. I alphabetized the table entries. (Chronological order isn't
obvious to a reader if no dates are provided.)

Refs: nodejs/TSC#962 (comment)
@Trott
Copy link
Member

Trott commented Jul 15, 2021

I have thought that we should figure out a way so that strategic initiatives don't need to be led by TSC members so that part resonates with me.

Maybe people leading strategic initiatives can regularly attend TSC meetings as guests to give updates, get feedback, etc. Would probably make things more focused to have someone designated as The Person Who Is Going To Frame And Facilitate The Discussion On Topic X For The Next 10 Minutes.

As a first step on this path, I've opened nodejs/node#39394 to move the strategic initiatives out of this repository and into the main repository where they will have more visibility.

@mhdawson
Copy link
Member

+1 on inviting those leading strategic initiatives to the TSC meetings to cover them.

@Trott
Copy link
Member

Trott commented Jul 16, 2021

+1 on inviting those leading strategic initiatives to the TSC meetings to cover them.

It could provide a good natural onramp to TSC membership that we currently lack. (We need a better offramp too, but we can ponder that separately if necessary.)

Trott added a commit to Trott/io.js that referenced this issue Jul 17, 2021
This (along with a corresponding PR for the TSC repo) moves the
strategic initiatives from the TSC repository to the main core repo.
This will increase visibility for strategic initiatives. It will also
facilitate the proposed reduced centrality of TSC champions to strategic
plans.

In the process, I made the text less wordy. I moved the Build Resources
initiatve out of the active list, as discussed at the most recent TSC
meeting. I alphabetized the table entries. (Chronological order isn't
obvious to a reader if no dates are provided.)

Refs: nodejs/TSC#962 (comment)

PR-URL: nodejs#39394
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
targos pushed a commit to nodejs/node that referenced this issue Jul 20, 2021
This (along with a corresponding PR for the TSC repo) moves the
strategic initiatives from the TSC repository to the main core repo.
This will increase visibility for strategic initiatives. It will also
facilitate the proposed reduced centrality of TSC champions to strategic
plans.

In the process, I made the text less wordy. I moved the Build Resources
initiatve out of the active list, as discussed at the most recent TSC
meeting. I alphabetized the table entries. (Chronological order isn't
obvious to a reader if no dates are provided.)

Refs: nodejs/TSC#962 (comment)

PR-URL: #39394
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
BethGriggs pushed a commit to nodejs/node that referenced this issue Jul 29, 2021
This (along with a corresponding PR for the TSC repo) moves the
strategic initiatives from the TSC repository to the main core repo.
This will increase visibility for strategic initiatives. It will also
facilitate the proposed reduced centrality of TSC champions to strategic
plans.

In the process, I made the text less wordy. I moved the Build Resources
initiatve out of the active list, as discussed at the most recent TSC
meeting. I alphabetized the table entries. (Chronological order isn't
obvious to a reader if no dates are provided.)

Refs: nodejs/TSC#962 (comment)

PR-URL: #39394
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
targos pushed a commit to nodejs/node that referenced this issue Sep 4, 2021
This (along with a corresponding PR for the TSC repo) moves the
strategic initiatives from the TSC repository to the main core repo.
This will increase visibility for strategic initiatives. It will also
facilitate the proposed reduced centrality of TSC champions to strategic
plans.

In the process, I made the text less wordy. I moved the Build Resources
initiatve out of the active list, as discussed at the most recent TSC
meeting. I alphabetized the table entries. (Chronological order isn't
obvious to a reader if no dates are provided.)

Refs: nodejs/TSC#962 (comment)

PR-URL: #39394
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
@mhdawson
Copy link
Member

The last comment was almost a year ago. The last actions where the list of strategic initiatives were moved to node core is complete and we now have a number led by non TSC members.

@Trott any objection to me closing out this issue?

@Trott Trott closed this as completed Jun 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants