From 9a17c71c347115a8076beb5725f590856fe5f0a7 Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Thu, 24 Aug 2017 15:23:33 -0700
Subject: [PATCH 1/6] meta: considerations for new core modules

---
 COLLABORATOR_GUIDE.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md
index bb012ba90e06ae..c4042daccd052b 100644
--- a/COLLABORATOR_GUIDE.md
+++ b/COLLABORATOR_GUIDE.md
@@ -263,6 +263,20 @@ multiple commits. Commit metadata and the reason for the revert should be
 appended. Commit message rules about line length and subsystem can be ignored.
 A Pull Request should be raised and approved like any other change.
 
+### Introducing New Modules
+
+Semver-minor commits that introduce new core modules should be treated with
+extra care.
+
+* First, the name of the new core module should not conflict with any existing
+  module in the ecosystem unless an agreement with the owner of those modules
+  is reached to transfer ownership.
+* PRs that introduce new core modules must be landed as semver-minor commits.
+* New core modules must be landed initially as `Experimental` and must go
+  through at least one release cycle before being moved out of experimental.
+* It is recommended to give PRs introducing new core modules more time for
+  review than the typical 48/72 hour review used for other commits.
+
 ### Deprecations
 
 Deprecation refers to the identification of Public APIs that should no longer

From 101f84cb6703bc3b76f2927773cf377121c0ab8e Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Fri, 25 Aug 2017 08:25:40 -0700
Subject: [PATCH 2/6] [Squash] Refine details based on feedback

---
 COLLABORATOR_GUIDE.md | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md
index c4042daccd052b..3d7fe014cd13f2 100644
--- a/COLLABORATOR_GUIDE.md
+++ b/COLLABORATOR_GUIDE.md
@@ -268,14 +268,18 @@ A Pull Request should be raised and approved like any other change.
 Semver-minor commits that introduce new core modules should be treated with
 extra care.
 
-* First, the name of the new core module should not conflict with any existing
-  module in the ecosystem unless an agreement with the owner of those modules
-  is reached to transfer ownership.
-* PRs that introduce new core modules must be landed as semver-minor commits.
-* New core modules must be landed initially as `Experimental` and must go
-  through at least one release cycle before being moved out of experimental.
-* It is recommended to give PRs introducing new core modules more time for
-  review than the typical 48/72 hour review used for other commits.
+The name of the new core module should not conflict with any existing 
+module in the ecosystem unless a written agreement with the owner of those
+modules is reached to transfer ownership.
+
+New core modules must be landed with a [Stability Index][] of Experimental.
+Pull requests proposing new core modules must still be marked semver-minor.
+New core modules must remain Experimental until a semver-major release.
+
+It is recommended to give PRs introducing new core modules at least one week
+for review. For new modules that involve significant effort, non-trivial
+additions to Node.js or significant new capabilities, an [EPS][] is
+recommended but not required.
 
 ### Deprecations
 
@@ -656,3 +660,5 @@ release. This process of making a release will be a collaboration between the
 LTS working group and the Release team.
 
 [backporting guide]: doc/guides/backporting-to-release-lines.md
+[Stability Index]: https://github.com/nodejs/node/pull/doc/api/documentation.md#stability-index
+[EPS]: https://github.com/nodejs/node-eps

From 41242d8c614f3cd3ab787efa21d0d5c839e4a30e Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Fri, 25 Aug 2017 13:30:22 -0700
Subject: [PATCH 3/6] [Squash] Nit

---
 COLLABORATOR_GUIDE.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md
index 3d7fe014cd13f2..3488d8245e54c1 100644
--- a/COLLABORATOR_GUIDE.md
+++ b/COLLABORATOR_GUIDE.md
@@ -278,8 +278,8 @@ New core modules must remain Experimental until a semver-major release.
 
 It is recommended to give PRs introducing new core modules at least one week
 for review. For new modules that involve significant effort, non-trivial
-additions to Node.js or significant new capabilities, an [EPS][] is
-recommended but not required.
+additions to Node.js or significant new capabilities, an
+[Enhancement Proposal][] is recommended but not required.
 
 ### Deprecations
 
