Re: [Json] Schemas & so on

Cyrus Daboo <cyrus@daboo.name> Tue, 03 May 2016 13:38 UTC

Return-Path: <cyrus@daboo.name>
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 E36F612B04B for <json@ietfa.amsl.com>; Tue, 3 May 2016 06:38:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.898
X-Spam-Level:
X-Spam-Status: No, score=-2.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.996, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 b7ImHpBqHxca for <json@ietfa.amsl.com>; Tue, 3 May 2016 06:38:24 -0700 (PDT)
Received: from daboo.name (daboo.name [173.13.55.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5AE8D12D501 for <json@ietf.org>; Tue, 3 May 2016 06:38:24 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 9FBFE4088D14; Tue, 3 May 2016 09:38:23 -0400 (EDT)
X-Virus-Scanned: amavisd-new at example.com
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LB3nATf1LizG; Tue, 3 May 2016 09:38:23 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.44.178.52]) by daboo.name (Postfix) with ESMTPSA id 8C3A84088D09; Tue, 3 May 2016 09:38:22 -0400 (EDT)
Date: Tue, 03 May 2016 09:38:20 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Mark Nottingham <mnot@mnot.net>, Tim Bray <tbray@textuality.com>
Message-ID: <E833CD242FC6B996B7269997@caldav.corp.apple.com>
In-Reply-To: <AC93811D-A16A-4527-B2EB-C6A9FC6D4F17@mnot.net>
References: <CAHBU6itCV9MXmALdKtE9-vjUPG6-6ZqdqzrmZkcEzSUysi3S-w@mail.gmail.com> <AC93811D-A16A-4527-B2EB-C6A9FC6D4F17@mnot.net>
X-Mailer: Mulberry/4.1.0b1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size="1772"
Archived-At: <http://mailarchive.ietf.org/arch/msg/json/C3CqOsBov79gtOGc68E16_bu9hg>
Cc: json@ietf.org
Subject: Re: [Json] Schemas & so on
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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: Tue, 03 May 2016 13:38:27 -0000

Hi,

--On May 3, 2016 at 10:10:00 AM +1000 Mark Nottingham <mnot@mnot.net> wrote:

> This general area of discussion came up in the IETF maybe two years ago;
> can dig around in archives if people are interested, but IIRC it was
> mostly hallway-based.
>
> I'd characterise the general feeling then as "run away screaming"; the
> wounds of XSD / WS-* were too fresh.
>
> It came up again more recently (again, the hallway track), and the
> feeling I got was that people were more amenable to it, but still
> concerned about the numerous pitfalls.
>
> It strikes me that it might be worth writing down what we think is good
> in such a beast, and what would be not-good. Getting agreement on that
> might be... interesting, but if we had such a document (or maybe just a
> wiki page), we'd be able to evaluate the current contenders, at least.
>

At the time my personal reason for wanting something like this was not so 
much to have a formal "schema" or "rules", but rather something that could 
be used in protocol specs to "describe" what JSON an implementor would 
expect to see in a request or response. That is a very real problem that we 
faced when developing RFC7808 - which is a JSON-based HTTP protocol. 
Initially I wrote that using an early version of 
draft-newton-json-content-rules, but since that did not progress to 
publication, we were asked to switch to using the format developed in 
RFC7071 (<https://tools.ietf.org/html/rfc7071#section-6.2>).

So, rather than a formal "schema", I would rather see this group focus on a 
standard way to "describe" JSON structures in protocol specs, with the goal 
of having something easy to understand or base implementations off. Perhaps 
a purely informational document is all that is needed.


-- 
Cyrus Daboo