Re: [Json] Encoding detection (Was: Re: JSON: remove gap between Ecma-404 and IETF draft)

John Cowan <cowan@mercury.ccil.org> Thu, 21 November 2013 16:56 UTC

Return-Path: <cowan@ccil.org>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AA3BE1AE1D9 for <json@ietfa.amsl.com>; Thu, 21 Nov 2013 08:56:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.125
X-Spam-Level:
X-Spam-Status: No, score=-3.125 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.525] autolearn=ham
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 YbcNmOqVyYUH for <json@ietfa.amsl.com>; Thu, 21 Nov 2013 08:56:32 -0800 (PST)
Received: from earth.ccil.org (earth.ccil.org [192.190.237.11]) by ietfa.amsl.com (Postfix) with ESMTP id B9B371AE1D3 for <json@ietf.org>; Thu, 21 Nov 2013 08:56:32 -0800 (PST)
Received: from cowan by earth.ccil.org with local (Exim 4.72) (envelope-from <cowan@ccil.org>) id 1VjXY7-0002Y8-4B; Thu, 21 Nov 2013 11:56:15 -0500
Date: Thu, 21 Nov 2013 11:56:15 -0500
From: John Cowan <cowan@mercury.ccil.org>
To: Henri Sivonen <hsivonen@hsivonen.fi>
Message-ID: <20131121165615.GA12138@mercury.ccil.org>
References: <8413609C8A86497F856897AF2AA24960@codalogic> <CEAA3067.2D132%jhildebr@cisco.com> <CANXqsRJEtBoprQFrftz80ZigmBR_NHoEXK1sR4GyBtz5B2KC8Q@mail.gmail.com> <20131120223305.GB5476@mercury.ccil.org> <CANXqsRJmNmSRXssBnw3tGUt0veViENLoS=dp+gEr2RqvNAf4JQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CANXqsRJmNmSRXssBnw3tGUt0veViENLoS=dp+gEr2RqvNAf4JQ@mail.gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Sender: John Cowan <cowan@ccil.org>
Cc: Pete Cordell <petejson@codalogic.com>, Paul Hoffman <paul.hoffman@vpnc.org>, JSON WG <json@ietf.org>, "Joe Hildebrand (jhildebr)" <jhildebr@cisco.com>, "www-tag@w3.org" <www-tag@w3.org>, es-discuss <es-discuss@mozilla.org>
Subject: Re: [Json] Encoding detection (Was: Re: JSON: remove gap between Ecma-404 and IETF draft)
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Nov 2013 16:56:35 -0000

Henri Sivonen scripsit:

> Why not? Surely existing still deployed producers should be what
> matters when deciding what needs to be ingested--not previous specs.
> That is, compatibility should be considered in terms of what's out
> there--not in terms of what unreasonable things were written down in a
> previous RFC.

In principle, maybe.  But testing a dozen browsers isn't enough here.
We simply don't know how much non-browser traffic involves JSON (though
we know there are many such interactions), or what representations they
are using.  We have therefore decided in the 4627bis effort not to say
that anything that was previously valid is now invalid.  At least, that
is what I understand us to be doing.

> UTF-32 harms JSON interchange, because Gecko removed all UTF-32
> support throughout the engine (other engines probably did, too, but
> I'm too busy to check) and, therefore, XHR responseType = "json"
> doesn't support UTF-32.

That has about as much weight as "XYZ implementation only supports
ASCII, so the use of non-ASCII characters harms JSON interchange" or "ABC
implementation only supports 32-bit integers, so the use of decimal points
harms JSON interchange."  An implementation's self-imposed limitations
don't affect the standard.

-- 
John Cowan            http://www.ccil.org/~cowan     cowan@ccil.org
                if if = then then then = else else else = if;