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

Node.js Foundation Technical Steering Committee (TSC) Meeting 2019-07-17 #732

Closed
mhdawson opened this issue Jul 15, 2019 · 10 comments
Closed
Assignees

Comments

@mhdawson
Copy link
Member

mhdawson commented Jul 15, 2019

Time

UTC Wed 17-Jul-2019 15:00 (03:00 PM):

Timezone Date/Time
US / Pacific Wed 17-Jul-2019 08:00 (08:00 AM)
US / Mountain Wed 17-Jul-2019 09:00 (09:00 AM)
US / Central Wed 17-Jul-2019 10:00 (10:00 AM)
US / Eastern Wed 17-Jul-2019 11:00 (11:00 AM)
London Wed 17-Jul-2019 16:00 (04:00 PM)
Amsterdam Wed 17-Jul-2019 17:00 (05:00 PM)
Moscow Wed 17-Jul-2019 18:00 (06:00 PM)
Chennai Wed 17-Jul-2019 20:30 (08:30 PM)
Hangzhou Wed 17-Jul-2019 23:00 (11:00 PM)
Tokyo Thu 18-Jul-2019 00:00 (12:00 AM)
Sydney Thu 18-Jul-2019 01:00 (01:00 AM)

Or in your local time:

Links

Agenda

Extracted from tsc-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

nodejs/Release

nodejs/TSC

  • Nominating @BethGriggs to the TSC #718
  • Tracking issue for updating TSC on Board Meetings #476
  • Strategic Initiatives - Tracking Issue #423

Invited

Observers/Guests

Beth Griggs @BethGriggs (guest participant)

Notes

The agenda comes from issues labelled with tsc-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

Zoom link: https://zoom.us/j/611357642
Regular password

Public participation

We stream our conference call straight to YouTube so anyone can listen to it live, it should start playing at https://www.youtube.com/c/nodejs+foundation/live when we turn it on. There's usually a short cat-herding time at the start of the meeting and then occasionally we have some quick private business to attend to before we can start recording & streaming. So be patient and it should show up.

Many of us will be on IRC in #node-dev on Freenode if you'd like to interact, we have a Q/A session scheduled at the end of the meeting if you'd like us to discuss anything in particular. @nodejs/collaborators in particular if there's anything you need from the TSC that's not worth putting on as a separate agenda item, this is a good place for that.


Invitees

Please use the following emoji reactions in this post to indicate your
availability.

  • 👍 - Attending
  • 👎 - Not attending
  • 😕 - Not sure yet
@mhdawson mhdawson self-assigned this Jul 15, 2019
@Trott
Copy link
Member

Trott commented Jul 15, 2019

Based on nodejs/Release#341 (comment), should nodejs/Release#341 be removed from the agenda? If so, then we have a very light agenda, with the only non-standing issue being something that has an active email thread going on. Seems like the meeting could be canceled.

@mhdawson
Copy link
Member Author

Yes, #341 should have had the tag removed, done that now and removed from agenda.

@mhdawson
Copy link
Member Author

I'm +1 to canceling this week unless somebody has something to add to the agenda.

@clarkbw
Copy link

clarkbw commented Jul 16, 2019

👋I'd like to join this meeting and discuss some package namespace concepts the GitHub Package Registry team is considering. We would value your input on the direction we're taking.

Single source of truth

For simplicity and security GPR (the GitHub Package Registry) plans to provide a system for "upstreaming NPM" such that our users only need to add a single registry URL to their config.

npm login --registry=https://npm.pkg.github.com

Through this single URL users should have access to both NPM packages and those packages which reside on GPR. However we have been running into issues with namespace conflicts with the NPM registry given its global name resolution and separate namespace system.

Namespace Problems

GitHub offers namespaces through organizations (https://github.com/nodejs/), users (https://github.com/clarkbw), and repos (https://github.com/nodejs/TSC/ or https://github.com/clarkbw/jest-localstorage-mock). But our namespaces are often different from those namespaces on NPM and this creates the conflict when trying to use a single source; who is correct if both have an answer.

For example our system currently allows you to require a module with a namespace. Without upstream support this isn't a problem but when we combine both our system and NPM you don't know which system namespace @octo-org should resolve to.

  "dependencies": {
    "@octo-org/octo-app": "1.0.0"
  }

This namespace conflict is apparent with namespaces google-cloud and GoogleCloudPlatform where the URLs are https://www.npmjs.com/org/google-cloud and https://github.com/GoogleCloudPlatform respectively. If a user specified @GoogleCloudPlatform and that was also registered on NPM it would be unclear what the user wanted and vice versa for @google-cloud and that namespace being on GitHub.

URLs as namespace

Our long term plan is to use URLs as a namespace prefix such that @octo-org/octo-app should actually be written as github.com/octo-org/octo-app. We believe this makes namespace resolution obvious and in control of the developers while also securing users from squatting attacks and being more future proof.

The problem we face when trying to use URLs is that the NPM client mostly assumes that a GitHub URL means direct git access to the repository as seen in the NPM docs. An npm install github.com/octo-org/octo-app or npm install https://github.com/octo-org/octo-app either fails or connects to the git server.

Protocol as namespace

An alternate version of the URL as namespace is using a protocol instead such that GPR requests are prefixed with github:. An npm install github:octo-org/octo-app isn't ideal like URLs are but would work if the NPM client didn't already use the github: protocol for direct git server access.

Hybrid solution

The GPR team would like to make progress on the longer term solution, we believe to be something like URL namespaces. At the same time we want to make forward progress on a solution that could work better in the next couple months.

We're looking at a number of different solutions for the near term that will allow our users to use GPR as expected while we work toward a more stable namespace solution like URLs. These solutions are purely temporary so we can get up and running without requiring changes to clients that take time to propagate out.

Namespace Prefix

One example temporary solution is to use a prefix on namespace like @gh- so users would enter @google-cloud/storage for the default NPM namespace and @gh-GoogleCloudPlatform/storage for the GitHub namespace. We are not in 😍with this.


We're humbled to be able to take part in this conversation and appreciate your time, thoughts, and advice on these proposals.

@ljharb
Copy link
Member

ljharb commented Jul 16, 2019

cc @nodejs/modules

@clarkbw we have a meeting of the Modules group tomorrow (nodejs/modules#349 (comment)); it might be a better place to have initial conversations?

@clarkbw
Copy link

clarkbw commented Jul 16, 2019

@clarkbw we have a meeting of the Modules group tomorrow (nodejs/modules#349 (comment)); it might be a better place to have initial conversations?

Happy to join that one instead and not be on the hook for an 8am meeting 😴 😄

@jkrems
Copy link

jkrems commented Jul 16, 2019

@clarkbw It may help to copy that write-up into an issue (either in nodejs/node or nodejs/modules) so we can properly tag it and also in case there's additional discussion beforehand.

@mhdawson
Copy link
Member Author

@clarkbw I was just coming back to this issue to see if we'd cancel for this week. If a good starting point is to start the discussion in the modules team meeting then I'll go ahead and cancel this unless there are objections from @nodejs/tsc

@clarkbw
Copy link

clarkbw commented Jul 16, 2019

@clarkbw I was just coming back to this issue to see if we'd cancel for this week. If a good starting point is to start the discussion in the modules team meeting

I'm happy to start there!

@mhdawson
Copy link
Member Author

Canceling meeting for today. If you are interested in the discussion on namespacing make sure to attend the Modules meeting today.

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

5 participants