X Tutup
The Wayback Machine - https://web.archive.org/web/20201023142041/https://github.com/nodejs/node/discussions/35682
Skip to content
💡 Ideas

Node.js Binary Manager Summit? #35682

💡 Ideas
6d ago
· 23 replies
💡 Ideas
6d ago
· 23 replies

@jasnell jasnell
Maintainer

@arcanis, @charlespierce, @dherman, @MylesBorins, @jasongin, @ljharb, @mhdawson, @nodejs/tsc and I'm sure many others...

As you all are aware, there has been discussion around adding corepack to the Node.js distribution in order to make it easier for yarn and pnpm users to use those tools out of the box with Node.js. Previously, we've had (unfortunately unsuccesful) discussions around the possibility of pulling version management tools like nvm and nvs into the Node.js project and distribution. The folks in the volta project (@charlespierce and @dherman) have reached out given the activity around corepack with an interest on discussing the long-term strategy for binary/version management ought to be.

What I'd like to do in the coming month or two (definitely before the end of the year) is organize a Binary Management Summit -- much in the same spirit we've had previously with things like the Diagnostics summit and other topics in the past, only virtual.

The key question for the summit would be this: If Node.js were to bundle a binary management utility as part of the core distribution, what would that look like? What would it's features be? What would it not do? How would we execute on it? For the sake of this discussion, "binary management utility" means a tool that can manage which versions of Node.js are installed on a system along with package management tools(e.g. npm, yarn, pnpm).

For the summit, what I propose are two four-hour working sessions split over two days in late November or early December. These would be working sessions with the specific goal of discussing and deciding a path forward, with specific actions identified to be taken to deliver a binary management utility sometime in the Node.js 16.x timeframe before Node.js 16 moves under LTS.

Replies

I'm very excited about this idea!

I recently started experimenting with rust and have found rustup to be a fantastic tool that has enabled me to be super productive super quickly.

Have an official binary manager that we ship could significantly simplify a bunch of things imho. A big challenge here would be making sure we ship something that is self-reliant + multiplatform. It would appear that volta has an advantage here being written in rust, speaking only to cross-platform not API or capabilities.

We do need to be careful about timing around holidays. We should pick some days ASAP

@ljharb ljharb
Maintainer

We already have a group to discuss this - https://github.com/nodejs/version-management - which volta is welcome to join. There hasn't been discussions in a long time because there are many things on which we'd all have to have common agreement, and each one is difficult to address.

@MylesBorins

I think what James is suggesting is slightly different. My impression is that this is about holding a summit to talk about binary management and help to build consensus around what the problem space we want to solve is and the potential solutions. With corepack very close to being able to land in core this seems very time sensitive to ensure we have broad buy in on what path we want to take moving forward. The audience for this is broader than nodejs/version-management... as the question is about how we distribute node itself (e.g. do we want to ship something like rustup).

While we could use version-management as the venue for this discussion, I do think it needs to be a broader audience.

@bnb bnb
Maintainer

How should we mark interest in attendance/participation in this summit? Maybe just reply to this comment's thread with a +1 or note of interest in participation?

FWIW I'm extremely interested in seeing this happen.

@darcyclarke

+1 would definitely like to be apart of this

Thanks for kicking this off @jasnell! We're super excited to see improvements in the developer ergonomics of installing Node. Having a clear delineation of the constraints and a vision of the end goal will make it a lot easier to take incremental steps towards that end vision.

@jasnell jasnell
Maintainer Author

I think what James is suggesting is slightly different.

Yep. This isn't about setting up a team or a working group, it's about scheduling a couple of days to work out a concrete plan of action.

@ljharb

ljharb
Maintainer

Sounds great, looking forward to being involved.

That sounds great! 🙂 Consider myself available mid November / early December, ideally between 7am - 19pm UTC.

@jasnell jasnell
Maintainer Author

I'll start working on setting it up and will post a few options for days for folks to vote on and will start putting together an agenda.

@MylesBorins

Would you consider making a doodle poll?

https://doodle.com/make-a-poll

@Trott Trott
Maintainer

+1, interested

@jasnell jasnell
Maintainer Author

Ok, For everyone interested in participating, please pick two consecutive days from the choices here that work best: https://doodle.com/poll/z2dffebs6uz5q5da

I have the poll baselined for 9:30am Eastern or 10:30am Eastern. We can adjust start times as necessary depending on where folks are at.

@ljharb

ljharb
Maintainer

Unfortunately all of those times are much too early for me on the west coast; they conflict with my childcare responsibilities. Anything later in the day?

@MylesBorins

We could hold more than a single session. This might make consensus harder... but finding times to accommodate NA / EMEA / APAC will be very tough

@jasnell

jasnell
Maintainer Author

I'd prefer not to split the group up. @ljharb, what's the earliest you can do?

@jasnell

jasnell
Maintainer Author

And... would actually shifting the meeting earlier be better. We could schedule in a break point for you to attend to morning family duty.

@ljharb
3d

ljharb
Maintainer

Carving out a 4 hour swath is basically impossible for me in the mornings - every morning, I'm either with my kids, or have scheduled appointments. For example, I could do 8:30-9:30 AM PT on Monday and Wednesday mornings, or 8-10 AM PT on Friday mornings, but I only have a 4 hour block available during some workdays (or on the weekends). So, for me, later is better, if we can't go for shorter.

@MylesBorins
3d

MylesBorins
Maintainer

@ljharb is there a way you could be flexible for a single day? Unfortunately not being able to start until after noon PST puts us past 6pm to start for most of Europe

@ljharb

ljharb
Maintainer

Could we do multiple 1-2 hour blocks instead of 4 hour blocks? It's much easier to rearrange things for shorter chunks of time.

@jasnell

jasnell
Maintainer Author

That might be difficult also because it makes scheduling other things a bit more difficult. Let's do this... let's focus on days for now, and once we have a good idea about what days may work, we'll look at the time blocking during those days.

@ljharb

ljharb
Maintainer

I mean, in that case I'm basically "maybe every day", since my available times vary widely from day to day.

@mhdawson mhdawson
Maintainer

I'm interested, filled in doodle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
9 participants
Beta
You can’t perform that action at this time.
X Tutup