Advertise version: MAJOR.MINOR.PATCH or MAJOR.MINOR ?
Continuing discussion from SPDX Tech Team Meeting 2024-07-16:
From the ontology point of view:
- An object
https://spdx.org/a/3.0.x/bis not the same as an objecthttps://spdx.org/a/3.0.y/b
For spec publication:
- If using MAJOR.MINOR.PATCH, we can make:
v3.0as an alias that point to the latest version ofv3.0.x(for example,v3.0.1)v3as an alias that point to the latest version ofv3.x(for example,v3.0)- For example,
- we can set
mike alias -u v3.0.1 v3.0 v3 latest(set "v3.0", "v3", and "latest" as aliases for "v3.0.1") - then when we have 3.1, we can set
mike alias -u v3.1 v3 latest(set "v3" and "latest" as aliases for "v3.1") v3.0will still redirect tov3.0.1, whilev3will now redirect tov3.1
- we can set
- If using MAJOR.MINOR,
- Any patch update for
v3.0(v3.0.1, v3.0.2, etc) will be publish underv3.0 - (at 3.0.0)
mike alias -u v3.0 v3 latest - (at 3.0.1)
mike alias -u v3.0 v3 latest(keep using "v3.0") - (at 3.0.2)
mike alias -u v3.0 v3 latest(keep using "v3.0") - (at 3.1)
mike alias -u v3.1 v3 latest(change to "v3.1")
- Any patch update for
Current decision is to use MAJOR.MINOR.PATCH.
See also
- https://github.com/spdx/spdx-3-model/issues/733
- https://github.com/spdx/spdx-3-model/pull/800
- https://github.com/spdx/spdx-spec/pull/936
The statement in first bullet is not accurate, as we may as well declare that https://spdx.org/a/3.0.x/b is the same as https://spdx.org/a/3.0.y/b in the ontology.
The statement in first bullet is not accurate, as we may as well declare that
https://spdx.org/a/3.0.x/bis the same ashttps://spdx.org/a/3.0.y/bin the ontology.
This would be a good use of owl:sameAs. Note that this will require a reasoner for some ontology tools is isn't quite as straightforward as just using the same URI. Since I missed the tech call where this was discussed, I won't re-open the discussion, but we should add the owl:sameAs clauses otherwise many of the RDF and linked data utilities will get confused on every patch version.
- We decided to keep the "3.0" references on the public website and redirect to the latest patch release.
- The MAJOR.MINOR.PATCH is for IRIs like https://spdx.org/rdf/3.0.1/spdx-context.jsonld
- For the website https://spdx.dev/use/specifications/ we've not included the patch version previously (reference 2.2.1), so we will just redirect to the latest version
- For actual RDF ontology and JSON schemas, we will maintain the patch level version but will redirect the 3.0 to the latest patch version