Skip to content

Commit a6a70f9

Browse files
jdesrosiersRelequestual
authored andcommitted
ADR decoupling from IETF draft 6
Feedback from Henry. The main changes are updating the section on our prior experience with IETF and clarifying that our descision not to use IETF doesn't apply to media type registration or supporting components such as Relative JSON Pointer.
1 parent 8f44fcc commit a6a70f9

File tree

1 file changed

+42
-23
lines changed

1 file changed

+42
-23
lines changed

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

+42-23
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,30 @@ that our "drafts" are intended for use in production.
3737
programming language. When it stops evolving, it will lose its relevance.
3838
When we finish a release of JSON Schema, we don't disband, we start work on
3939
the next release.
40-
* Every one of our releases is expected to be used in production and will be
41-
depended on for many years forward. This is not consistent with normal IETF
42-
drafts. Even if we don't publicly use the term "draft", we're still using the
43-
IETF I-D system in a way that's not intended.
40+
* Since the project resumed activity after the gap following draft-04, every one
41+
of our releases is expected to be used in production and will be depended on
42+
for many years forward. This is not consistent with normal IETF drafts. Even
43+
if we don't publicly use the term "draft", we're still using the IETF I-D
44+
system in a way that's not intended.
4445
* Under IETF, JSON Schema fits under the category of "draft". The community has
4546
repeatedly told us that they perceive this to meant that JSON Schema
4647
"incomplete" and not "not ready for production use". This is the wrong message
4748
for us to be sending as all of our releases are intended to be used in
4849
production. This ADR doesn't decide whether or not to drop the "draft" from
4950
our releases, but decoupling from IETF gives us that option.
50-
* Several members of the JSON Schema team have had poor interactions with IETF
51-
and don't feel that working with them would be productive. This is a
52-
relatively minor consideration. If we thought IETF was right for JSON Schema,
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.
51+
* Several members of the JSON Schema team have interacted with JSON-related IETF
52+
working groups. Some of these interactions demonstrated an indifference or
53+
hostility to JSON Schema, and a preference for projects taking a different
54+
approach. Equally important was a lack of any active interest or constructive
55+
engagement. Finally, we were informed that any schema project for JSON would
56+
not necessarily start from JSON Schema as a base, indicating that a "JSON
57+
Schema" working group would quite likely not involve JSON Schema itself. This
58+
impression has been reinforced by observing the amount of change introduced to
59+
JSON Path as a consequence of its adoption by an IETF working group. While we
60+
have a good relationship with the relatively new HTTPAPIs working group, the
61+
combination of these other experiences with other mismatches between our
62+
project and the IETF process contributes to our reluctance to move forward
63+
through the iETF.
5764

5865
## Considered Options
5966

@@ -78,6 +85,17 @@ Although we don't have a replacement solution in place yet, we are confident
7885
that continuing to abuse the IETF I-D process or conforming to a standards
7986
organization process that doesn't fit our needs is not the way to go.
8087

88+
However, we still plan to use the IETF process to register the media types
89+
defined by JSON Schema with IANA. This effort is currently in progress with the
90+
HTTPAPIs working group.
91+
92+
The decision to not use IETF applies only to the main specification documents
93+
and not necessarily supporting components we have defined or will define in the
94+
future. Currently our only such component is Relative JSON Pointer, but there
95+
could be others in the future. These components will be examined on a case by
96+
case basis and we may choose an IETF standards path for those components if it
97+
makes sense.
98+
8199
Option 2 and 3 are still on the table if we feel it makes sense when we get to a
82100
more stable place in the future. The main concern is the pain this process is
83101
causing while we are in this unusual phase of simultaneous unstable growth and
@@ -108,7 +126,7 @@ unproductive and have concerns about JSON Schema getting deeper involved without
108126
compelling enough reason. Most agree that the reasons are not sufficiently
109127
compelling at this point.
110128

111-
Option 3 was rejected because it has the same problems as Option 2 accept that
129+
Option 3 was rejected because it has the same problems as Option 2 except that
112130
we don't have the same unpleasant history with W3C than we do with IETF.
113131

114132
### Positive Consequences
@@ -120,20 +138,21 @@ we don't have the same unpleasant history with W3C than we do with IETF.
120138

121139
### Negative Consequences
122140

123-
* Not being associated with a recognized standards organization such as IETF,
124-
W3C, or IEEE reduces the credibility of JSON Schema in the eyes of some.
125-
However, we have received feedback from people involved in standards
126-
development that told us that they were comfortable referencing OpenAPI's self
127-
published specification in their standards and that OpenAPI's membership with
128-
the Linux Foundation was an important aspect of what makes them comfortable
129-
doing so. JSON Schema is a member of the OpenJS Foundation, which is a
130-
sub-group of the Linux Foundation, so we expect standards developers to be
131-
just as comfortable referencing JSON Schema as they are referencing OpenAPI.
132141
* If we don't go the standardization route with IETF or W3C, we lose access to
133142
their expert review process.
143+
* Not being associated with a recognized standards organization such as IETF,
144+
W3C, or IEEE reduces the credibility of JSON Schema in the eyes of some.
145+
However, we have received feedback that our membership with OpenJS/Linux
146+
Foundation provides the credibility that we need.
134147
* One of the benefits of an RFC is other standards can normatively reference it,
135-
and use JSON Schema to define their JSON-based syntaxes. Independently
136-
publishing a specification does not permit this.
148+
and use JSON Schema to define their JSON-based syntaxes. However, we have
149+
received feedback from people involved in standards development that told us
150+
that they were comfortable referencing OpenAPI's self published specification
151+
in their standards and that OpenAPI's membership with the Linux Foundation was
152+
an important aspect of what makes them comfortable doing so. JSON Schema is a
153+
member of the OpenJS Foundation, which is a sub-group of the Linux Foundation,
154+
so we expect standards developers to be just as comfortable referencing JSON
155+
Schema as they are referencing OpenAPI.
137156
* Defining our own SLDC process will be a lot of work and none of us have
138157
expertise in defining such a process. However, we can take inspiration from
139158
existing well established projects and we would have the freedom to update our

0 commit comments

Comments
 (0)