Re: [arch-d] deprecating Postel's principle- considered harmful

"Henry S. Thompson" <ht@inf.ed.ac.uk> Wed, 08 May 2019 16:16 UTC

Return-Path: <ht@inf.ed.ac.uk>
X-Original-To: architecture-discuss@ietfa.amsl.com
Delivered-To: architecture-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1C872120155; Wed, 8 May 2019 09:16:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id chsgRDPTu9dk; Wed, 8 May 2019 09:16:44 -0700 (PDT)
Received: from loire.is.ed.ac.uk (loire.is.ed.ac.uk [129.215.16.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7588512015C; Wed, 8 May 2019 09:16:43 -0700 (PDT)
Received: from crunchie.inf.ed.ac.uk (crunchie.inf.ed.ac.uk [129.215.202.41]) by loire.is.ed.ac.uk (8.14.7/8.14.7) with ESMTP id x48GGfm3027259 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 8 May 2019 17:16:41 +0100
Received: from troutbeck.inf.ed.ac.uk (troutbeck.inf.ed.ac.uk [129.215.25.32]) by crunchie.inf.ed.ac.uk (8.14.7/8.14.7) with ESMTP id x48GGd3s015396; Wed, 8 May 2019 17:16:39 +0100
Received: from troutbeck.inf.ed.ac.uk (localhost [127.0.0.1]) by troutbeck.inf.ed.ac.uk (8.14.7/8.14.7) with ESMTP id x48GGexv029473; Wed, 8 May 2019 17:16:40 +0100
Received: (from ht@localhost) by troutbeck.inf.ed.ac.uk (8.14.7/8.14.7/Submit) id x48GGdPH029472; Wed, 8 May 2019 17:16:39 +0100
X-Authentication-Warning: troutbeck.inf.ed.ac.uk: ht set sender to ht@inf.ed.ac.uk using -f
To: Paul Wouters <paul@nohats.ca>
Cc: ietf@nohats.ca, "iab@iab.org" <iab@iab.org>, "architecture-discuss@ietf.org" <architecture-discuss@ietf.org>, The IESG <iesg@ietf.org>
References: <F64C10EAA68C8044B33656FA214632C89F024CD3@MISOUT7MSGUSRDE.ITServices.sbc.com> <CALaySJJDHg5j9Z7+noS=YXoNROqdsbJ6coEECtLtbJ6fWJ3xsQ@mail.gmail.com> <53a9c16c-163c-a18a-371a-f8aa8697af15@cs.tcd.ie> <20190507215332.GA31547@gsp.org> <alpine.LRH.2.21.1905072123580.8852@bofh.nohats.ca>
From: "Henry S. Thompson" <ht@inf.ed.ac.uk>
Date: Wed, 08 May 2019 17:16:39 +0100
In-Reply-To: <alpine.LRH.2.21.1905072123580.8852@bofh.nohats.ca> (Paul Wouters's message of "Tue\, 7 May 2019 22\:06\:04 -0400 \(EDT\)")
Message-ID: <f5b8svg53bs.fsf@troutbeck.inf.ed.ac.uk>
User-Agent: Gnus/5.1012 (Gnus v5.10.12) XEmacs/21.5-b34 (linux)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Edinburgh-Scanned: at loire.is.ed.ac.uk with MIMEDefang 2.84, Sophie, Sophos Anti-Virus, Clam AntiVirus
X-Scanned-By: MIMEDefang 2.84 on 129.215.16.10
Archived-At: <https://mailarchive.ietf.org/arch/msg/architecture-discuss/UEio_fmkxDR8Uj4njD5ajb2e_DA>
Subject: Re: [arch-d] deprecating Postel's principle- considered harmful
X-BeenThere: architecture-discuss@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: open discussion forum for long/wide-range architectural issues <architecture-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/architecture-discuss>, <mailto:architecture-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/architecture-discuss/>
List-Post: <mailto:architecture-discuss@ietf.org>
List-Help: <mailto:architecture-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/architecture-discuss>, <mailto:architecture-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 May 2019 16:16:48 -0000

Paul Wouters writes:

> ...
> The problem is not the Postel principle. The problem is that we have "too
> big to fail" implementations

A historical example may illustrate how high the (organisational) stakes
can be.

The W3C lost control of HTML as a result of a decision, late in the last
century, to commit to XML as the basis for the successor of HTML4 (for
the W3C's own account of this, see [1]).

The 'too big to fail' implementations in this case were initially those
of Apple, Mozilla, and Opera, with Google joining in a bit later.
Different aspects of XHTML2 (the proposed XML-based successor to HTML
4.01 and XHTML1.0) were problems for different constituencies and to
different degrees, but what its opponents regularly cited as XML's
insistence on a "halt and catch fire" approach to ill-formed documents
was the one that was argued with perhaps the most bitterness.

Postel's 'law' was regularly invoked in arguments against the XML
approach, and it lives on in the current version of what is now called
the "Living Standard" of HTML5, as published by the W3C, where we find,
_inter alia_, in the section entitled *Conformance requirements for
authors":

  "Unlike previous versions of the HTML specification, this
   specification defines in some detail the required processing for
   invalid documents as well as valid documents." [2]

One way of understanding the dynamic behind the transfer of effective
ownership of HTML from the W3C to the WHATWG (a quasi-consortium of
Apple, Mozilla, Opera and Google) is as a replay of (the mythology of)
the foundation of the W3C itself, namely, that back in 1988 Microsoft
and Netscape needed a way of managing HTML development that didn't
violate the anti-trust rules.  In the early part of this century, a
major part of browser interop problems lay in the area of error
recovery.  The W3C's XML-based approach was intended to solve this by
"cleaning up the Web":  XHTML2, by being XML, would require strict
enforcement of well-formedness and encourage strict enforcement of
validity.

The browser vendors, in contrast, were terrified of the cost of
increased support calls they predicted would arise, and preferred a
solution sometimes described using the phrase "paving the cow paths",
that is, standardising error recovery.  [see below at **]

The result is a 1069-page-long standard with no BNF or any other form of
concise grammar.  There are 11 pages of prose describing the low-level
'syntax' (angle-brackets and equal signs), and 100 pages of prose
describing the generic parsing _process_, including, of course, error
recovery. And there are just under 500 pages of prose describing, for
every allowed element, how to process its serialisation in detail,
including error recovery.

Would we have been better off with XHTML2?  Not in the short term, I
don't think.  But by now?  How can we know?  But, as Berners-Lee is fond
of saying, "The future is longer than the past"...  We will keep paying
the cost of the lack of incentives to clean up the Web for a long time...

ht

[1] https://www.w3.org/TR/html5/introduction.html#introduction-history
[2] https://www.w3.org/TR/html5/introduction.html#conformance-requirements-for-authors

** John Klensin's recent post arrived after I had written this.  I think
his description of "the first option" is perfectly borne out by what
I've described above:

> -- trying to specify every possible detail so that an
> implementer knows what to do in every case and for every design
> choice, including what is supposed to be done about each variety
> of deviation from the standard by others.

> ...

> We know a few things about [this option].  It causes the standards
> development process to take much longer than [the alternative].
> Because standards designers are not infallible, it is prone to errors,
> errors that could make the standard completely unworkable.  For [HTML,
> it was only possible because] there are complete and deployed
> implementations around that [could] be examined and analyzed ... in
> combination, in [building] the standards.
-- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                       URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.