Re: [apps-discuss] JSON Schema considered harmful
Dave Crocker <dhc@dcrocker.net> Thu, 20 September 2012 20:12 UTC
Return-Path: <dhc@dcrocker.net>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B0B9821E8056 for <apps-discuss@ietfa.amsl.com>; Thu, 20 Sep 2012 13:12:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.563
X-Spam-Level:
X-Spam-Status: No, score=-6.563 tagged_above=-999 required=5 tests=[AWL=0.036, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oFbpF20C5WGy for <apps-discuss@ietfa.amsl.com>; Thu, 20 Sep 2012 13:12:44 -0700 (PDT)
Received: from sbh17.songbird.com (sbh17.songbird.com [72.52.113.17]) by ietfa.amsl.com (Postfix) with ESMTP id 19CAE21E804B for <apps-discuss@ietf.org>; Thu, 20 Sep 2012 13:12:44 -0700 (PDT)
Received: from [192.168.1.7] (ppp-67-124-89-127.dsl.pltn13.pacbell.net [67.124.89.127]) (authenticated bits=0) by sbh17.songbird.com (8.13.8/8.13.8) with ESMTP id q8KKChBe004057 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 20 Sep 2012 13:12:43 -0700
Message-ID: <505B78B4.80309@dcrocker.net>
Date: Thu, 20 Sep 2012 13:12:36 -0700
From: Dave Crocker <dhc@dcrocker.net>
Organization: Brandenburg InternetWorking
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120907 Thunderbird/15.0.1
MIME-Version: 1.0
To: Mark Nottingham <mnot@mnot.net>
References: <CAMm+LwjYj0gd3Cxjj8WFcLy-zgBwfVDCPaRGcNSgOHD9m_07yw@mail.gmail.com> <999913AB42CC9341B05A99BBF358718D01DF0684@FIESEXC035.nsn-intra.net> <CAK3OfOgU-Kepre2Z2dg_S8DAVCU413SRvuWMvJcC3BmE0BjNbQ@mail.gmail.com> <505B43B3.7050503@berkeley.edu> <CAHBU6iupyZEhENRVYJ2sMNk79RSZbOVAawr6vP42uzNyO0z+Nw@mail.gmail.com> <77AFECFB-F63A-457F-9C7F-F715315C0651@mnot.net>
In-Reply-To: <77AFECFB-F63A-457F-9C7F-F715315C0651@mnot.net>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0 (sbh17.songbird.com [72.52.113.17]); Thu, 20 Sep 2012 13:12:43 -0700 (PDT)
Cc: apps-discuss@ietf.org
Subject: Re: [apps-discuss] JSON Schema considered harmful
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: dcrocker@bbiw.net
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Sep 2012 20:12:44 -0000
On 9/20/2012 1:05 PM, Mark Nottingham wrote: > > On 20/09/2012, at 9:53 AM, Tim Bray <tbray@textuality.com> wrote: > >> I believe: >> - ASN.1 has been bypassed by history and has truly horrible tooling. Just don’t go there. >> - If you’re interchanging documents, use XML; if (much more common) you’re interchanging data structures, use JSON. >> - Do not use multiple syntaxes for the same protocol. Pick one of XML or JSON and stick with it. >> - The most important thing in defining a protocol is good clean comprehensible human-readable prose. >> - All the protocols I’ve ever seen have important constraints that can’t be expressed usefully in declarative schema languages. >> - Therefore, the next most important thing is an automated validator/test-suite. >> - A schema is a nice-to-have. >> - If you’re in XML and want schema-ware, use RelaxNG. For an example, see RFC4287. >> - If your protocol is JSON, investment in a validator/test-suite has much higher ROI than chasing schema unicorns. > > +1; somebody please give this a BCP#. In its current form, perhaps not. On the other hand, something along this lines could provide exremely useful pedagogy in doing specifications work. It would, of course, need rather more verbose discussion/justification of its guidance. That is, something that says what the characteristics are of the better formal notation choices are and what the characteristics of the less better ones are. Then describes the better choices and their enticing features, perhaps in terms of tradeoffs. Then meta-points, such as "choose exactly one". Etc. d/ -- Dave Crocker Brandenburg InternetWorking bbiw.net
- [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Nico Williams
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Nico Williams
- Re: [apps-discuss] JSON Schema considered harmful James M Snell
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Tschofenig, Hannes (NSN - FI/Espoo)
- Re: [apps-discuss] JSON Schema considered harmful Nico Williams
- Re: [apps-discuss] JSON Schema considered harmful Erik Wilde
- Re: [apps-discuss] JSON Schema considered harmful Nico Williams
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Erik Wilde
- Re: [apps-discuss] JSON Schema considered harmful Tim Bray
- Re: [apps-discuss] JSON Schema considered harmful Bob Wyman
- Re: [apps-discuss] JSON Schema considered harmful James M Snell
- Re: [apps-discuss] JSON Schema considered harmful evan@status.net
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Julian Reschke
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful Julian Reschke
- Re: [apps-discuss] JSON Schema considered harmful Mark Nottingham
- Re: [apps-discuss] JSON Schema considered harmful Dave Crocker
- Re: [apps-discuss] JSON Schema considered harmful Tim Bray
- Re: [apps-discuss] JSON Schema considered harmful Dave Crocker
- Re: [apps-discuss] JSON Schema considered harmful Phillip Hallam-Baker
- Re: [apps-discuss] JSON Schema considered harmful SM
- Re: [apps-discuss] JSON Schema considered harmful Francis Galiegue
- Re: [apps-discuss] JSON Schema considered harmful Martin J. Dürst
- Re: [apps-discuss] JSON Schema considered harmful Hannes Tschofenig
- Re: [apps-discuss] JSON Schema considered harmful Andrew Newton
- Re: [apps-discuss] JSON Schema considered harmful Dave Crocker