Re: [Json] JSON Schema

Tim Bray <tbray@textuality.com> Sat, 20 January 2018 21:50 UTC

Return-Path: <tbray@textuality.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 D0F2F127869 for <json@ietfa.amsl.com>; Sat, 20 Jan 2018 13:50:19 -0800 (PST)
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=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=textuality-com.20150623.gappssmtp.com
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 bKAqzeAKsxLu for <json@ietfa.amsl.com>; Sat, 20 Jan 2018 13:50:17 -0800 (PST)
Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C2391127735 for <json@ietf.org>; Sat, 20 Jan 2018 13:50:16 -0800 (PST)
Received: by mail-wm0-x235.google.com with SMTP id v123so9902339wmd.5 for <json@ietf.org>; Sat, 20 Jan 2018 13:50:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=textuality-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=cUmJHQ2KURBXnLOQE44LfOVWO0qLMkW3jsW8QSOEldY=; b=WNb1wEQlzKTY3V3Rg8NrbDFtdx2e/Hs2fONmnenQ9VX6ehCqdfanakU4mvpsJxHBVM 32AtahEkklJFrBZnvY+f6jQKx6PRknDTHhoC+cw1BCRXK//GsSiFZgnZkgLoEKRXPtJ0 yzKUYK+4RPZWso8ydPUmKAcD6AUtR5DcmHBjOXvMS1wNanHlmcaZbJM22n6hlz/24MZA pwOu1Rvz72eRQFiIoW5CEd8+SvVYLCIolHYLH/fzXgZ1BbKnHOM6LI2luFh8/vDwtupz lBZYIzs29NCpl7KI3vNkxkdz47WH0IOROMfgQZGs7WdC4YCk7QpQAj/ZXDiSvAIWd4R8 Gw7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=cUmJHQ2KURBXnLOQE44LfOVWO0qLMkW3jsW8QSOEldY=; b=sXjxpH9jssLqLhruJepdC+C8BEa9VCHozrh7mWWhtTNDOzpRnnbsfiftDa0FpOyafW qg4mywEjHJLl4KJBrZb9Ruvm7R64eqbK161+YIcfo0OFte5mhdbe3P0lIXR8d5SBot7j G1i0dIQFjwHIv6DfzZWh3+vv6d31EMelMEUziiW2oegjCgtWm/jip9o3GqUMKUUT5zYW 2gc7Tv9yeKUxuVUfQaqgnNGiFLPd+qzs5FCbYNVLVVLq+nGYWxjJEo1gA/cMSIpKdKqT sl6EIJaCF/ED/H7ohMp3VkzjTTCvU6DxyeNzyg7s+QZf1+tPCus0ShgO3uPJZtWRoa+U QEjQ==
X-Gm-Message-State: AKwxyteRbZPkXEuJRhBdTukisFycJb7CmOX1PiQlcoUkAFhLdqefeiL9 PUflQNQ1blyPXuauD8QW5Firyi6LHRBQ2GjAlveYLJ9YWfI=
X-Google-Smtp-Source: AH8x224ID9GREy0SB5vP/ZXwHUix5DZ3/PIG5XIGYBuNe+OC5NvXoOplS0/EjnC+8+DPlHhwwTIHhgSZD5nARp5lqD0=
X-Received: by 10.80.154.225 with SMTP id p88mr5551775edb.256.1516485014934; Sat, 20 Jan 2018 13:50:14 -0800 (PST)
MIME-Version: 1.0
Received: by 10.80.245.149 with HTTP; Sat, 20 Jan 2018 13:49:54 -0800 (PST)
X-Originating-IP: [174.6.224.108]
In-Reply-To: <CANp5f1OzPukQ9T69kDaVVTXs0DYdXzY+n=AN6iVRgKKHR4S9CA@mail.gmail.com>
References: <CANp5f1OzPukQ9T69kDaVVTXs0DYdXzY+n=AN6iVRgKKHR4S9CA@mail.gmail.com>
From: Tim Bray <tbray@textuality.com>
Date: Sat, 20 Jan 2018 13:49:54 -0800
Message-ID: <CAHBU6itya7eiap45=1XsHET7GQYeRtK__GvmadULENrZGNjU1A@mail.gmail.com>
To: Henry Andrews <henry@cloudflare.com>
Cc: json@ietf.org, Austin William Wright <aaa@bzfx.net>, Ben Hutton <bh7@sanger.ac.uk>
Content-Type: multipart/alternative; boundary="f403045c2a149f714905633c2e41"
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/6OYK-j-Q2hrk1qKlynw4AJcwm0E>
Subject: Re: [Json] JSON Schema
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.22
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: Sat, 20 Jan 2018 21:50:20 -0000

