最近、一部メディアで「HTML5が分裂した」との報道が流れました(例えば、米国の技術系ニュースサイト「TechCrunch」の記事)。最新のWeb技術を開発する業界団体「WHATWG(Web Hypertext Application Technology Working Group)」と、Web技術の標準化団体「World Wide Web Consortium(W3C)」が標準化作業で分裂し、WHATWGの「Living Standard版」とW3Cの「Snapshot版」に分かれて規格化が行われるというのです。WHATWGはちなみに、米Apple社やMozilla Foundation、ノルウェーOpera Software社などが参加する団体です。

 「HTML5が分裂した」と騒がれたのは、WHATWGとW3Cの両方のエディタをしていたIan Hickson氏が、2012年7月19日にW3Cのメーリング・リストに「Update on the relationship between the WHATWG HTML living standard and the W3C HTML5 specification」と題するメールを送信し、その中に読み方によっては分裂したと解釈できなくもない表現があったためです(Ian Hickson氏のメール)。具体的には、バグ・データベースをWHATWGとW3Cで「分けた(fork)」とか、WHATWGの仕様を「WHATWG HTML living standard」と名付け、W3Cの標準を「Snapshot」と呼んだりした点が誤解を生んでいます。

 ただ実際には、「分裂」という表現は、正しくありません。W3CでHTML-WG Activity Leadを務めるMichael Smith氏と話す機会がたまたまあったのですが、同氏によれば「WHATWGで標準化作業がされることはない」とのこと。

 WHATWGが考えているのは、Web技術の進化を加速させることです。Smith氏によればWHATWGでは仕様を決める際、電話会議やFace to Faceのミーティングなどはせず、チャットとメーリング・リストで決定するそうです。トライ・アンド・エラーでどんどん必要と思われるものを実装していくという方針です。これは新しいものを作り出すには向いている方法でしょう。

 一方、W3Cはまさに標準化を行います。議論に参加する技術者の合意を得るため、一字一句確認し、地道な(スミス氏は「退屈な」とおっしゃっていました)議論やバグ潰しの作業を行います。また、標準になる条件として2種類以上のWebブラウザーでの実装がされていること、それらのWebブラウザーで動作検証用コードが確実に動作することなどを確認する必要があります。つまり、最新のものを作り出すのではなく、どんなWebブラウザーでも確実に動作するものを決めていこうとしているわけです。

 「一部のWebブラウザーにしか搭載されないけれども、新しい機能がどんどん提案され、実装されていくWHATWG」と「全Webブラウザーに共通で必要になるものを規定するW3C」。この立場の違いが分かれば、“分裂”という表現は少し違っているというのを理解いただけるのではないでしょうか。しかも、WHATWGで仕様作りをしているメンバーおよびメンバー企業、W3Cの標準作りをするメンバーおよびメンバー企業は、かなりの部分重なっています。

 W3Cは、Web開発者にとってメリットがあり、さまざまなWebブラウザーでの実装が進むのであれば、WHATWGの成果を取り込みます。逆にWHATWGで決められた仕様の中で、標準として取り込む必要のないものは、採用しないという方針です。Smith氏は「WHATWGで先行的に開発し、その中で必要なものを標準として取り込むという運営の仕方は、(2004年に)WHATWGが結成されたときから変わっていないし、これからも同じ」とおっしゃっていました。その通りなのだと思います。