[Json] JSON Schema Language

Ulysse Carion <ulysse@segment.com> Fri, 03 May 2019 23:59 UTC

Return-Path: <ulysse@segment.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 6077C120133 for <json@ietfa.amsl.com>; Fri, 3 May 2019 16:59:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=segment.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 NHrR1J2u00kO for <json@ietfa.amsl.com>; Fri, 3 May 2019 16:59:24 -0700 (PDT)
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 52CF112010F for <json@ietf.org>; Fri, 3 May 2019 16:59:24 -0700 (PDT)
Received: by mail-io1-xd35.google.com with SMTP id m7so4340881ioa.6 for <json@ietf.org>; Fri, 03 May 2019 16:59:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=segment.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=hpBANsPuGbU/MeGL14+mdh4ay7VoUFgea352tb/67MM=; b=BOumt5wFrnCbjWCw+crrtqU73OfYkdDdo3MutUGU0odr9/Agw/DYEZpLwGDikVmBYE /FCSlll+r2aGGFKPZTnVfix90tW/2WCxRcdi6LdPz6vHF16ONoeE9Uf2Ge1pBhEnXf8K 6NLkKINfAXyxS8k8NnoDvyBucDKTvXQaMgpkI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=hpBANsPuGbU/MeGL14+mdh4ay7VoUFgea352tb/67MM=; b=spdRKqqvL5+YHhJYKPQle5WwQZaL0vlMr61KElDt2FHFnrj45QOXVr1oBAXPuimvuQ IkzbHYPslA/rtf54vqHkSbkOaf2ZpfO4nH3vIa4kWrk6DZGztGMvb3ht3Ya2mOZNRpXd 89iwKVII0O3BTltuF7V0InzWhv7p4PnCHGH/VJ/cDTyeHLQ7amImMl2rmnAVNWy71bwB CUSwjlY/BenKUwiPvcvphIQy303ci7JMp8fA4dJhqS+FTRc04FNvm1F8EdVit75/+Zoz G3QqA/JICDkz+CrCTbksCoJLw98djuXFqQtKqNLLJf3dGSTtHMVEciE4Eutv1zF/GdUI TfPw==
X-Gm-Message-State: APjAAAX8Y9csD98akSnBOl65W3OsN1WHng4Iis+J0+WY6gabQXsy2YJO DiwYF9Ry15PggkNZbNmRHf/PgNtTDy6x+Cu5QITxwU1HhrE=
X-Google-Smtp-Source: APXvYqxVFsqi03OP4r4I2mzBFc5BoUSSEZ6zdsfI5eiM9DFe9dAr3GrN8Cr60q3xXfYe/z4G/aFxS3q0y7/T+6P5qDo=
X-Received: by 2002:a5d:9b90:: with SMTP id r16mr8942895iom.217.1556927963178; Fri, 03 May 2019 16:59:23 -0700 (PDT)
MIME-Version: 1.0
From: Ulysse Carion <ulysse@segment.com>
Date: Fri, 03 May 2019 16:59:12 -0700
Message-ID: <CAJK=1RjV1uv0eOdtFZ8cKn-FfCwCiGP5r2hOz1UamiM6YV4H1A@mail.gmail.com>
To: json@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/pkI8w-djHBKsfPFv43g_2G3A3Mg>
Subject: [Json] JSON Schema Language
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 03 May 2019 23:59:26 -0000

Hello all,

I have recently published an I-D for what I'm calling JSON Schema
Language, a way to validate JSON data's shape, and generate code
(i.e., types, classes, docs, etc.) from that shape:

https://tools.ietf.org/html/draft-json-schema-language-00

In previous correspondence with this list, Carsten Bormann has noted
that this WG has hesitated to prematurely adopt any given proposal,
preferring to let them develop until their distinct applications
become clear.

It is my belief that JSON Schema Language does have a clear use-case,
one which Tim Bray has articulated clearly here:

https://www.tbray.org/ongoing/When/201x/2018/09/22/JSON-scheming

I believe JSON Schema Language solves precisely what Tim describes,
while eschewing his concerns with the json-schema.org project.

For those inclined toward the concrete, the bottom of this page
contains a live demo of JSON Schema Language using the TypeScript
implementation:

https://json-schema-language.github.io/

The project's GitHub organization also contains the source for a Rust
and TypeScript implementation, as well as a full test suite:

https://github.com/json-schema-language

With Carsten's note in mind, does there nevertheless exist a path for
JSON Schema Language, or something like it, to become an RFC? I
appreciate the desire to avoid premature adoption by this WG. I assume
this partially stems from caution around throwing the weight of
json@ietf.org behind any given specification. Perhaps some other path
to specification exists?

With kind regards,
Ulysse Carion