Anne van Kesteren

W3C TPAC: Process

Apart from copyright, one of my main issues with the W3C is its Process. Put simply, I think the W3C Process optimises for lawyers over all other constituencies.

What is often referred to as “more stable”, is usually a version of a specification with known bugs. The latest W3C Recommendation for the node-related bits of the DOM, is DOM Level 3 Core. What implementors and developers are mostly interested in, however, is the DOM Standard. The latter defines that getAttribute() can return null, that there is now a remove() method, that mutation events are a concept of the past and that mutation observers are here to stay, etc. As far as getting interoperable implementations goes, DOM Level 3 Core is useless.

Producing a “more stable” specification typically conflicts with working on new features. More concretely, it does not reflect how software is developed. Software is typically developed in tandem with the specification, both influencing each other as time goes on, and both ever evolving. The waterfall model is fiction, but effectively dictated by the Process.

The Process encourages undefining features if they cannot be implemented interoperably within a certain timeframe even if all the players agree they want the feature. It introduces make work to move these definitions elsewhere (e.g. the next Level in CSS).

The Process does not allow referencing potentially unstable external definitions, such as how to process a CSS <color> value or as it turns out, a URL, despite the W3C constantly arguing for and promoting modular development. Instead, if an external modular concept is “unstable”, one is encouraged to either copy the text or refer to a dated version, rather than accept it can evolve over time. The problem this gives is that e.g. CSS and HTML end up with a different notion of what a URL means (in their respective “more stable” specifications). That is not what I call modular, I call that plain wrong.

Above all though, the constraints the Process puts on people doing the technical work, to create “more stable” versions of their work alongside hoping to maintain the latest and greatest, are the worst aspect of it. A time sink. I am in this game to make the web a better a place, not to suit its documentation to lawyers.

(Since last year the AB (W3C Advisory Board; advises the W3C Team and AC (W3C Advisory Committee; W3C’s mostly private power club, comprised of all Members (W3C Members; comprised of Google, Canon, Opera, KDDI, and everyone else who was willing to put up a few bucks)), and edits the Process document) has made some noise regarding improving these matters, but nothing concrete has come out of it thus far. The preliminary proposals (not sure if public) also still contain make work for people doing the technical work.)