Skip to content

Commit b538730

Browse files
jdesrosiersRelequestual
authored andcommitted
ADR decouping from IETF draft 3
Incorporating feedback from Henry and Austin.
1 parent fd4f83c commit b538730

File tree

1 file changed

+57
-8
lines changed

1 file changed

+57
-8
lines changed

adr/2022-08-decouple-from-ietf.md

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@ Related Issues:
1515
## Context and Problem Statement
1616

1717
Currently JSON Schema loosely follows the IETF Internet-Draft (I-D) process for
18-
spec development and releases but isn't associated with IETF in any way. Our
19-
perceived involvement with IETF causes confusion and misunderstanding within our
20-
community in the cases were our practices and the realities of our situation
21-
deviate from the typical IETF I-D process.
18+
spec development and releases but isn't associated with any IETF working group.
19+
JSON Schema is an individual draft. That means it isn't on a standards track
20+
with IETF and IETF is not involved nor supports the spec in any way other than
21+
hosting the canonical version of our I-Ds. Our perceived involvement with IETF
22+
causes confusion and misunderstanding within our community in the cases were our
23+
practices and the realities of our situation deviate from a typical IETF I-D
24+
lifecycle. The thing that makes our situation different than a typical I-D is
25+
that our "drafts" are intended for use in production.
2226

2327
## Decision Drivers
2428

@@ -46,13 +50,19 @@ deviate from the typical IETF I-D process.
4650
* Several members of the JSON Schema team have had poor interactions with IETF
4751
and don't feel that working with them would be productive. This is a
4852
relatively minor consideration. If we thought IETF was right for JSON Schema,
49-
we could find ways to make those relationships work.
53+
we could find ways to make those relationships work. We have a good
54+
relationship with the relatively new HTTPAPIs working group and working with
55+
them would be far more likely to be productive than the people/WG we were
56+
previously in communication with.
5057

5158
## Considered Options
5259

5360
1. Continue to submit I-Ds, while using our customized process with no intention
54-
of pursing standards track RFC status.
55-
2. Go all-in with IETF and pursue a standards track RFC with the IETF.
61+
of pursing standards track RFC status.
62+
2. Go all-in with IETF and pursue a standards track RFC with the IETF. The
63+
approach would be to describe the essential characteristics of evaluating a
64+
JSON Schema: the keywords that everybody is guaranteed to support, and any
65+
extension mechanisms.
5666
3. Join W3C and pursue a standards track with them using their process.
5767
4. Decouple completely from any standards organization and come up with our own
5868
specification development lifecycle (SDLC) model inspired by well established
@@ -62,12 +72,45 @@ deviate from the typical IETF I-D process.
6272

6373
Our decision is to go with Option 4 and decouple from standards organizations
6474
that don't fit our needs. We don't currently have a plan for what to replace
65-
IETF with. We are currently investigating how other established projects do
75+
IETF with, but we are currently investigating how other established projects do
6676
their SDLC and will likely choose one to emulate and adapt to our needs.
6777
Although we don't have a replacement solution in place yet, we are confident
6878
that continuing to abuse the IETF I-D process or conforming to a standards
6979
organization process that doesn't fit our needs is not the way to go.
7080

81+
Option 2 and 3 are still on the table if we feel it makes sense when we get to a
82+
more stable place in the future. The main concern is the pain this process is
83+
causing while we are in this unusual phase of simultaneous unstable growth and
84+
production use. Standardization isn't out of the question, it's just not
85+
productive for us to be developing JSON Schema within the constraints of a
86+
standards organizations procedures.
87+
88+
Option 1 was rejected because it ignores the problems we've been facing and
89+
provides no solution. No one wants this.
90+
91+
Option 2 was rejected for several reasons. If we go all in with IETF, we would
92+
have to join a working group and treat JSON Schema like a normal I-D. That means
93+
we would have to start treating drafts as drafts, which means not recommending
94+
production use until we are ready for RFC and not releasing a new
95+
production-ready version of JSON Schema until we've reached RFC status. Most of
96+
the core contributors don't believe that we are close enough to an RFC-ready
97+
release that we want to commit to not being able to issue another release until
98+
that happens.
99+
100+
There are other concerns including skepticism that even with an extension
101+
mechanism that the RFC wouldn't need regular updates, which is not normal
102+
practice for an RFC and would require significant effort to issue a replacing
103+
RFC. Without a concrete proposal on the scope of the RFC and the extension
104+
mechanisms, it's hard to commit to this path.
105+
106+
Additionally, many of the core contributors have found working with the IETF
107+
unproductive and have concerns about JSON Schema getting deeper involved without
108+
compelling enough reason. Most agree that the reasons are not sufficiently
109+
compelling at this point.
110+
111+
Option 3 was rejected because it has the same problems as Option 2 accept that
112+
we don't have the same unpleasant history with W3C than we do with IETF.
113+
71114
### Positive Consequences
72115

73116
* Decoupling from IETF allows us to distance ourselves from the assumptions that
@@ -79,8 +122,14 @@ organization process that doesn't fit our needs is not the way to go.
79122

80123
* Not being associated with a recognized standards organization such as IETF,
81124
W3C, or IEEE reduces the credibility of JSON Schema in the eyes of some.
125+
However, people seem comfortable adopting OpenAPI without it being associated
126+
with a standards organization, so we don't expect this to be a significant
127+
issue for JSON Schema either.
82128
* If we don't go the standardization route with IETF or W3C, we lose access to
83129
their expert review process.
130+
* One of the benefits of an RFC is other standards can normatively reference it,
131+
and use JSON Schema to define their JSON-based syntaxes. Independently
132+
publishing a specification does not permit this.
84133
* Defining our own SLDC process will be a lot of work and none of us have
85134
expertise in defining such a process. However, we can take inspiration from
86135
existing well established projects and we would have the freedom to update our

0 commit comments

Comments
 (0)