doc: add CTC meeting minutes 2016-08-03 · nodejs/node@827eed1

1+

# Node Foundation CTC Meeting 2016-08-03

2+3+

## Links

4+5+

* **Audio Recording**: TBP

6+

* **GitHub Issue**: https://github.com/nodejs/node/issues/7948

7+

* **Minutes Google Doc**: <https://docs.google.com/document/d/1ufR5dNuN3JLmFPvCvLYGRa98_-eqy5yY3zJuTnT60K8/edit#heading=h.ncvpl89y747j>

8+

* _Previous Minutes Google Doc: <https://docs.google.com/document/d/1rHxRb-ImjwFPOCOapgRDLdhqr4LJvie7eDNPOnDu2UA>_

9+10+11+

## Present

12+13+

* Anna Henningsen @addaleax (observer)

14+

* Bradley Meck @bmeck (observer/GoDaddy/TC39)

15+

* Ben Noordhuis @bnoordhuis (CTC)

16+

* Сковорода Никита Андреевич @ChALkeR (CTC)

17+

* Colin Ihrig @cjihrig (CTC)

18+

* Evan Lucas @evanlucas (CTC)

19+

* Jeremiah Senkpiel @Fishrock123 (CTC)

20+

* James M Snell @jasnell (CTC)

21+

* Josh Gavant @joshgav (observer/Microsoft)

22+

* Michael Dawson @mhdawson (CTC)

23+

* Brian White @mscdex (CTC)

24+

* Ali Ijaz Sheikh @ofrobots (CTC)

25+

* Bert Belder @piscisaureus (CTC)

26+

* Saúl Ibarra Corretgé @saghul (observer)

27+

* Rich Trott @Trott (CTC)

28+29+30+

## Standup

31+32+

* Anna Henningsen @addaleax (observer)

33+

* Issues & PR review

34+

* Bradley Meck @bmeck (observer/GoDaddy/TC39)

35+

* Went to TC39

36+

* Modules are going to take a different direction

37+

* Ben Noordhuis @bnoordhuis (CTC)

38+

* Nothing special.

39+

* Сковорода Никита Андреевич @ChALkeR (CTC)

40+

* Working on the npm dataset rebuilding tool. Some comments on issues and PRs as usual.

41+

* Colin Ihrig @cjihrig (CTC)

42+

* Was on vacation

43+

* Reviewing issues and PRs since I've been back

44+

* Evan Lucas @evanlucas (CTC)

45+

* A little cherry-picking to v6.x

46+

* Working on getting commit validator running for PRs

47+

* Jeremiah Senkpiel @Fishrock123 (CTC)

48+

* Mostly away, experimenting with nucleus-js.

49+

* James M Snell @jasnell (CTC)

50+

* Node Summit

51+

* Exploring the possibility of an HTTP/2 implementation in core

52+

* Continued evaluation of the WHATWG URL implementation

53+

* Foundation-y / TSC-y stuff

54+

* Reviewing PRs, catching up still from vacation

55+

* Josh Gavant @joshgav (observer/Microsoft)

56+

* internal stuff, vacation

57+

* Michael Dawson @mhdawson (CTC)

58+

* Node Summit/catching up on issues after Node Summit

59+

* Starting to add linuxOne release machine/jobs

60+

* Adding new AIX machine from osuosl

61+

* landed a few minutes PRs

62+

* Brian White @mscdex (CTC)

63+

* Commenting on issues/PRs.

64+

* Ali Ijaz Sheikh @ofrobots (CTC)

65+

* Node Summit & internal stuff. Spent rest of time shepherding some backports.

66+

* Planning on writing a proposal for managing V8 for LTS

67+

* Bert Belder @piscisaureus (CTC)

68+

* Commented on an issue.

69+

* Rich Trott @Trott (CTC)

70+

* CTC/governance documentation updates

71+

* Onboarding (danbev postponed but we’ll get there, now scheduling with fhinkel, additional nominees welcome)

72+

* fixed a flaky test, investigating others

73+74+

## Agenda

75+76+

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

77+78+

### nodejs/node

79+80+

* CTC membership nomination: @addaleax [#7607](https://github.com/nodejs/node/issues/7607)

81+82+

* Revert fs changes [#7846](https://github.com/nodejs/node/pull/7846)

83+84+

* [meta] realpath issues in v6 [#7726](https://github.com/nodejs/node/issues/7726)

85+86+

* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688)

87+88+

* build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/issues/7484)

89+90+

* http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102)

91+92+93+

### nodejs/node-eps

94+95+

* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28)

96+97+

### other

98+99+

