Subject: [Json] Proposed Wording for New WG Charter

From: Matt Miller <[email-masked]>
Date: Mon, 17 Mar 2014 16:17:40 -0600

Greetings again.  We earlier asked a couple of questions to gauge what
the new proposed WG charter ought to contain.  That feedback has been
valuable, but has drilled into implementation specifics before a new
charter was actually agreed on!  We have been chastised by our AD about
this, and for good reason.  We think we already have enough input from
the London meeting and the list over the past few days to make the
following proposal for a new charter:

==========================

Javascript Object Notation (JSON) is a lightweight, text-based,
language-independent data interchange format. It was derived from the
ECMAScript Programming Language Standard, and was later published in RFC
7159.

The WG will work on an restricted profile of JSON designed to maximize
interoperability. The work will start from draft-bray-i-json-01.

The WG will work on a format for a streamable sequence of JSON texts.
The work will start from draft-williams-json-text-sequence-00.

Milestones:

IETF Last Call for restricted profile:  June 2014
IETF Last Call for text sequences:      June 2014

==========================

We note that there is no noticeable consensus around adding work on a
single nomenclature / schema. There appears to be some interest in the
WG coming up with some wording that says "the WG is not going to pick
one yet, and we think that ABNF is certainly the wrong one". If someone
wants to write up a draft with this kind of wording, we don't need to
have it as a charter item: it could just be a message from the WG to the
IESG, and they can ask us more if they want.

--Paul Hoffman and Matt Miller

---

From: Julian Reschke <[email-masked]>
Date: Tue, 18 Mar 2014 08:06:06 +0100

On 2014-03-17 23:17, Matt Miller wrote:
> ...

What happened to the proposal to add James Snell's json-merge draft to 
the list of WG items?

Best regards, Julian

---

From: Paul Hoffman <[email-masked]>
Date: Tue, 18 Mar 2014 08:14:26 -0700

On Mar 18, 2014, at 12:06 AM, Julian Reschke <[email-masked]> wrote:

> What happened to the proposal to add James Snell's json-merge draft to the list of WG items?

I don't remember that discussion. draft-ietf-appsawg-json-merge-patch should still be part of AppsAWG; it just needs someone to take over the work.

--Paul Hoffman

---

From: Julian Reschke <[email-masked]>
Date: Tue, 18 Mar 2014 16:23:40 +0100

> I don't remember that discussion. draft-ietf-appsawg-json-merge-patch should still be part of AppsAWG; it just needs someone to take over the work.

We talked about that after the WG meeting, didn't we?

---

From: Carsten Bormann <[email-masked]>
Date: Tue, 18 Mar 2014 16:27:30 +0100

> I don't remember that discussion. draft-ietf-appsawg-json-merge-patch should still be part of AppsAWG; it just needs someone to take over the work.

Since I wrote a somewhat detailed review of that draft in December (and implemented it in the process to understand it better), I have talked to James about possibly acting as an editor.  

Grüße, Carsten

---

From: Paul Hoffman <[email-masked]>
Date: Tue, 18 Mar 2014 08:30:14 -0700

> We talked about that after the WG meeting, didn't we?

Errrr, maybe? Your recollection may be better than mine.

Having said that, I'm not sure if this draft needs to move from AppsAWG: it just needs an author to finish the draft.

--Paul Hoffman

---

From: Julian Reschke <[email-masked]>
Date: Tue, 18 Mar 2014 16:38:37 +0100

> Having said that, I'm not sure if this draft needs to move from AppsAWG: it just needs an author to finish the draft.

...and it needs review from people using JSON in protocols -- I *think* 
this is more likely to happen if if moves over to the JSON WG...

---

From: Bjoern Hoehrmann <[email-masked]>
Date: Tue, 18 Mar 2014 16:39:45 +0100

>interoperability. The work will start from draft-bray-i-json-01.

I think there are already too many JSON specifications; adding more is
harmful and should not be part of the Charter.
-- 
Björn Höhrmann · mailto:[email-masked] · http://bjoern.hoehrmann.de
Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de
25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/

---

From: Tim Bray <[email-masked]>
Date: Tue, 18 Mar 2014 08:40:39 -0700

It also needs some evidence that there’s actually a real-world need, and
that this isn’t just another solution in search of a problem.  I haven’t
seen any such evidence yet.

On Tue, Mar 18, 2014 at 8:38 AM, Julian Reschke <[email-masked]>wrote:

