XMLtoday 3 People
XMLtoday 3 People

The (Inevitable) Forking of HTML – I have been, over the years, to quite a few weddings over the years, enough so that, as I watch the bride and groom kiss, I’ve developed a pretty good sense about whether “I DO” will eventually become “I DON’T”.

Most of the time the signs can be seen at the ceremony itself – how do the families interact, does the couple take one another for granted, do the wedding vows sound more like a divorce settlement in advance. You just know, as you watch the happy couple drive off to their honeymoon, that there’s a future of litigation and visitation arguments in the making.

I learned Today on XMLtoday

I learned today that Ian Hickson, a.k.a. Hixie, has resigned as editor of the W3C HTML 5 specification (and perhaps the W3C altogether – not quite sure on that one) in order to go back to the WHATWG organization to create “HTML, The Living Document”. That this has happened is no real surprise.

There’s something of a “He said, she said” argument here, but if I were to summarize Hixie’s position it was “The W3C moved too slowly and in the wrong direction on HTML, so the pioneers of the WHATWG went off and created the Next, New, Exciting HTML (TM) specification that incorporated what they thought was right and good in the web world (a strong dependency on Javascript, the elimination of XML from the language, the addition of many new elements that was designed to make HTML more document-like, more extensive media support, and so forth).

The W3C then came along, saw what Hixie and Super Friends were doing, and in a fit of jealousy demanded that Hixie do his work under the auspices of the W3C).

Reluctantly, Hixie agreed, and then the process ground down to a halt as all of the bureaucrats and second rankers at the W3C and elsewhere descended upon the project, forcing Hixie to add in things like RDFa, standardizations on date formats, accessibility standards, and other “features” that Hixie felt sullied the pureness of his vision for the web. So, finally (and reluctantly) he went back to the WHATWG and declared that it, and only it, represented the one true way.

The W3C, on the other hand, has a rather different perspective

HTML was in fact their intellectual property – the organization holds the licenses to the specification, and until the WHATWG effort, had been the primary developers of the language. Ian Hickson was made the editor of the specification, and things then started to go off the rails.

When the WHATWG effort began, the W3C did (eventually) assert the fact that this was not WHATWG’s specification to change, and that if HTML was going to be advanced, it needed to be done as a community effort, because such an effort more accurately reflected the global consensus for a global standard.

The W3C is very clear on this definition

One of the key philosophical differences between the two organizations is the question of what exactly constitutes a standard. A standard is a stable set of specifications that define the behavior of a given language so that vendors, developers and businesses can all code to the same language.

It recognizes that standards can change, but that it is necessary to establish benchmarks and versions so that developers are not coding against shifting APIs. If a need for a new version exists then the old version is frozen and work begins to institute changes and (hopefully) improvements on a new fork, as well as to regress concepts that don’t work. Such standards are not perfect, but they are good enough.

Ian’s (and by extension, WHATWG’s)

Vision was that HTML was a living document that could be updated at any time, based primarily upon the decisions of the WHATWG members, many of whom are (or were) representatives of specific browser vendors.

Now, living documents are great for some things – the objectives of a company, for instance, or histories, or collaborative works of fiction. However, a living document is by definition unstable – it changes over time in a seemingly random, unpredictable way, especially if you haven’t been following the local politics.

The concept of a living document is incompatible with the notion of standards – they are mutually exclusive. And this is the reason why it was inevitable that the day would come when Ian and the W3C parted ways.

I won’t get into the acrimony here, other than to say that there are as many people in the W3C to see Hixie go as there are in WHATWG who are happy to be gone. The real question comes down to what happens with the children.

The HTML “specification” itself is now in question – like twins that started out identical but over the years began to develop their own personality traits and quirks, HTML now comes in two flavors, W3C and WHATWG.

Several months ago, a new working group was chartered – the HTML.next group – that will take over the HTML development process on the W3C side once HTML5 becomes formalized. HTML5 will likely bear a fairly strong resemblance to the WHATWG version because the work is done and a (grudging) consensus has emerged that it is workable, if problematic.

Given that the W3C itself tends to have a mark of imprimature and legitimacy with world standards organizations, corporations and universities that extends well beyond that of WHATWG it is almost certain that the HTML.next efforts will in fact be seen as the de facto standards process.

WHATWG, on the other hand, will likely be seen as a test bed for ideas (which is what it always should have been).

Over time, it is likely that the WHATWG HTML-TLD (don’t you love the TLAs?!) will fork far enough from HTML.next as to be incompatible. In practice this means that this or that vendor will develop features that aren’t used elsewhere, and browser vendors will choose to support or not support those features as being “experimental”.

If a consensus emerges that such a feature is good, it’s likely that it will then end up in the HTML.next process. Note that this isn’t necessarily a bad arrangement – in effect WHATWG becomes an architectural proof of concept.

If features are developed that look to be useful and are gaining a strong degree of uptick among the various vendors, then they can be migrated into the W3C standard. This POC mentality also helps to eliminate a real problem with standards – a tendency to want to innovate through standardization.

Innovation by definition means the breaking out of a standard approach to try something in a new manner, and the W3C has in general tended to fare worst with such innovative standards (SVG and XForms being two notable examples, for all that I like both languages).

This also lets Ian Hickson be what he is – undeniably one of the most brilliant software architects of his generation – while acknowledging tacitly that brilliant architects tend, in general, to be poor managers, precisely because management is ultimately about getting projects done, communicating with the people who make that software possible and achieving consensus among stakeholders – all characteristics that are at odds with the spirit of creativity and pushing the boundaries that are intrinsic properties of good architects.

There will, no doubt, be a great deal of acrimony and vitriol coming from both sides in the next few months, but I personally feel that this may in fact be a far more workable arrangement than the troubled tenure of Hixie at the W3C.

This period, for all the pain, has helped to crystallize both internally and externally what the W3C’s mission is (and isn’t), and for all its warts has led to a good foundation for new development of HTML moving forward while still keeping into the business realities of the need to publish to extant APIs.