New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace tentative proposal-style wording #779
base: master
Are you sure you want to change the base?
Conversation
I like this. I wouldn't call it "strengthening", but they are good changes. Industry support isn't relevant either. The fact is that semantic versioning, in its many forms, is part of the technical lexicon. SemVer as presented here, is one form of semantic versioning, but the proposal here is limited to just this one scheme. I would reword this to indicate that this is one, arguably the most popular, form of semantic versioning (possibly the first scheme to be formally named as such?). |
I just had a look, and I can’t find any evidence of anyone using the phrase “semantic versioning” to describe their non-SemVer versioning strategy. Perhaps it’s just buried, for me, by the common usage that “semantic versioning” == SemVer. In itself, I wonder if that indicates we needn’t worry about falsely “claiming” that phrase. Realistically, I don’t think it would be reasonable in 2021 and beyond to use the term “semantic versioning” in software circles and not expect the listener to think you’re talking about SemVer. If I’m right, I think it’s okay to use these terms more or less interchangeably. Thoughts? |
@aaaidan, WikiPedia mentions several forms of semantic versioning: https://en.wikipedia.org/wiki/Software_versioning#Semantic_versioning There's always been two kinds of versioning: semantic and numerical, both have histories going back thousands of years. The "semantic X" craze in the software developers community, was kick started at least as far back as May 2001, in a Scientific American article co-authored by Tim Berners-Lee, James Handler and Ora Lassila titled "The Semantic Web", but they merely defined how semantics, a field as old as language studies, could be applied to the web, such that machines could process it without having to parse human language. According to the Google: Tom Preston-Werner (aka Mojombo) used the phrase "semantic versioning" when he created SemVer back in 2013, but I recall tracing it back to the 2008..2010 range a few years ago, still attributed to Mojombo, but his original repo is no longer available on GitHub. I think his main contribution was the marriage of a common syntax and semantics, with an easy to remember brand "SemVer", at a time when there were a lot of newbies coming on the scene and chaotically reinventing every wheel they could think of. The history of software versioning is littered with a huge range of semantics and syntaxes, many of which originated in the phenolic board labeling schemes used by the electronics industry, which itself was adopted from common book and journal versioning schemes that date back to the first printing presses. SemVer may dominate in the NPM, Nuget, and a handful of other silos, but there are many popular software libraries, operating systems and apps that use other forms of semantic versioning, some of which have more specific labels on them in the WikiPedia article. |
There are many forms of Semantic Versioning. Claiming that SemVer “is” Semantic Versioning isn’t necessary and risks implying there other semantic schemes don’t exist.
Thanks for the history, very interesting. On reflection, the “this is” sentence risks implying SemVer is the only semantic versioning. As you explain, that’s not true. It’s also doesn’t seem to be critically important, and only reinforces the “we propose” vibe I’m trying to update. |
Strengthen wording to reflect the firm industry support SemVer has gained since the spec was first written.
To address #778
Comments and contributions welcome.