* doc: @piscisaureus has stepped-down from the CTC [#7969](https://github.com/nodejs/node/pull/7969)

100+101+

## Previous Meeting

102+103+

### nodejs/node

104+105+

* Role of CTC in semver-major changes needs clarification [#7848](https://github.com/nodejs/node/issues/7848)

106+

* Revert fs changes [#7846](https://github.com/nodejs/node/pull/7846)

107+

* doc: add information about CTC quorum rules [#7813](https://github.com/nodejs/node/pull/7813)

108+

* meta: provide example activities [#7744](https://github.com/nodejs/node/pull/7744)

109+

* meta: realpath issues in v6 [#7726](https://github.com/nodejs/node/issues/7726)

110+

* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688)

111+

* punycode: deprecate punycode module [#7552](https://github.com/nodejs/node/pull/7552)

112+

* Node 6 fs.realpath behavior changes [#7175](https://github.com/nodejs/node/issues/7175)

113+

* http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102)

114+

* Seek legal advice on LICENSE and copyright blocks in code [#3979](https://github.com/nodejs/node/issues/3979)

115+116+

### nodejs/post-mortem

117+118+

* Repositories to contribute collaboratively [#30](https://github.com/nodejs/post-mortem/issues/30)

119+120+

### nodejs/node-eps

121+122+

* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28)

123+124+

## Minutes

125+126+

### CTC membership nomination: @addaleax [#7607](https://github.com/nodejs/node/issues/7607)

127+128+

Unanimous `aye`.

129+130+

**Next steps**: @rvagg to merge.

131+132+

---

133+134+

### Revert fs changes [#7846](https://github.com/nodejs/node/pull/7846)

135+136+

Reverts:

137+

https://github.com/nodejs/node/pull/7846

138+

https://github.com/nodejs/node/pull/7950

139+140+

Warn instead of throw when callback is omitted, as in v5:

141+

https://github.com/nodejs/node/pull/7897

142+143+

@bnoordhuis: This change makes omitting the callback an immediate error.

144+145+

@trott: What do we need to do to get those PRs to land?

146+147+

@addaleax: Myles split off one commit to [#7950](https://github.com/nodejs/node/pull/7950). Not controversial, was requested by CTC last week.

148+

This must be landed prior to #7846.

149+150+

@jasnell: Would like to see a CI and CITGM run and some additional testing to make sure we have exactly the right set of reverts. @jasnell will start it.

151+152+

@bnoordhuis: We need to print a deprecation warning [instead of throwing, when no callback].

153+154+

@addaleax: That’s the plan after the reverts have landed. @thefourtheye plans to work on it. [see #7897])

155+156+

@jasnell: process warning or deprecation warning? Will we use `util.printDeprecationWarning` or `process.emitWarning()`?

157+

Deprecation warning is semver-major, process warning is semver-minor or even patch.

158+159+

[It's `printDeprecationWarning`, see [here](https://github.com/thefourtheye/io.js/blob/8c65f7b6a253ab4e26ffe0de791dc41fcee92244/lib/fs.js#L48).]

160+161+

@addaleax: PR to print warning already opened. Could be used instead of reverting, but we agreed to revert last week and it blocks the realpath revert.

162+163+

@Fishrock123: Unbreaking a break and replacing with warning shouldn’t be semver-major.

164+165+

@trott: @jasnell’s PR on semver policies says it should be semver-major.

166+167+

@Fishrock123: Since we already changed it in the v6 transition let’s just change it to a deprecation.

168+169+

@trott: Let’s do the reverts (#7846, #7950), discuss deprecation warning separately in GH (#7897).

170+171+

OK with everybody.

172+173+

**Next steps**: Do the reverts (#7846, #7950). Continue discussion on throw -> warning in #7897.

174+175+

---

176+177+

### [meta] realpath issues in v6 [#7726](https://github.com/nodejs/node/issues/7726)

178+179+

@trott: Last week we concluded that Anna, Trevor, or Alexis would move it forward.

180+181+

@trott: Just the two reverts that are blocking.

182+183+

@addaleax: Yes.

184+185+

@saghul: Old JS impl did not resolve subst’ed drives. New libuv impl does. A test looks for the new behavior. ]

186+187+

@saghul: Some people are relying on the old JS impl behavior to shorten paths on Windows. What are the right semantics? Should `subst`ed drives resolve to original path or to shortened path?

188+189+

@piscisaureus: The whole reason we use realpath in `module` is to avoid a module being loaded multiple times via multiple symlinked paths. So the goal should be to always resolve to the true path.

190+191+

@piscisaureus: Path limit is 64k not likely to encounter.

192+193+

@saghul: There’s a test for the new code which expects realpath on a subst’ed drive to give the original path. We need to revert this test for reverted behavior.

194+195+

@addaleax: Reverting to fs JS impl would return to old behavior.

196+197+

@trott: Submit a PR to remove that test, or move to known issues tests.

198+199+

@piscisaureus: Leave the test to track changes in the future.

200+201+

@Fishrock123: Key is to revert to an impl the ecosystem is depending on. Discuss this in another PR in GitHub.

202+203+

@jasnell: It’s a revert of the internal impl, not the changed public API [i.e. so we have to consider it now.]

204+205+

What about reverting the removal of the `cache` option?

206+207+

@addaleax: Not including the `cache` option now would allow additional/alternate improvements in the future.

208+209+

@bnoordhuis: Are these changes to land in v7?

210+211+

@jasnell: The idea is to get these into *v6* before it goes LTS.

212+213+

* The realpath change would land in v6.

214+

* The other changes (revert throwing error on callback) is only in master and would not land in v6.

215+

* Are the realpath changes dependent on the others?

216+

* Only Myles’ changes conflict with realpath [see previous item].

217+218+

@jasnell: Do we have the steps lined up?

219+220+

@addaleax: Myles revert (#7846, #7950), then realpath revert.

221+222+

@? apply semver-major changes that were reverted, with deprecation warning.

223+224+

@chalker: Can we keep tests which were added? Revert removes some tests which aren’t actually related to changes.

225+226+

@piscisareus: Same as @saghul’s comment, and we agreed to keep the new tests. So yes we should keep them.

227+228+

**Next steps**:

229+230+

* Modify PR to keep tests related to new behavior for reference.

231+

* Apply Myles' reverts (#7846, #7950)

232+

* Apply `realpath` revert.

233+

* Discuss other items (e.g. throw -> deprecation, proper realpath for subst'ed drives, cache impl) in GH issues.

234+235+

---

236+237+

### v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688)

238+239+

@trott: Please test the RCs.

240+241+

@mhdawson and @jasnell: Building at IBM and not encountered anything.

242+243+

---

244+245+

### build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/issues/7484)

246+247+

@bnoordhuis: Based on @joaocgreis’s comment we can move from 2013 without trouble.

248+249+

@joshgav: @joaocgreis tested against many modules and with CITGM and encountered no problems.

250+251+

@piscisaureus: Can we wait for semver-major?

252+253+

@joshgav: Then we’ll be stuck with 2013 through out v6 LTS.

254+255+

@piscisaureus: Should we make another issue for v6?

256+257+

@jasnell: Let’s get this landed in master and test it out, then make a decision on putting in v6 before October.

258+259+

@trott: Getting pretty close, don’t want to be switching just a month before.

260+261+

**Next steps**:

262+263+

* Merge to master and test.

264+

* Determine in September if we can apply in v6.

265+266+

---

267+268+

### http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102)

269+270+

@chrisdickinson has concerns, @mscdex contacted. No response yet.

271+272+

@Fishrock123: Let’s remove `ctc-agenda` tag for next week.

273+274+

@jasnell: Plenty of discussion, heard from Doug Wilson that it’s a positive change. Would rather not hold up waiting for a response. Would be best to land before v7.

275+276+

@ofrobots: If we are going to change this we should have a plan for if/how we’ll get to maps.

277+278+

@Fishrock123: There are too many people currently depending on this being a regular object.

279+280+

@ofrobots: We shouldn’t break the ecosystem twice. We should target something with maps for v8 or longer timeframe.

281+282+

@Fishrock123: Motivation is ?

283+284+

Some feel we should wait for maps before making a breaking change. Jeremiah feels we should make an effective change now and not wait for an unknown future.

285+286+

@Fishrock123: We’ll need to provide both old and new APIs side by side, and that could be hard to do with maps.

287+288+

@ofrobots: We can delegate old API to a Proxy and add deprecation warnings on that handler.

289+290+

@?: Is Proxy performant enough?

291+292+

@ofrobots: For a deprecated path is it okay to take a performance hit?

293+294+

@evan: Okay with current change proposal (i.e. to not inherit from Object) as long as it’s considered semver-major.

295+296+

@jasnell will work on this.

297+298+

**Next steps**: Decide whether to merge this or wait for maps-based impl.

299+300+

---

301+302+

### nodejs/node-eps proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28)

303+304+

@trott: briefing now, longer discussion next week.

305+306+

@jasnell: Everyone keep reviewing it. Goal is to land as “experimental” in master, doesn’t have to go in v6.

307+308+

@trevnorris: -1 on global `URL` variable.

309+310+

@Fishrock123 also against new globals other than lang features.

311+312+

@jasnell: It’s a global in browsers. It can be removed, it’s in its own commit.

313+314+

**Next steps**: @nodejs/ctc review @jasnell's proposal. Discuss next week.

315+316+

---

317+318+

### doc: @piscisaureus has stepped-down from the CTC [#7969](https://github.com/nodejs/node/pull/7969)

319+320+

@Fishrock123: submit PR to remove @piscisaureus and/or move to Collaborator.

321+322+

---

323+324+

## Q/A on public fora

325+326+

No questions.

327+328+

## Upcoming Meetings

329+330+

* CTC: 2016-08-03

331+

* TSC: 2016-07-28

332+

* Build: 2016-08-07

333+

* LTS: 2016-07-25

334+

* Diagnostics: Sept

335+

* Post-Mortem: August

336+

* API: August