Re: [Json] I-D Action: draft-ietf-jsonbis-rfc7159bis-04.txt

Pete Cordell <> Fri, 21 July 2017 21:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 292801241FC for <>; Fri, 21 Jul 2017 14:43:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.919
X-Spam-Status: No, score=-0.919 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RDNS_DYNAMIC=0.982, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Bf1tXnoMYc3z for <>; Fri, 21 Jul 2017 14:43:28 -0700 (PDT)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id EA2C71201F2 for <>; Fri, 21 Jul 2017 14:43:27 -0700 (PDT)
Received: (qmail 22122 invoked from network); 21 Jul 2017 22:35:10 +0100
Received: from (HELO ? ( by with ESMTPSA (DHE-RSA-AES128-SHA encrypted, authenticated); 21 Jul 2017 22:35:10 +0100
To: Carsten Bormann <>
Cc: Julian Reschke <>,
References: <> <> <> <> <> <> <> <> <> <>
From: Pete Cordell <>
Message-ID: <>
Date: Fri, 21 Jul 2017 22:43:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 8bit
Archived-At: <>
Subject: Re: [Json] I-D Action: draft-ietf-jsonbis-rfc7159bis-04.txt
X-Mailman-Version: 2.1.22
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: Fri, 21 Jul 2017 21:43:30 -0000

On 21/07/2017 14:35, Carsten Bormann wrote:
> On Jul 21, 2017, at 10:27, Pete Cordell <> wrote:
>> Good point.  How about:
>>      IETF-specified protocols and media associated with the
>>      application/json media type, MUST encode JSON text using UTF-8
>>      [RFC3629].
> This is not about the IETF.
> If I buy a Mercedes, I want to get a car built by Daimler-Benz.
> If people send me JSON, I want to get JSON (the UTF-8 form that everyone uses).
> Now, there are other areas where, say, Mercedes is a woman’s name.  There might even be a restaurant called “Mercedes’ kitchen".  The objective cannot be that women or their restaurants no longer be called Mercedes (that the use of UTF-16 encoded JSON in C# or JavaScript becomes illegal).  It’s just when you sell a car as a Mercedes (send me an object as JSON), I want to get a Mercedes (JSON).
> Consult a trade mark lawyer if that wasn’t clear :-)

Well I'm familiar with trade mark classes, thank you very much.

So I guess your rambling is trying to say JSON in the IETF class, is not 
the same as JSON in the ETSI class.  ETSI defines JSON at the code point 
level, whereas IETF defines it at the UTF-8 character encoding level.

However, I think your example illustrates that far from having the 
context of UTF-8 implied, we need to be explicit.  While you might be 
expecting a car when you you say "I'll have the Mercedes," if I'm 
starving I might be very disappointed if I say "I'll have the Mercedes" 
and end up with a car instead of a meal.  In the knowledge of such 
potential ambiguity you would be better saying "I'll have the Mercedes 
car," and I'd be better off saying "I'll have the Mercedes meal."

This is especially so as both ETSI JSON and whatever we're calling what 
we're defining here, likely both fall into trade mark Class 9, and hence 
a trade mark lawyer would ban one or the other on the grounds that 
people could get confused by them.

(If we really are saying the context is implicit, then all we need is:

     JSON text MUST be encoded using UTF-8 [RFC3629].

Pete Cordell
Codalogic Ltd
C++ tools for C++ programmers,
Read & write XML in C++,