Re: [Json] Nudging the English-language vs. formalisms discussion forward

Nico Williams <> Wed, 19 February 2014 17:20 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id D61FC1A0249 for <>; Wed, 19 Feb 2014 09:20:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.778
X-Spam-Status: No, score=-0.778 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, J_CHICKENPOX_44=0.6, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id n18MIRPL_cyS for <>; Wed, 19 Feb 2014 09:20:12 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 3494D1A0241 for <>; Wed, 19 Feb 2014 09:20:12 -0800 (PST)
Received: from (localhost []) by (Postfix) with ESMTP id C701A778082 for <>; Wed, 19 Feb 2014 09:20:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed;; h= mime-version:in-reply-to:references:date:message-id:subject:from :to:cc:content-type:content-transfer-encoding; s=; bh=+0lUpLsQEICxtk+wJ9DqviSODWM=; b=F+HoKovTPr3 I3aKphCUlApXDgVoqCYcLasDoeQcf8JrOVrbKGQcznTWGA2kMAcRcGI3N8FSvjB+ bW7QB6qPHBcyq1e4YkDDc19moJSwGykECdsUScm5HTWpM6yPUOFnv6sg4VzS/CHu yJM9tgK3kQrneLngUAmtn67K2RliwS6A=
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id 66BD1778077 for <>; Wed, 19 Feb 2014 09:20:06 -0800 (PST)
Received: by with SMTP id e4so4950770wiv.5 for <>; Wed, 19 Feb 2014 09:20:03 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=SOmBjzFIijnjOa3mBMobZZtXr/Pj2LeGDQDOjFN+xWI=; b=SR7AJfb+/3zvKdd6UkXY9Qqo5CsKEncgwpCOqDrEtHGB7aifcDdJiGdS+qCSbc4rop ADJURhjNH9l2NZw/lyQfNZTIbkqV98Q5Tt4rOtBl1qLbFQXaKUboBW/SQ1wKkdNf8Uvw v9g22FVWPNzS3ViT3g190GuAWTKeQY7thSQ+iBGZCpIUw8/YvuPJbjS37AVDfDD+clkc vkTBbMDO9wtQga4euYXZp0R2THjSCrA2LqIcTZgtsSUtUaBK2s8eCzPBhe7CWH1WiQuW axyyBspBdvtshXnl17zoS4uN2gU1o3+4QLyyTfUW1Pw1BH0Qibe53hEYPPNwd9PYk4DG mR2A==
MIME-Version: 1.0
X-Received: by with SMTP id ef3mr2597771wib.39.1392830403980; Wed, 19 Feb 2014 09:20:03 -0800 (PST)
Received: by with HTTP; Wed, 19 Feb 2014 09:20:03 -0800 (PST)
In-Reply-To: <>
References: <> <> <>
Date: Wed, 19 Feb 2014 11:20:03 -0600
Message-ID: <>
From: Nico Williams <>
To: Tim Bray <>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Cc: Phillip Hallam-Baker <>, Paul Hoffman <>, JSON WG <>
Subject: Re: [Json] Nudging the English-language vs. formalisms discussion forward
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 19 Feb 2014 17:20:14 -0000

On Wed, Feb 19, 2014 at 10:05 AM, Tim Bray <> wrote:

> This is why I deplored the recent (but vanishing, thank goodness) trend to
> offer APIs in XML-or-JSON-take-your-pick.

First this objection: indeed, no one should want that.  The only such
conversion that makes sense is JSON->HTML for BUIs, and that should
happen mostly on the client side (except for dumb clients, if the
service wants to reach them).

Even if the conversion can be completely automatic.  Why would anyone
want to burn cycles/energy running such conversions (except perhaps
for the JSON->HTML for dumb clients case)?

> I feel that successful Internet interoperation is achieved at the level of
> syntax; clear specification of which bytes should be sent and which
> returned.  Many times over the years I’ve heard assertions that if you get
> the data model right, then the syntax is ephemeral: JSON or XML or ASN.1,
> who cares? I’ve never found that notion remotely plausible, as there always
> impedence mismatches.  You end up having to fight over another syntax to
> describe the model before you can fight about the syntax you’re going to
> send over the wire.

The syntax is no more ephemeral than the RFC is (where there's an RFC).

Sometimes there's just no need for an RFC.  Most services out there
that define HTTP+JSON APIs don't bother publishing I-Ds for them, much
less RFCs, _even when then promise API stability_.  Yet even then,
syntax can help others implement clients for those APIs -- that's the
point of publishing an API: to help others implement clients for them,
to increase the popularity of the service.

> So, I find Phil’s arguments here (as with most schema-centric arguments)
> entirely unpersuasive.

Phil proposed that conversions to ASN.1 be feasible to please certain
people, not to allow services to serve JSON-or-DER or anything of the
sort.  Your argument about the latter is therefore a non-sequitur.

My proposal is that the WG take all comers for JSON schema languages
as Informational and leave it at that (well, all proposals for which
there's enough authors and reviewers, enough interest).  That can't
even be an irritant for you: you can ignore them...

...unless you think that formal languages used by others will impair
your ability to understand their specs, unless you really prefer
English prose to the max.  That'd be an argument I'd want to hear, if
you were making it.  I'm prepared to buy into a strong such argument,
even though you can probably tell that biased in favor of simple
schema languages.