[Python-ideas] JS’ governance model is worth inspecting

James Lu jamtlu at gmail.com
Thu Sep 20 21:56:30 EDT 2018

JS’ decisions are made by a body known as TC39, a fairly/very small group of JS implementers.

First, JS has an easy and widely supported way to modify the language for yourself: Babel. Babel transpires your JS to older JS, which is then run.

You can publish your language modification on the JS package manager, npm. 

When a feature is being considered for inclusion in mainline JS, the proposal must first gain a champion (represented by 🚀)that is a member of TC-39. The guidelines say that the proposal’s features should already have found use in the community. Then it moves through three stages, and the champion must think the proposal is ready for the next stage before it can move on. I’m hazy on what the criterion for each of the three stages is. The fourth stage is approved.

I believe the global TC39 committee meets regularly in person, and at those meetings, proposals can advance stages- these meetings are frequent enough for the process to be fast and slow enough that people can have the time to try out a feature before it becomes main line JS. Meeting notes are made public.

The language and its future features are discussed on ESDiscuss.org, which is surprisingly filled with quality and respectful discussion, largely from experts in the JavaScript language. 

I’m fairly hazy on the details, this is just the summary off the top of my head.

I’m not saying this should be Python’s governance model, just to keep JS’ in mind. 

More information about the Python-ideas mailing list