Skip to content

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

Closed

Description

@mhdawson

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

Activity

  1. self-assigned this
    on Jul 15, 2019
  2. Trott commented on Jul 15, 2019

    @Trott
    Member

    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.

  3. mhdawson commented on Jul 15, 2019

    @mhdawson
    MemberAuthor

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

  4. mhdawson commented on Jul 15, 2019

    @mhdawson
    MemberAuthor

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

  5. clarkbw commented on Jul 16, 2019

    @clarkbw

    👋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.

  6. ljharb commented on Jul 16, 2019

    @ljharb
    SponsorMember

    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?

  7. clarkbw commented on Jul 16, 2019

    @clarkbw

    @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 😴 😄

  8. hybrist commented on Jul 16, 2019

    @hybrist

    @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.

  9. mhdawson commented on Jul 16, 2019

    @mhdawson
    MemberAuthor

    @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

  10. clarkbw commented on Jul 16, 2019

    @clarkbw

    @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!

  11. mhdawson commented on Jul 17, 2019

    @mhdawson
    MemberAuthor

    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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions