[Json] The names within an object SHOULD be unique.

Douglas Crockford <douglas@crockford.com> Wed, 05 June 2013 18:34 UTC

Return-Path: <douglas@crockford.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 47E4F21F9843 for <json@ietfa.amsl.com>; Wed, 5 Jun 2013 11:34:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jtNkqgWimSfw for <json@ietfa.amsl.com>; Wed, 5 Jun 2013 11:34:19 -0700 (PDT)
Received: from mout.perfora.net (mout.perfora.net [74.208.4.194]) by ietfa.amsl.com (Postfix) with ESMTP id 8171D21F96FF for <json@ietf.org>; Wed, 5 Jun 2013 11:34:06 -0700 (PDT)
Received: from [192.168.114.223] ([216.113.168.135]) by mrelay.perfora.net (node=mrus1) with ESMTP (Nemesis) id 0MC3mC-1UbX6I3iIi-0095O2; Wed, 05 Jun 2013 14:33:40 -0400
Message-ID: <51AF8479.5080002@crockford.com>
Date: Wed, 05 Jun 2013 11:33:29 -0700
From: Douglas Crockford <douglas@crockford.com>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: "json@ietf.org" <json@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V02:K0:NZgbpqJoJOaGpqYMjknol8VHyqppeMFGTTNr67mKDEW z8c26veSEFDvA7Iqc34i+tKBxuqNp+Ml8TT2L/i9ClHh8HF7FA 0MGOhLLccoQIji71nvNnfbbxf3qyYH+Uxb5dqhME86MBIg+ImT SHR+aAR9isodNC0wPdOohxkdG1waCztWdB3mbd9cO/M+9W2Qoa MnYF1i2M+jo+abZa3bq4uIrimeJYaeypgmEI9UiBCCiVoL1RF6 sJNdEbN9kNBW52n3UbF3Fg0F3rZg87orD3PZ5mqMTwULaEcZut /KEwWO0Ue9WtSfody7Lc0y1VFYgKX6El3RNe+v5xKUvxsLk+LK Q1WLk/ZIjR83KpzFAY9rRDphFv8pdipyHwwBGEl7A
Subject: [Json] The names within an object SHOULD be unique.
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
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: Wed, 05 Jun 2013 18:35:23 -0000

This was the biggest blunder in the RFC. SHOULD should have been MUST.

It is, sadly, too late to repair this. Instead, we must specify what 
happens when you do the thing you SHOULD NOT do. We need to provide 
implementations some slack here because some implementations do the 
right thing and reject. Some implementations do the lazy thing and take 
that last use of the name.