Could you give pointers to current drafts?  I had a horrible experience
with JSON Schema (V2 I think? Whatever's current implemented) - the
implementations were inconsistent with each other, the error messages out
of the validators were simultaneously verbose and unhelpful, and I was
looking at it trying to figure how I'd get better-quality messages, it
seemed sort of intrinsically difficult. I would want to see existence proof
of a validator that produced high-quality error messages before I could
really get behind a design.

I ended up writing my own schema language to produce a user-friendly
validator, but it's on the eccentric side and I doubt of interest to the
broader community:
https://www.tbray.org/ongoing/When/201x/2016/12/01/J2119-Validator

Having said that, I think work on a schema language for JSON might be
welcomed in the IETF, given a good draft to start with and an editor or
editors who were interested in doing things the IETF way.  It's not that
lightweight, we'd have to re-charter the working group, but far from
impossible.

On Sat, Jan 20, 2018 at 1:25 PM, Henry Andrews <henry@cloudflare.com> wrote:

> Hi folks,
>   I'm one of the JSON Schema draft editors, and it's been brought to our
> attention that the JSON Schema project may fit within this working group
> (or a successor?  I'm a little confused as to the current status and scope
> of this group).  We are definitely interested in having the project adopted
> by an IETF working group and eventually reaching RFC status if possible.
>
>   To date we have not felt like the project is quite ready for that step,
> although I don't personally have a good feel for the criteria.  Since
> October 2016, Austin Wright and I, with a great deal of behind-the-scenes
> help from Ben Hutton and others, have published three drafts of JSON Schema
> Core and Validation, four of Hyper-Schema, and two of Relative JSON
> Pointer.  We are actively working on the next Core and Validation drafts
> right now.
>
>   In addition to the obvious JSON Schema community engagement, we are also
> working directly with the Open API technical steering committee to resolve
> the problems that led them to adopt an almost-but-not-quite-compatible
> form of JSON Schema.  I feel like they are a good proxy for general
> adoption problems as they have a large community of their own, and their
> concerns arise from common use cases that are not quite well-served at this
> time (particularly code generation).  We've also engaged a bit with folks
> using JSON-LD who want to figure out how to leverage both, although that
> idea is very embryonic at this time.
>
>   We're currently working on resolving some major questions of scope for
> the project overall and the Core and Validation specifications in
> particular (a lot of it related to how use cases such as code generation
> fit with the existing targeted use cases).  I hope to resolve these in the
> next major draft before the current ones expire.  There may be a minor
> bug-fix in the next week or so, separate from that effort, and one
> additional scope question may be deferred to another draft beyond that.
>
>   Once the scope is settled, I had planned to actively look into working
> group status for the core and validation specifications.  Hyper-Schema
> requires more work and at least a few viable implementations.  Relative
> JSON Pointer could probably move to working group status as well if it is
> of interest (we've also considered merging it into JSON Schema Core if
> there is no interest in it as its own RFC: JSON Path is not a good fit for
> our needs despite being a great idea in its own right, and we already make
> extensive use of JSON Pointer).
>
>   I believe that the ongoing broad use and implementation of JSON Schema
> despite a multi-year abandonment of the draft work shows that it is a very
> viable and useful technology despite the complaints around the edges (I
> noticed that the complaint on this mailing list from 2016 was also about
> code generation- as I mentioned, that's a current focus of ours to
> resolve).  We've started to see implementations of the new drafts in use,
> and interest in the latest draft picked up even more quickly than the one
> before, so there seems to be real interest in taking JSON Schema over the
> finish line into some sort of official standard. The current team is
> committed to seeing this through. The recent change in submitting editor is
> just a reflection of who had the most time; the core team members have all
> remained involved since draft publication resumed.
>
>   I'm interested in any feedback or suggestions on the path forward.
>
> thanks,
> -henry
>
> --
>
>    -
>
>    *Henry Andrews*  |  Systems Engineer
>    henry@cloudflare.com
>    <https://www.cloudflare.com/>
>
>    1 888 99 FLARE  |  www.cloudflare.com
>    -
>
>
> _______________________________________________
> json mailing list
> json@ietf.org
> https://www.ietf.org/mailman/listinfo/json
>
>


-- 
- Tim Bray (If you’d like to send me a private message, see
https://keybase.io/timbray)