Closed ml-evs closed 4 years ago
My thought process was to only provide versioned URLs here which encourage good practice for schema links. We can discuss what is good practice, though.
Does it make sense to put a specific bug release version as your schema link? I would argue "no": you should put vMAJOR.MINOR
so that if a flaw in the schema is discovered later, your output references the corrected schema.
Likewise, what would one want to use /v1/
for? If your output conforms to v1.2
, you shouldn't be referencing that at v1
, since that link would later upgrade to v1.3
, which your output doesn't necessarily conform to. For example, perhaps v1.3
adds the requirement that you MUST provide schema
in meta
(whereas earlier it was optional on SHOULD level). This isn't a backwards-breaking change for the API / for clients, so it should be OK to do as a MINOR release. But if your output is on v1.2
, it may not provide schema
in meta
, and so suddenly your output does not conform to the schema that you are linking.
I was suggesting it mostly just for consistency, but your thinking on this makes sense to me. I don't think I can come up with a reasonable use case for providing a patch version as long as we keep obeying semver.
I guess the README/front page of schemas.optimade.org will eventually outline the use cases of this repo anyway as you've described above.
Could we make symlinks to host all of the correct versioned URLs (e.g. v1, v1.0, v1.0.1 [eventually]) here? Would make the link generation inside optimade-python-tools models much nicer!