Skip to content

Commit 9c3c317

Browse files
jdesrosiersRelequestual
authored andcommitted
Add ADR for decoupling from IETF
1 parent 9f4a0f8 commit 9c3c317

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

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

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Decoupling from IETF
2+
3+
* Status: accepted
4+
* Deciders: @jdesrosiers @relequestual @awwright
5+
* Date: 2022-08-17
6+
7+
Related Issues:
8+
* https://github.com/orgs/json-schema-org/discussions/69 - This issue is about
9+
dropping the "draft" prefix from our releases. This ADR doesn't cover that,
10+
but much of the discussion about whether or not to decouple from IETF is in
11+
that discussion.
12+
* This topic has been discussed in many other places as well that are difficult
13+
to link to here including Slack, Twitter, OCWMs, and conference discussions.
14+
15+
## Context and Problem Statement
16+
17+
Currently JSON Schema follows the IETF Internet-Draft (I-D) process for spec
18+
development and releases but aren'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 needs and the realities of our situation deviate
21+
from the IETF process.
22+
23+
## Decision Drivers
24+
25+
* IETF's draft versioning system doesn't work for JSON Schema and we stopped
26+
using it to version our releases a while ago. We now use a date based version
27+
and even have more than one draft submission per release (the initial release
28+
and the patch release).
29+
* The IETF process is optimized for working on a draft until it's done and then
30+
disbanding. In some cases, the RFC may be revisited and revised in the future,
31+
but this is rare and generally contains little more than clarifications and
32+
reference updates. JSON Schema is not like that. JSON Schema is more like a
33+
programming language. When it stops evolving, it will loose it's relevance.
34+
When we finish a release of JSON Schema, we don't disband, we start work on
35+
the next release.
36+
* Every one of our releases is expected to be used in production and will be
37+
depended on for many years forward. This is not consistent with normal IETF
38+
drafts. Even if we don't publicly use the term "draft", we're still using the
39+
IETF I-D system in a way that's not intended.
40+
* Under IETF, JSON Schema fits under the category of "draft". The community has
41+
repeatedly told us that they perceive this to meant that JSON Schema
42+
"incomplete" and not "not ready for production use". This is the wrong message
43+
for us to be sending as all of our releases are intended to be used in
44+
production. This ADR doesn't decide whether or not to drop the "draft" from
45+
our releases, but decoupling from IETF gives us that option.
46+
* Several members of the JSON Schema team have had poor interactions with IETF
47+
and don't feel that working with them would be productive. This is a
48+
relatively minor consideration. If we thought IETF was right for JSON Schema,
49+
we could find ways to make those relationships work.
50+
51+
## Considered Options
52+
53+
1. Continue to submit I-Ds, while using our customized process with no intention
54+
of pursing standards track RFC status.
55+
2. Get JSON Schema to a stable place and pursue a standards track RFC with the
56+
IETF.
57+
3. Decouple from IETF completely and come up with our own governance model.
58+
59+
## Decision Outcome
60+
61+
Our decision is to go with Option 3 and decouple from IETF completely and come
62+
up with our own governance model. The idea of having the come up with our own
63+
governance model is daunting, but when the alternatives are to continue to abuse
64+
the I-D process or to conform to the IETF process that doesn't fit our needs,
65+
going our own way seems the bast option.
66+
67+
### Positive Consequences
68+
69+
* Decoupling from IETF allows us to distance ourselves from the assumptions that
70+
people make about JSON Schema because they assume it works like a typical I-D.
71+
* Decoupling from IETF allows us to customize our governance model to what works
72+
best for JSON Schema.
73+
74+
### Negative Consequences
75+
76+
* Choosing our own governance model means we aren't associated with a recognized
77+
standard body which could reduce to credibility of JSON Schema in the eyes of
78+
some.
79+
* If we don't go the standardization route with IETF, we lose access to their
80+
expert review process.
81+
* Defining our own process will be a lot of work and none of use have expertise
82+
in defining such a process.

0 commit comments

Comments
 (0)