Skip to content

To be or not to be in core #1041

@ronag

Description

@ronag

The discussion regarding whether or not s module should be in core seems to pop every now and then and I feel it's a little unfortunate that it kind of always has to start over from almost nothing and with different people involved.

Whether something should be or shouldn't be in core is quite complicated and it will be difficult to agree on any consistent set of rules for this that an be applied across the board. However, I think we should still be able to write up something in terms of what things we consider, what is advantages and disadvantaged to either approach etc. So that when these discussions pop up we have some form of summarized and organized prior knowledge/discussion/thoughts document to refer to.

I think it would maybe be appropriate for the TSC to provide some form of guideline here.

Some examples where it's unclear whether things should be in core or not:

and probably more...

As I see it we have 3 possible approaches on a module by module basis:

  1. include in core
  2. include in some kind of "standard library" (e.g. npm @node/package-name).
  3. external package which lives under the nodejs org in GitHub (e.g. undici)

Some initial notes from me to start from:

  • Part of LTS workflow
  • CITGM
  • More "trust"
  • Other core modules can use the functionality
  • Same as 3 but maybe with more "trust"
  • Higher development velocity.
  • Higher publishing velocity. User can access fixes and new features quicker.
  • More fine grained step by step upgrade by users in terms of breaking changes.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions