Closed asarkar closed 3 years ago
Hi Abhijit. Your tone aside, I disagree with your assertion of "abundant" clarity.
CalVer is shorthand for a common practice, not prescriptive standard. I recommend rereading the site, and linked resources, as to why SemVer's attempt at rigidness is a failure.
Hi @mahmoud
I don’t think the answer to “SemVer's attempt at rigidness” is deliberate vagueness and lucidity allowing every project to concoct their homegrown versioning scheme. I’m wondering what’s CalVer’s role here? In other words, what’d change if CalVer didn’t exist (which is true for many of these projects since they began first).
"Calendar Versioning"/"CalVer" are mostly handy terms to reference the date/time-based versioning approach. The site is a counterpoint to the modern dogma of SemVer, and useful for people to justify taking control of their versions. It's been sufficient for calver projects (e.g., pycalver) to develop akin to jsemver. Linked from the site is this prelude I wrote explaining why that's a good thing for many: https://sedimental.org/designing_a_version.html
Yeah, I read the article. In absence of concrete guidelines, CalVer at this time is simply a pattern recognition of what some other projects have been doing for years, without any intent or authority to solve the problems associated with SemVer. I’ll pass, for now. Thanks for your effort though.
That's right, CalVer informs, rather than dictates. For many, that property alone solves problems with SemVer. There are concrete guidelines there for those who care to see them. Per the meme in your avatar, keep on coding, and you may reach that point, too. :wave:
Reading the docs here, I couldn't help but remember Tanenbaum's famous statement.
Seriously, what the &$!#%?
Please publish a grammar defining what constitutes a valid CalVer. As is abundantly clear from the above, such an important decision can't be left up to individual projects. Apart from restoring some sanity, it'll also help tools like the one I wrote (jsemver). SemVer 2.0 BNF grammar for reference: https://semver.org/#backusnaur-form-grammar-for-valid-semver-versions
It is also import to define precedence rules. Is
2020
greater, smaller or equal to20
? What characters are allowed in each version segment? Are numeric segments compared alphabetically or numerically? To my knowledge, none of these questions are answered by https://calver.org.