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

Open Corepack Vote #1527

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Open Corepack Vote #1527

wants to merge 3 commits into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Apr 10, 2024

@nodejs/tsc ... as discussed on this TSC call today. Initiate a formal vote on the corepack discussion

@github-actions github-actions bot changed the base branch from main to initiateNewVote April 10, 2024 17:05
@jasnell jasnell requested a review from a team April 10, 2024 17:05
@wesleytodd
Copy link
Member

Does the presence of this vote mean the PMWG has a deadline for our goals and corresponding proposal docs? I assume we would want to have a clear picture of our intended future goals before we make changes to the status quo, but maybe y'all are seeing it differently.

@joyeecheung
Copy link
Member

The idea is to start a vote but I don’t think we have a timeline for the vote. From the summit some ideas were proposed:

  1. Use the next-10 survey coming out this month to test the temperature in users
  2. Give the PMWG a few weeks to figure out a short-term strategy

I think for those who are not yet decided, it would be valuable to have more information before they cast their vote. But we should not stall this forever either, so a vote will happen soonish.

@styfle
Copy link
Member

styfle commented Apr 10, 2024

Use the next-10 survey

How is the survey distributed?

@wesleytodd
Copy link
Member

wesleytodd commented Apr 10, 2024

The idea is to start a vote but I don’t think we have a timeline for the vote

Thanks for the context @joyeecheung! We will work to get that asap. We have good progress happening today here already:

nodejs/package-maintenance#597

How is the survey distributed?

More details here, including us working out the questions we want to ask in this regard. nodejs/next-10#261

@ronag
Copy link
Member

ronag commented Apr 10, 2024

Does the presence of this vote mean the PMWG has a deadline for our goals and corresponding proposal docs? I assume we would want to have a clear picture of our intended future goals before we make changes to the status quo, but maybe y'all are seeing it differently.

I don't think this vote affects any potential future goals. IMHO, this vote can happen independently of PMWG's work. I don't see how they are strictly related. Unless the goals of the PMWG match the corepack's implementation exactly.

@GeoffreyBooth
Copy link
Member

We have good progress happening today here already

Based on the collab summit and recent discussions, I think we might have consensus that we want to revise https://nodejs.org/en/download to prioritize the application developer use case, recommending installation via a version manager as the default method (see also nodejs/package-maintenance#591).

It would probably be a technical necessity for that version manager to be installed separately from Node, which would mean that the default tab for the download page would be something like a list of instructions where there are separate installation steps for the version manager and then for Node. Once we have that, it follows that the package manager version manager (Corepack) would be one of those installation steps. In this approach, Corepack would be unbundled from Node (and therefore not managed by whatever version manager controls the Node distribution) but still provided for users as part of installation.

@jasnell jasnell requested a review from aduh95 April 10, 2024 21:48
Comment on lines +27 to +29
- Status Quo: keep distributing `corepack` with Node.js, disabled by default, exactly as it is today.
- Keep distributing `corepack` with Node.js, enabling `yarn` and `pnpm` by default.
- Stop distributing `corepack` with Node.js.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let’s be clear that enabling Yarn and pnpm means creating executables for them.

Suggested change
- Status Quo: keep distributing `corepack` with Node.js, disabled by default, exactly as it is today.
- Keep distributing `corepack` with Node.js, enabling `yarn` and `pnpm` by default.
- Stop distributing `corepack` with Node.js.
- Status Quo: keep distributing Corepack with Node.js, disabled by default, exactly as it is today.
- Keep distributing Corepack with Node.js and include in the Node.js distribution `yarn` and `pnpm` executables that run Corepack to download and run Yarn and pnpm.
- Stop distributing Corepack with Node.js.

Copy link
Member

@joyeecheung joyeecheung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid giving readers the wrong idea that we are voting to remove corepack from the project...

The objective of the vote is to determine a basic question: do we continue bundling
the corepack binary with Node.js or not, and if so, do we enable bundling jumper
binaries for its supported package managers (such as yarn and pnpm) by default or not.
There are additional questions to resolve that will be handled separately.
# 6. Optionally, insert a brief introduction for the vote PR, in the markdown format.
prBody: |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
prBody: |
prBody: |
There are several different visions being worked out about the future distribution
strategy of package managers and Node.js itself. Some of them involve a bundled
corepack, some of them need a standalone corepack, some of them do not involve
corepack. We still have not decided on which vision we want. This vote is
specifically about whether we should continue bundling corepack before we
decide on the vision of our distribution strategy. It is separate from whether
corepack should eventually stay in the organization or be part of the
future of Node.js, as those are still unclear until we decide about our vision
in the distribution strategy.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively we can just decide what vision we want, and presumably based on that this vote won’t be necessary.

@aduh95 aduh95 changed the base branch from initiateNewVote to main April 23, 2024 18:31
@aduh95 aduh95 marked this pull request as draft April 23, 2024 18:32
@aduh95
Copy link
Contributor

aduh95 commented Apr 23, 2024

Converting to draft because the tool is not able to handle two open votes at once, and in the last TSC meeting there was consensus about giving more time to the package maintenance team before taking a decision.

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

Successfully merging this pull request may close these issues.

None yet