@@ -661,4 +661,4 @@ LTS working group and the Release team.
 
 [backporting guide]: doc/guides/backporting-to-release-lines.md
 [Stability Index]: https://github.com/nodejs/node/pull/doc/api/documentation.md#stability-index
-[EPS]: https://github.com/nodejs/node-eps
+[Enhancement Proposal]: https://github.com/nodejs/node-eps

From 479aeae96a5f40a6b09d49ceb12a33eeb66392bb Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Fri, 25 Aug 2017 13:42:26 -0700
Subject: [PATCH 4/6] [Squash] Be forceful and assertive. Believe in yourself.

---
 COLLABORATOR_GUIDE.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md
index 3488d8245e54c1..b413b434121c92 100644
--- a/COLLABORATOR_GUIDE.md
+++ b/COLLABORATOR_GUIDE.md
@@ -276,9 +276,9 @@ New core modules must be landed with a [Stability Index][] of Experimental.
 Pull requests proposing new core modules must still be marked semver-minor.
 New core modules must remain Experimental until a semver-major release.
 
-It is recommended to give PRs introducing new core modules at least one week
-for review. For new modules that involve significant effort, non-trivial
-additions to Node.js or significant new capabilities, an
+Pull requests introducing new core modules must be left open for at least
+one week for review. For new modules that involve significant effort,
+non-trivial additions to Node.js or significant new capabilities, an
 [Enhancement Proposal][] is recommended but not required.
 
 ### Deprecations

From fbcd57962995d70de0bb21dbd73981acc088e2d7 Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Fri, 25 Aug 2017 16:09:16 -0700
Subject: [PATCH 5/6] [Squash] I think we're getting closer.

---
 COLLABORATOR_GUIDE.md | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md
index b413b434121c92..c797ec332a3b90 100644
--- a/COLLABORATOR_GUIDE.md
+++ b/COLLABORATOR_GUIDE.md
@@ -272,14 +272,18 @@ The name of the new core module should not conflict with any existing
 module in the ecosystem unless a written agreement with the owner of those
 modules is reached to transfer ownership.
 
-New core modules must be landed with a [Stability Index][] of Experimental.
-Pull requests proposing new core modules must still be marked semver-minor.
-New core modules must remain Experimental until a semver-major release.
-
-Pull requests introducing new core modules must be left open for at least
-one week for review. For new modules that involve significant effort,
-non-trivial additions to Node.js or significant new capabilities, an
-[Enhancement Proposal][] is recommended but not required.
+Pull requests introducing new core modules:
+
+* Must be left open for at least one week for review.
+* Must be labeled using the `ctc-review` label.
+* Must have signoff from at least two CTC members.
+
+New core modules must be landed with a [Stability Index][] of Experimental,
+and must remain Experimental until a semver-major release.
+
+For new modules that involve significant effort, non-trivial additions to
+Node.js or significant new capabilities, an [Enhancement Proposal][] is
+recommended but not required.
 
 ### Deprecations
 

From 00df632c29d7ec018a94f76a177817e562a85976 Mon Sep 17 00:00:00 2001
From: James M Snell <jasnell@gmail.com>
Date: Fri, 25 Aug 2017 16:17:22 -0700
Subject: [PATCH 6/6] [Squash] *Now* I think I've got it.

---
 COLLABORATOR_GUIDE.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md
index c797ec332a3b90..5dddf40921c791 100644
--- a/COLLABORATOR_GUIDE.md
+++ b/COLLABORATOR_GUIDE.md
@@ -272,6 +272,10 @@ The name of the new core module should not conflict with any existing
 module in the ecosystem unless a written agreement with the owner of those
 modules is reached to transfer ownership.
 
+If the new module name is free, a Collaborator should register a placeholder
+in the module registry as soon as possible, linking to the pull request that
+introduces the new core module.
+
 Pull requests introducing new core modules:
 
 * Must be left open for at least one week for review.