Standards vs specifications
Lassi Kortela 26 Sep 2019 21:24 UTC
> Tl;dr: standards are not specs, and for reasons.
>
> I think your discussion misunderstands what a standard is, and it's not
> what people often think. A standard, as distinct from a spec, is a
> contract for arms-length communication between mutually suspicious parties
> of roughly equal market power that spells out what each party can and
> cannot rely on. Let me say that again, parsed, because every phrase
> matters.
Your summary of standards is excellent. I was under the impression that
we've been talking about specifications all this time. The overarching
point I've been trying to make today is that we don't have the political
clout to create standards with the kind of force you explain.
ASN.1 is stewarded by big standards organizations, but I'm not quite
sure how those organizations are more relevant in our particular niche
than specifications with less industrial backing. Indeed, even many
major companies are quite enthusiastic about informal specifications
today. Non-standard programming languages and web tech abound. Even Git
and Linux are not standard, and a gazillion dollars are tied to those.
My general impression is that it's mostly companies that make physical
objects (such as your credit card example), or deal with grave loss of
life/limb/property (investment/insurance/banks/hospitals/aerospace),
that are really enthusiastic about standards in the traditional sense.
> Indeed, Postel's Law ("Be liberal in what you
> accept, conservative in what you send") when correctly interpreted says
> that malformed input *should* be rejected. The law is about not *crashing*
> when you receive bad input, not about accepting invalid packets or
> incorrectly encoded strings or whatever. See <
> https://tools.ietf.org/html/rfc1122#section-1.2.2> for a more specific
> explanation. Indeed, the whole of 1.2 is very informative.
That was a great read. Indeed, as you say it talks about coping with the
unexpected, not necessarily honoring it. But as HTML shows, people who
honor unreasonable requests are going to be more popular than people who
are strict. The best thing is to design a format (in the strict sense
discussed today) that makes it easier to encode data in a reasonable
manner than in an unreasonable manner.