Differences between the W3C and WHATWG specifications

On 06/11/2010 09:53 AM, Julian Reschke wrote:
>
> Optimally, we wouldn't need to have this conversation, thus, both specs
> should be the same, or even better, there was only one spec.
>
> That being said:
>
> The W3C copy still says:
>
> "The latest stable version of the editor's draft of this specification
> is always available on the W3C CVS server and in the WHATWG Subversion
> repository. The latest editor's working copy (which may contain
> unfinished text in the process of being prepared) contains the latest
> draft text of this specification (amongst others). For more details,
> please see the WHATWG FAQ."
>
> The link "latest editor's working copy" takes me to:
>
> <http://www.whatwg.org/specs/web-apps/current-work/complete.html> (do
> not follow this link with Firefox unless you're *very* patient)
>
> *That* document has a section 1.1 "Is this HTML5"
> (<http://www.whatwg.org/specs/web-apps/current-work/complete.html#is-this-html5?>),
> which says:
>
> "This section is non-normative.
>
> No, although it does contain everything that is part of HTML5. If you
> want only HTML5, please see the HTML specification.
>
> This specification contains everything that the WHATWG is actively
> working on. For more details, please see the the relevant FAQ entry."
>
> where "HTML specification" links to
> <http://www.whatwg.org/specs/web-apps/current-work/multipage/> (why not
> link there directly???).
>
> Anyway; *that* document is titled
>
> "HTML5 (including next generation additions still in development)"
>
> which contains stuff like @ping and the Atom conversion, which the HTML
> WG has decided to drop.
>
> All this confusion could be avoided by either not linking there in the
> first place (something the W3C team can decide), or to openly say "this
> document also contains stuff the W3C didn't want, but the WHATWG wants
> to keep". Claiming these parts are "next generation additions" is
> misleading.

In order to take a look at the specific differences, I wrote a simple 
script[1] to isolate these differences.  Looking at the spec source[2], 
it appears that "html" is used to identify the WHATWG content, and 
"w3c-html" is used to identify the W3C content.  I may have gotten this 
wrong, and there may be bugs in my script.  Feedback welcome.

In order to assist in analysis, the script outputs headers for the 
sections containing differences, and elides the interior of lengthy 
blocks, the longest being 3371, 2026, and 954 lines.

Relating to the Atom section, I find:

  * The W3C draft states: "For an exact list of differences, please
    see the WHATWG specification".

  * The WHATWG draft states: "For all intents and purposes, however,
    the W3C HTML specifications and this specification are equivalent"

  * The Atom section is not listed in either the list of "minor"
    differences, nor is it listed in the features that are
    considered part of the next generation of HTML beyond HTML5.

I'll also note that there was absolute consensus (as in no 
objections)[3] to drop this feature from HTML5.

This is not the only problem.  Three examples: WebSRT is an example of a 
difference not listed, ping attribute is an example of a difference not 
listed, and MIMESNIFF is not listed as being previously being considered 
a part of HTML5 but now being published separately.  I don not 
understand why a reference to WCAG is omitted from the WHATWG spec (by 
contrast, I note that there is a reference to CHARMOD)..

To assist others in identifying additional differences:
   [4] contains the intro sections
   [5] contains a list of headers for sections containing differences
   [6] contains the [sometimes elided] differences after the intro

My conclusions are that the differences listed are not exact, the 
specifications are not equivalent, and the differences are not minor.

- Sam Ruby

[1] http://intertwingly.net/stories/2010/06/12/specdiffs.rb
[2] http://www.whatwg.org/specs/web-apps/current-work/source
[3] http://lists.w3.org/Archives/Public/public-html/2010Jun/0000.html
[4] http://intertwingly.net/stories/2010/06/12/introdiffs.txt
[5] http://intertwingly.net/stories/2010/06/12/headers.txt
[6] http://intertwingly.net/stories/2010/06/12/specdiffs.txt

Received on Saturday, 12 June 2010 09:56:21 UTC