Subject: [dispatch] JCR proposal for DISPATCH

From: Andrew Newton <[email-masked]>
Date: Mon, 12 Mar 2018 10:13:27 -0400

Proposed Deliverable for JSON Content Rules (draft-newton-json-content-rules)
=============================================================================

This is a proposal for the progression of the JSON Content Rules (JCR) work
(draft-newton-json-content-rules) via the DISPATCH working group as an AD
sponsored document (in accordance with direction from Alexey Melnikov).

JCR is a data definition language (or schema language) for JSON intended to:

* help specification authors concisely and clearly describe complex JSON data
  structures.

* aid software developers to verify their implementations conform to
  specifications by validating any generated JSON against
  the specified JCR.

* aid software developers by permitting specification of JCR based test sets.

* aid software implementors to resolve interoperability issues.

* facilitate monitoring of JSON based protocols via comparison of observed
  JSON messages against their JCR specification.

One example of interoperability usage is
[NicInfo](https://github.com/arineng/nicinfo), an RDAP client which can use
JCR to help RDAP server operators find compatibility issues.

Based on feedback from many individuals via the GitHub issue tracker,
private email, and the JSON working group (now closed), JCR has evolved to
the point where the authors feel this document can be formally progressed in
the IETF. Additionally the authors have tested many of the ideas present in
JCR with software implementations,
[JCR Validator](https://github.com/arineng/jcrvalidator) being a complete
implementation of the specification.

At present, the authors feel there are only two open issues left:

- a better means for ORing object members and their values
- a more formal method for extension to rules

Link to JCR draft:
https://datatracker.ietf.org/doc/draft-newton-json-content-rules/

Link to JCR for RDAP draft:
https://datatracker.ietf.org/doc/draft-newton-rdap-jcr/