meta: merge TSC and CTC back into a single body · nodejs/node@e014178

@@ -8,7 +8,7 @@

88

- [Internal vs. Public API](#internal-vs-public-api)

99

- [Breaking Changes](#breaking-changes)

1010

- [Deprecations](#deprecations)

11-

- [Involving the CTC](#involving-the-ctc)

11+

- [Involving the TSC](#involving-the-TSC)

1212

* [Landing Pull Requests](#landing-pull-requests)

1313

- [Technical HOWTO](#technical-howto)

1414

- [I Just Made a Mistake](#i-just-made-a-mistake)

@@ -30,7 +30,7 @@ pull requests to the Node.js project.

3030

Collaborators should feel free to take full responsibility for

3131

managing issues and pull requests they feel qualified to handle, as

3232

long as this is done while being mindful of these guidelines, the

33-

opinions of other Collaborators and guidance of the CTC.

33+

opinions of other Collaborators and guidance of the TSC.

34343535

Collaborators may **close** any issue or pull request they believe is

3636

not relevant for the future of the Node.js project. Where this is

@@ -46,7 +46,7 @@ necessary.

46464747

All modifications to the Node.js code and documentation should be

4848

performed via GitHub pull requests, including modifications by

49-

Collaborators and CTC members.

49+

Collaborators and TSC members.

50505151

All pull requests must be reviewed and accepted by a Collaborator with

5252

sufficient expertise who is able to take full responsibility for the

@@ -70,16 +70,16 @@ For non-breaking changes, if there is no disagreement amongst

7070

Collaborators, a pull request may be landed given appropriate review.

7171

Where there is discussion amongst Collaborators, consensus should be

7272

sought if possible. The lack of consensus may indicate the need to

73-

elevate discussion to the CTC for resolution (see below).

73+

elevate discussion to the TSC for resolution (see below).

74747575

Breaking changes (that is, pull requests that require an increase in

7676

the major version number, known as `semver-major` changes) must be

77-

elevated for review by the CTC. This does not necessarily mean that the

78-

PR must be put onto the CTC meeting agenda. If multiple CTC members

77+

elevated for review by the TSC. This does not necessarily mean that the

78+

PR must be put onto the TSC meeting agenda. If multiple TSC members

7979

approve (`LGTM`) the PR and no Collaborators oppose the PR, it can be

80-

landed. Where there is disagreement among CTC members or objections

80+

landed. Where there is disagreement among TSC members or objections

8181

from one or more Collaborators, `semver-major` pull requests should be

82-

put on the CTC meeting agenda.

82+

put on the TSC meeting agenda.

83838484

All bugfixes require a test case which demonstrates the defect. The

8585

test should *fail* before the change, and *pass* after the change.

@@ -150,7 +150,7 @@ Exception to each of these points can be made if use or behavior of a given

150150

internal API can be demonstrated to be sufficiently relied upon by the Node.js

151151

ecosystem such that any changes would cause too much breakage. The threshold

152152

for what qualifies as "too much breakage" is to be decided on a case-by-case

153-

basis by the CTC.

153+

basis by the TSC.

154154155155

If it is determined that a currently undocumented object, property, method,

156156

argument, or event *should* be documented, then a pull request adding the

@@ -171,7 +171,7 @@ making and reviewing such changes. Before landing such commits, an effort

171171

must be made to determine the potential impact of the change in the ecosystem

172172

by analyzing current use and by validating such changes through ecosystem

173173

testing using the [Canary in the Goldmine](https://github.com/nodejs/citgm)

174-

tool. If a change cannot be made without ecosystem breakage, then CTC review is

174+

tool. If a change cannot be made without ecosystem breakage, then TSC review is

175175

required before landing the change as anything less than semver-major.

176176177177

If a determination is made that a particular internal API (for instance, an

@@ -183,7 +183,7 @@ breaking changes are made.

183183

### Breaking Changes

184184185185

Backwards-incompatible changes may land on the master branch at any time after

186-

sufficient review by collaborators and approval of at least two CTC members.

186+

sufficient review by collaborators and approval of at least two TSC members.

187187188188

Examples of breaking changes include, but are not necessarily limited to,

189189

removal or redefinition of existing API arguments, changing return values

@@ -209,7 +209,7 @@ Exception to this rule is given in the following cases:

209209

Such changes *must* be handled as semver-major changes but MAY be landed

210210

without a [Deprecation cycle](#deprecation-cycle).

211211212-

From time-to-time, in particularly exceptional cases, the CTC may be asked to

212+

From time-to-time, in particularly exceptional cases, the TSC may be asked to

213213

consider and approve additional exceptions to this rule.

214214215215

Purely additive changes (e.g. adding new events to EventEmitter

@@ -244,7 +244,7 @@ Specifically:

244244

* Resolving critical security issues.

245245

* Fixing a critical bug (e.g. fixing a memory leak) requires a breaking

246246

change.

247-

* There is CTC consensus that the change is required.

247+

* There is TSC consensus that the change is required.

248248

* If a breaking commit does accidentally land in a Current or LTS branch, an

249249

attempt to fix the issue will be made before the next release; If no fix is

250250

provided then the commit will be reverted.

@@ -320,7 +320,7 @@ operation of running code and therefore should not be viewed as breaking

320320

changes.

321321322322

Runtime Deprecations and End-of-life APIs (internal or public) *must* be

323-

handled as semver-major changes unless there is CTC consensus to land the

323+

handled as semver-major changes unless there is TSC consensus to land the

324324

deprecation as a semver-minor.

325325326326

All Documentation-Only and Runtime deprecations will be assigned a unique

@@ -346,18 +346,18 @@ request adding the deprecation lands in master). All deprecations included in

346346

a Node.js release should be listed prominently in the "Notable Changes" section

347347

of the release notes.

348348349-

### Involving the CTC

349+

### Involving the TSC

350350351-

Collaborators may opt to elevate pull requests or issues to the CTC for

352-

discussion by assigning the `ctc-review` label. This should be done

351+

Collaborators may opt to elevate pull requests or issues to the TSC for

352+

discussion by assigning the `tsc-review` label. This should be done

353353

where a pull request:

354354355355

- has a significant impact on the codebase,

356356

- is inherently controversial; or

357357

- has failed to reach consensus amongst the Collaborators who are

358358

actively participating in the discussion.

359359360-

The CTC should serve as the final arbiter where required.

360+

The TSC should serve as the final arbiter where required.

361361362362

## Landing Pull Requests

363363

@@ -567,7 +567,7 @@ git push upstream master

567567568568

### I Just Made a Mistake

569569570-

* Ping a CTC member.

570+

* Ping a TSC member.

571571

* `#node-dev` on freenode

572572

* With `git`, there's a way to override remote trees by force pushing

573573

(`git push -f`). This should generally be seen as forbidden (since

@@ -596,17 +596,17 @@ Once a Current branch enters LTS, changes in that branch are limited to bug

596596

fixes, security updates, possible npm updates, documentation updates, and

597597

certain performance improvements that can be demonstrated to not break existing

598598

applications. Semver-minor changes are only permitted if required for bug fixes

599-

and then only on a case-by-case basis with LTS WG and possibly Core Technical

600-

Committee (CTC) review. Semver-major changes are permitted only if required for

601-

security related fixes.

599+

and then only on a case-by-case basis with LTS WG and possibly Technical

600+

Steering Committee (TSC) review. Semver-major changes are permitted only if

601+

required for security related fixes.

602602603603

Once a Current branch moves into Maintenance mode, only **critical** bugs,

604604

**critical** security fixes, and documentation updates will be permitted.

605605606606

#### Landing semver-minor commits in LTS

607607608608

The default policy is to not land semver-minor or higher commits in any LTS

609-

branch. However, the LTS WG or CTC can evaluate any individual semver-minor

609+

branch. However, the LTS WG or TSC can evaluate any individual semver-minor

610610

commit and decide whether a special exception ought to be made. It is

611611

expected that such exceptions would be evaluated, in part, on the scope

612612

and impact of the changes on the code, the risk to ecosystem stability

@@ -616,7 +616,7 @@ commit will have for the ecosystem.

616616

Any collaborator who feels a semver-minor commit should be landed in an LTS

617617

branch should attach the `lts-agenda` label to the pull request. The LTS WG

618618

will discuss the issue and, if necessary, will escalate the issue up to the

619-

CTC for further discussion.

619+

TSC for further discussion.

620620621621

#### How are LTS Branches Managed?

622622