Building "official" JSON Schema foundational tooling #113
Replies: 3 comments 18 replies
-
We've had internal discussions around this before, and even quite recently, especially since entertaining the idea of joining a publication group such as IETF or JSF, and decided that we want to focus on writing the specification and maintaining the test suite which ensures conformance, leaving implementations and other tooling to the community. One of the problems that side out of providing such tooling ourselves is language/framework. How do we, the maintainers of a specification, decide which language is best to write a reference implementation? Having such an implementation could sway decisions on features because the chosen language does or does not support a proposal (easily). We tend toward interoperability, so it's disadvantageous for us to choose one over others. Many of the other questions you mention were also considerations. |
Beta Was this translation helpful? Give feedback.
-
I think some of these items would be in scope, and some would be out of scope. Let's approach this discussion with an air of "what if?" or "what would it take?" thinking. |
Beta Was this translation helpful? Give feedback.
-
FYI, here's a strawman badges proposal: #118 |
Beta Was this translation helpful? Give feedback.
-
At the time of this writing, there are is a significant amount of third-party JSON Schema tooling that deviates from the specification despite the best intentions of their authors given the complexity of JSON Schema. When foundational pieces of JSON Schema code start deviating, higher-level software built on top of this shaky foundation starts deviating as well. This results in a significant amount of confusion around certain features of JSON Schema, adds significant support overhead to the JSON Schema team and even results in entire products that mis-use JSON Schema.
To break this cycle, I propose that the JSON Schema organization maintains foundational tooling around JSON Schema themselves. This would allow JSON Schema to provide robust foundational blocks that others depend on and steer the world towards a correct use of JSON Schema.
I'd like this thread to serve two purposes: identify the minimum set of foundational blocks that must be built to support higher-level applications and identify the guidelines for a JSON Schema module to attain "official" status.
Foundational Blocks
These modules must be low-level and generic utilities that other module or product authors can plug together to make use of JSON Schema on their respective use cases.
Some ideas:
Attaining Official Status
I think we should clearly define what are the characteristics that a JSON Schema tool must have to be considered "official". These are some of the questions I can think of:
jsonschema
namespace? (in the case of NPM)What do you think?
Beta Was this translation helpful? Give feedback.
All reactions