|
| 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