SS: Change proposals need to take backwards compatibility into account. So decisions that were made at the beginning still need to be preserved.
DE: There’s a 4-stage process. Stage 1 is when something is under discussion. We’ve presented a problem statement and an initial solution that the champion group, the equivalent of a project manager, is working toward.
And then, once you’ve carried out multiple implementations and tests, it’s ready for stage 4 and we can say it’s part of the standard.
Each one of these stage advancements is agreed on by the committee.
What is the frequency of the releases by TC39?
DE: In theory it’s once a year, but really it’s a continuous process. On the TC39 website, we maintain the current draft specification, and I think that’s what people should reference, because we only land things that are already at stage 4. I think releases make more sense as a concept for browsers, Node.js, or these other engines. With these standards, we’re trying to coordinate the whole ecosystem, so it’s kind of more amorphous.
What is the latest proposal you’ve worked on with TC39?
DE: In TC39 we use the term “good faith” a lot, which is just the idea that when somebody is talking about something, we should all assume the best intentions and try to move forward. I really do think that everyone in the committee makes a strong personal effort to do this. I feel like the incentives are well aligned so we can only do things if they’re actually for the good of the ecosystem. The consensus process and the TC39 instructor keeps us honest.
Also, as a language that is frequently sent over a network in source form, as opposed to compiled at a separate stage, standardization is even more important, because you really have to make sure that it’s handled well at that other network endpoint.
But I feel like there’s a lot of movement toward positively working together and talking openly about things. And now with the OpenJS Foundation, we’ve been getting more and more people from Node.js participating in TC39. And it’s been really positive to get lots of people so that we can get the whole spectrum of opinions, such as about the module attributes proposal that Sven was talking about. We had people on the committee claiming opposite things about what Node.js thought about the proposal and that’s the dynamic that we’re just going to have to keep working with.
This interview has been edited for space and clarity.
This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!
Want to contribute? Get published!
Follow us on Twitter to stay tuned!
Illustration by Catherine Pearson
Tech Editor @ WTTJ
- Add to favorites
- Share on Twitter
- Share on Facebook
- Share on LinkedIn