Re: [apps-discuss] JSON Schema considered harmful

Bob Wyman <bob@wyman.us> Thu, 20 September 2012 17:08 UTC

Return-Path: <bobwyman@gmail.com>
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 5021321F8815 for <apps-discuss@ietfa.amsl.com>; Thu, 20 Sep 2012 10:08:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.976
X-Spam-Level:
X-Spam-Status: No, score=-2.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
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 FYGPiKZokuCq for <apps-discuss@ietfa.amsl.com>; Thu, 20 Sep 2012 10:08:40 -0700 (PDT)
Received: from mail-ie0-f172.google.com (mail-ie0-f172.google.com [209.85.223.172]) by ietfa.amsl.com (Postfix) with ESMTP id B853121F87F7 for <apps-discuss@ietf.org>; Thu, 20 Sep 2012 10:08:39 -0700 (PDT)
Received: by iec9 with SMTP id 9so4342361iec.31 for <apps-discuss@ietf.org>; Thu, 20 Sep 2012 10:08:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=2oBUWxul0H1uxIxbvepzay3G/v6+GaC7IOqIKnbidzw=; b=HOgT+/60vit7VFh/Nf2T7PpFfBO+OLT/PUUUSbMbOZCoTsKeY13OeU6N4qiUYs/Ime zKfCN0JSobd1QkzGZVMK3itUAkUlq/TL6W7kQU6HlSoSFlVxpU5X6osZv6B9TxiUbcE4 qko09ooV+tBA6Hmvzzwsi5+EGzkhLR2cz6WKvIouYrOFFs/Qkea3QctCmsm9RViPbueX kkMjeykN0KHnXpXYzHJmde9vBUnbjpQHYAWSJB42cy08wXyefReikbd+nKNvueKHDcav l5zOxL4AtZd1Dcn9I3UsYMsZiB6Wq5ZgwlV2sohlTkPH5Y9EevrrqyAN9UoKFfuvLGWe HQLA==
MIME-Version: 1.0
Received: by 10.50.15.132 with SMTP id x4mr2249685igc.58.1348160919322; Thu, 20 Sep 2012 10:08:39 -0700 (PDT)
Sender: bobwyman@gmail.com
Received: by 10.64.55.34 with HTTP; Thu, 20 Sep 2012 10:08:39 -0700 (PDT)
In-Reply-To: <CAHBU6iupyZEhENRVYJ2sMNk79RSZbOVAawr6vP42uzNyO0z+Nw@mail.gmail.com>
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>
Date: Thu, 20 Sep 2012 13:08:39 -0400
X-Google-Sender-Auth: VgGfWUV_NT4afiwdcZJcica2H_0
Message-ID: <CAA1s49WLLQP74HL28TsD=0Oajs08BgmuPKMkSSom5Tc6vkowBQ@mail.gmail.com>
From: Bob Wyman <bob@wyman.us>
To: Tim Bray <tbray@textuality.com>
Content-Type: multipart/alternative; boundary="14dae934032db2400a04ca252c47"
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
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 17:08:43 -0000

On Thu, Sep 20, 2012 at 12:53 PM, Tim Bray <tbray@textuality.com> wrote:

> On Thu, Sep 20, 2012 at 9:26 AM, Erik Wilde <dret@berkeley.edu> wrote:
>
> > i have to admit that i am really curious why the seasoned spec writers
> that
> > have voiced general concerns about the usefulness of schema languages are
> > feeling this way, but so far i have not really understood what they are
> > saying. could somebody please try again, i'd really like to understand
> why
> > the general idea of describing protocol syntax in a semi-formal (as
> opposed
> > to non-formal) way is considered a bad idea.
>
> I gave a preso at IETF70 in Vancouver a few years ago which is advertised
> as being XML-centric, but has (I think) useful things to say about
> plain-text/binary/ASN.1/JSON/XML, and discusses about the proper place of
> schemas: http://www.ietf.org/proceedings/70/slides/xmltut-0.pdf
>
> I believe:
> - ASN.1 has been bypassed by history and has truly horrible tooling. Just
> don’t go there.
>
Perhaps what we need is "Abstract Syntax Notation V2.0 (i.e. ASN.2)" which
would do what ASN.1 was trying to do but benefit from all that we've
learned since the mid-80's...


> - 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.
>
>
>
>
> >
> > thanks a lot and kind regards,
> >
> > dret.
> >
> > --
> > erik wilde | mailto:dret@berkeley.edu  -  tel:+1-510-2061079 |
> >            | UC Berkeley  -  School of Information (ISchool) |
> >            | http://dret.net/netdret http://twitter.com/dret |
> > _______________________________________________
> > apps-discuss mailing list
> > apps-discuss@ietf.org
> > https://www.ietf.org/mailman/listinfo/apps-discuss
>
>
> _______________________________________________
> apps-discuss mailing list
> apps-discuss@ietf.org
> https://www.ietf.org/mailman/listinfo/apps-discuss
>
>