nodejs / version-management

Discussion Group for Version Management
MIT License
42 stars 14 forks source link

Recommendation for the TSC: nvm in or out? #10

Closed marcelklehr closed 1 year ago

marcelklehr commented 7 years ago

As they seem to be expecting some kind of recommendation from us for this, I think it would be a good idea to discuss this.

IMO, however, this depends largely on what the Node.js foundation intends to be / not be, which seems to me to be unspecified as of yet, so my vote is to reject the question until that is settled (there'll likely be a better way to decide whether it should be accepted by the foundation then).

ljharb commented 7 years ago

I agree we should discuss it.

So far I have seen only one reason not to immediately bring nvm into the foundation: a desire not to create a perception of a "blessed" solution. I believe that there are many places we can make strong statements that will convince people that this is not the case, which would make this a nonissue.

Are there any other reasons not to accept it? The fact that nvm is not necessarily (or likely to be) the long term solution we settle on seems unrelated - foundations are for related projects, not just for "the One True Solution" for things.

marcelklehr commented 7 years ago

The discussion at #5 seems to have had the following outcome:

  • Should only projects actively supported by core be in Foundation?
  • Bring them all in? Not sustainable.
  • So if something is to be in core/Foundation, would need to be one, and would need to follow documented patterns and standards.
    • Should it be nvm? Maybe, still too early to tell. First come to consensus on standard patterns.
ljharb commented 7 years ago

That discussion was not conducted with everyone - in no way do I agree that "it should be only one". That seems needlessly restrictive.

Bringing in "more than one" is not a slippery slope to "bringing in all". All we need to do is come up with criteria to apply to bringing a project in, and apply them to everyone equally.

coreybutler commented 7 years ago

The take-away from that point was a consensus on standard installation patterns must be arrived at before considering inclusion of any project.

ljharb commented 7 years ago

That's definitely something we need to discuss further, because in no way do I agree that that should be a blocker for anything. Those decisions can be made in parallel along with anything else.

joshgav commented 7 years ago

@ljharb

All we need to do is come up with criteria to apply to bringing a project in, and apply them to everyone equally.

I think we learned on Thursday that the criteria includes a notion of "supported by" the Foundation, and that's why we probably only want to have one, and why we felt it was too early to choose that.

Also continuing the conversation at https://github.com/nodejs/TSC/issues/96#issuecomment-264965326 to get the TSC's take.

/cc @mikeal @TheAlphaNerd

ljharb commented 7 years ago

All projects are already supported by their existing maintainers. Moving a project into the foundation does not necessarily mean anyone has to, or will, alter the amount of effort they're putting in - and in fact, getting a concrete commitment from project maintainers prior to accepting a project would be a must anyways.

felixfbecker commented 6 years ago

Imo the biggest drawback of nvm is that it only works on POSIX shells, so naturally it won't work in Windows cmd nor PowerShell (nor e.g. fish on Linux). There's nvm-windows which works fundamentally different than nvm. And there's ps-nvm, which afaik is the only Node version manager that runs on macOS, Linux and Windows (also has some neat features and way easier to understand code if you ask me), but of course needs PowerShell. Then there are also alternatives like n. It definitely feels hard to move one into the foundation but not the others.

ljharb commented 6 years ago

@felixfbecker moving one into the foundation now in no way prevents all of the others from moving in later. If this has to be "all version managers or none", it's going to be none - the only way this would happen is one at a time, which means someone has to be first. (I've never heard of ps-nvm, but there's also nvs, which works on all three of those platforms; also, nvm works fine on Windows in BashOnWindows/WSL)

coreybutler commented 6 years ago

BashOnWindows is still very much a minority share of the Windows community. Last I checked, roughly 70% of the world is running Windows and a larger percentage of that is still on Windows 7 (which still has extended support through 2020).

FWIW, I also have a posix version of nvm-windows (it's all being renamed), but have been insanely busy over the last few months. Simply not enough time to finish/release.

felixfbecker commented 6 years ago

Yeah, also when you are running nvm inside WSL, you’re not running it inside Windows or installing Node for Windows on Windows, you are installing Node for Linux on Linux Subsystem. It doesn’t help if you need to install Node for Windows on Windows.

ljharb commented 6 years ago

Sure. But again, the node foundation doesn't have to have as its requirement that every foundation version manager supports every supported platform; the intention would be for the foundation to guide and mentor multiple version managers, with the overarching goal of reaching the optimal cross-platform solution.

ljharb commented 1 year ago

nvm has since been moved to the OpenJS Foundation, and there is no more node foundation, so this issue is obsolete.