>>>> I don't remember that discussion. draft-ietf-appsawg-json-merge-patch
>>>> should still be part of AppsAWG; it just needs someone to take over the
>>>> work.
>>>>
>>>> --Paul Hoffman
>>>>
>>>
>> Having said that, I'm not sure if this draft needs to move from AppsAWG:
>> it just needs an author to finish the draft.
>>
>
> _______________________________________________
> json mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/json
>

---

From: Julian Reschke <[email-masked]>
Date: Tue, 18 Mar 2014 16:46:06 +0100

> seen any such evidence yet.

The evidence is that people are abusing application/json for PATCH 
requests already. The semantics of that is undefined right now.

Best regards, Julian

---

From: Matt Miller <[email-masked]>
Date: Tue, 18 Mar 2014 09:53:06 -0600

On 3/18/14, 9:46 AM, Julian Reschke wrote:
>> It also needs some evidence that there’s actually a real-world
>> need, and that this isn’t just another solution in search of a
>> problem.  I haven’t seen any such evidence yet.
> 

/me doffs hat

Teams I have worked with are already making use of json-merge-patch,
after abusing application/json in exactly this way.

- -- 
- - m&m

Matt Miller < [email-masked] >
Cisco Systems, Inc.

---

From: Tim Bray <[email-masked]>
Date: Tue, 18 Mar 2014 08:53:20 -0700

Got some examples?  I’ve not seen this, and a search for “json patch” on
stackoverflow.com has some discussions of the draft, but apparently nobody
actually doing it.

---

From: Julian Reschke <[email-masked]>
Date: Tue, 18 Mar 2014 17:02:49 +0100

On 2014-03-18 16:53, Tim Bray wrote:
> stackoverflow.com <http://stackoverflow.com> has some discussions of the
> draft, but apparently nobody actually doing it.

- The SCIM WG was trying to do this until recently.

- You may also want to search for "rails json patch" - many rails users 
started with application/json and PUT for partial updates, and then 
switched to PATCH, but keeping the media type. This is what prompted 
Mark to raise <http://www.rfc-editor.org/errata_search.php?eid=3169>.

Best regards, Julian

---

From: Carsten Bormann <[email-masked]>
Date: Tue, 18 Mar 2014 17:19:31 +0100

> Teams I have worked with are already making use of json-merge-patch,

Are they using exactly what’s in the draft right now (including the somewhat surprising purge_nulls semantics)?
It would help to get some feedback from actual users of this.

Grüße, Carsten

---

From: Julian Reschke <[email-masked]>
Date: Tue, 18 Mar 2014 17:28:51 +0100

> It would help to get some feedback from actual users of this.

q.e.d. :-)

---

From: "Stefan Drees" <[email-masked]>
Date: Tue, 18 Mar 2014 17:45:41 +0100

+1 on inclusion of James Snell's "JSON Merge Patch" (draft-ietf-appsawg-json-merge-patch-02) into charter (if possible).

Top-postingly-yours,

Stefan.

Gesendet: Dienstag, 18. März 2014 um 17:28 Uhr

Von: "Julian Reschke" <[email-masked]>

An: "Carsten Bormann" <[email-masked]>, "Matt Miller" <[email-masked]>

Cc: "IETF JSON WG" <[email-masked]>

Betreff: Re: [Json] Proposed Wording for New WG Charter

q.e.d. :-)

json mailing list

[email-masked]

---

From: Matt Miller <[email-masked]>
Date: Tue, 18 Mar 2014 10:46:04 -0600

On 3/18/14, 10:19 AM, Carsten Bormann wrote:
> Are they using exactly what’s in the draft right now (including the
> somewhat surprising purge_nulls semantics)? It would help to get
> some feedback from actual users of this.
> 
> Grüße, Carsten
> 

/me urges this to be the last time we talk about json-merge-patch
details on this list and not apps-discuss@ (-:

/me continues with no hat

I tried to get them to post something, but I think all of their points
have already been noted on the the relevant list.

- -- 
- - m&m

---

From: Matt Miller <[email-masked]>
Date: Tue, 18 Mar 2014 10:47:55 -0600

On 3/18/14, 10:45 AM, Stefan Drees wrote:
> +1 on inclusion of James Snell's "JSON Merge Patch" 
> (draft-ietf-appsawg-json-merge-patch-02) into charter (if
> possible).
> 

Please note this document is already a work item in progress for APPSAWG.

- -- 
- - m&m

---

From: Nico Williams <[email-masked]>
Date: Tue, 18 Mar 2014 12:04:48 -0500

On Tue, Mar 18, 2014 at 11:28 AM, Julian Reschke <[email-masked]> wrote:
>> somewhat surprising purge_nulls semantics)?

