The WHATWG Blog

Please leave your sense of logic at the door, thanks!

Staged proposals at the WHATWG

by Domenic Denicola in WHATWG

The WHATWG's living standards incorporate new features on an ongoing basis. The default process is to propose an idea on the relevant standard's issue tracker, hash out the details and gather implementer interest, and then work together with the editors to land a pull request.

However, we've found that for larger features, or for community members less experienced with standards contributions, sometimes this lightweight process does not give enough guidance. It can be tricky to attract attention to one's proposal, or to get the clear signals from implementers that are necessary to land changes.

Inspired by other working groups, most notably the TC39 group that defines the JavaScript language, the WHATWG community has established a new, optional Stages process for additions to WHATWG standards. Features can proceed from stage 0, where they just consist of a problem description, through to stage 4, when the feature has fully landed in the relevant living standard. Each stage requires increasing levels of community consensus, including from implementers and from the standard's editors. This gives the proposer, as well as the community, a better idea of a feature's progress towards being considered an accepted part of the web platform.

We've now had the Stages process for over a year. As of today, one proposal, the node.moveBefore() atomic move operation, has advanced to stage 4; one, for the customizable <select> element, has advanced to stage 3; and six others are in stages 2 and 1 combined. These numbers might not seem that high, but remember that the stages process is optional: we've landed many other proposals via the usual pull request process. We're happy with the balance we've achieved so far, with certain complex proposals using the stages process while other proceed directly to a pull request.

For more information on the Stages process, including its motivation, mechanics, and each stage's entrance criteria, see its dedicated page. Readers may also enjoy reading our discussion about how TC39 stages and WHATWG stages differ, in light of the groups' different working modes.

Finally, we'd like to thank Chris Harrelson for proposing the idea of a stages process in the first place, Chris Wilson for writing up the process, and TC39 for providing a useful model to follow.

Leave a Reply