Let's clear it up, once and for all.
3 min read
By Eirik Vigeland
December 1, 2018
ECMA has its origin in the 1960s and the name was at the time the "European Computer Manufacturers Association".
The initiative was started when the need for standarizations appeared because of the growing use of computers. In 1994 the name was changed to ECMA International to reflect an international interest for standarization.
Since its formation, the their mission has been to develop standards of how information systems and technology should be used. Some of these standards include the C# language specification, FAT12/FAT32 file system, Office Open XML and of course ECMAScript.
So TC-39 is a so-called "technical committee" (the 39th) of ECMA.
The people of TC-39 represent some of the biggest companies in tech: Google, Intel, Microsoft and Facebook, to name a few. The committee meets regularly, and the meeting notes are available online.
So how do I propose my cool feature?
- Stage 0 - Strawman: This stage is for proposing features to the specification and no formal criterias are required. A submission to stage 0 has to come from either a member of the committee or a registered contributer.
- Stage 1 - Proposal: To enter stage 1 you first have to get yourself a champion. A champion is a member of TC-39 who is responsible for the proposal. You will also need an outline for the problem, examples of usages, a high-level API, as well as having identified challenges and cross-cutting concerns. The point of this stage is to make a case for why the change should be made to the langauge. In addition, by the time you are finished, you will have to have described a shape of a solution and identified potential challenges.
- Stage 2 - Draft: You will need to be ready with an intial specification text to enter stage 2. At Stage 2 the precise syntax and semantics are described using formal spec language.
- Stage 3 - Candidate: When you have the complete spec text and the designated reviewers have signed off on it you are ready for stage 3. As a candidate the proposal is ready for refinements and feedback from implementations and users.
- Stage 4 - Finished: Congrats, your proposal is now ready to be included in the ECMAScript standard! To get to Stage 4 you will have to defined Test262 acceptance tests. You will also need two compatible implementations that passes acceptance test. The proposal should have in-field experience with shipping and implementations. Lastly, a pull-request has been sent to the ecma262 repository on github with integrated spec text.