I had the same question.  That's not the only problem.  Suppose I have
a 100KB JSON text and I want to make a minor change.  But there's no
way with the proposed JSON merge to say "add this item to that array"
without listing all the values that should remain, so this merge spec
isn't very patch-y.

> q.e.d. :-)

Well played!  I'm now +1 on accepting this.

One Rails app I work with has a schema for PUT that allows for
patching, effectively, but its patch syntax is very specific to that
application (although it may come from a gem for all I know; I'll try
to find out).  I'm not remotely sold on the currently proposed JSON
merge spec, but at least one -possibly various- JSON PATCH mechanisms
is needed.

Nico
--

---

From: "Martin J. Dürst" <[email-masked]>
Date: Tue, 18 Mar 2014 13:01:28 +0900

Hello Matt, others,

> following proposal for a new charter:

"was later published" sounds as if it wasn't published before RFC 7159. 
I suggest to change this to "is published", which avoids such implications.

> interoperability. The work will start from draft-bray-i-json-01.

Okay.

> The work will start from draft-williams-json-text-sequence-00.

There have been various discussions about such an idea, and various 
details of it, on the WG list. However, as far as I'm aware, the 
question of whether this should be part of the WG's work wasn't brought 
up, and has not been discussed. I'm therefore quite surprised to see 
this here, and request that it be retracted and if necessary discussed 
separately before being included in a charter proposal.

As to substance, I strongly oppose the addition of this work item to the 
WG charter. In my understanding, the need for such a format is marginal 
at best (*), and putting it on the WG charter would tie up significant 
resources that can be better used elsewhere. Standardizing such a format 
would also cause needless confusion in the JSON ecosystem. (#)

Regards,    Martin.

(*) In particular in open exchange on the Internet.
(#) I can already hear questions and discussions such as "Should we use 
an array or a sequence here?" and "What about sequences inside arrays?" 
and so on.

---

From: Nico Williams <[email-masked]>
Date: Thu, 20 Mar 2014 10:15:47 -0500

On Tue, Mar 18, 2014 at 01:01:28PM +0900, "Martin J. Dürst" wrote:
> question of whether this should be part of the WG's work wasn't
> brought up, and has not been discussed. I'm therefore quite
> surprised to see this here, and request that it be retracted and if
> necessary discussed separately before being included in a charter
> proposal.

I'm somewhat surprised as well.  I do think the call by the chairs that
there was consensus for it is plausible, but it's true that it was never
stated that it was being considered as a work item, and that might
actually change the consensus.

> As to substance, I strongly oppose the addition of this work item to
> the WG charter. In my understanding, the need for such a format is
> marginal at best (*), and putting it on the WG charter would tie up
> significant resources that can be better used elsewhere.
> Standardizing such a format would also cause needless confusion in
> the JSON ecosystem. (#)
> 

That may be.  I don't have apps to point to that use this now over -say-
HTTP.  I do have apps that use JSON sequences internally and as file
formats.  I would like to be able to use JSON sequences over HTTP, but
wishing ain't getting and for all I know it may never happen.  OTOH, I
think a number of people have agreed that JSON sequences have useful
properties, so there appears to be enough interest.

> (#) I can already hear questions and discussions such as "Should we
> use an array or a sequence here?" and "What about sequences inside
> arrays?" and so on.

Re (#): Sequences are of JSON texts, and JSON texts are well-defined
enough that it's clear that sequences cannot appear in JSON texts.  Full
stop.

The idea is twofold: to obtain a happy middle between streaming and
non-streaming parsing of sequences (arrays if you prefer) of values, and
to not require a closing array/sequence token (']') because it may never
arrive (e.g., in the case of a logfile).

In particular, the ability to construct a streaming JSON sequence
parsers out of off-the-shelf non-streaming (but incremental[*]) JSON
text parsers is quite convenient given that a) all-streaming-all-the-
time text parsing is inconvenient, b) non-streaming parsers abound.

Nico

[*] Non-streaming parsers that require a fully-formed text be provided
    as input (e.g., json.loads()), cannot be efficiently used to parse
    sequences without the encoder having made it easier for the sequence
    parser to identify the ends of the texts.