package-url / purl-spec

A minimal specification for purl aka. a package "mostly universal" URL, join the discussion at https://gitter.im/package-url/Lobby
https://github.com/package-url/purl-spec
Other
690 stars 159 forks source link

Add a reserved private namespace `x-` for version schemes #268

Open tschmidtb51 opened 1 year ago

tschmidtb51 commented 1 year ago

I suggest to add a reserved private namespace prefixed with x- for version schemes that is defined as follows:

Anyone can choose the version scheme name after the prefix x- freely. Tools MAY choose to implement those but if they do SHOULD point to the definition used. This is intended for easy use of version schemes that only apply to a very specific use case and are likely not to be added to the official namespace. It can also be used to experiment with new version schemes.

Flagging @pombredanne for attention

tschmidtb51 commented 1 year ago

I could, for example, name each new version of my software after one of the names from the most popular baby names list in the US for the last decade. So the first version would be called Emma, the second one Noah, the third one Olivia and so one.

Lexicographical, the result from checking whether Ava is in the range from Sophia to Michael the answer would be No. Using the private namespace, I could add a new version scheme x-babynames-us-2010-decade and check Ava against: vers:x-babynames-us-2010-decade/>=Sophia|<=Michael and given that this scheme is implemented in the comparison tool the answer is Yes (Unknown private version scheme error otherwise).