4 ms·
Can you clarify why what Go is doing is only semver-"ish"? What would you have them do differently to be described as semver compliant without the -"ish"?
by Queue29 8y ago
Can you clarify why what Go is doing is only semver-"ish"?
What would you have them do differently to be described as semver compliant without the -"ish"?
- steveklabnik 8y agohttps://github.com/golang/go/blob/47d5a4433513c3870a9994b50ed4fa2af628c742/src/cmd/go/internal/semver/semver.go#L19-L22 https://github.com/golang/go/blob/47d5a4433513c3870a9994b50e... are the two that they identified. Both of these things are not deal breakers; some semver implementations do allow the prefix "v" (though none require, and some don't allow it too), and their other modification to version numbers is sort of what is done in some parts of the other implementations do. And as I said elsewhere, the matchers aren't part of today's spec, so it feels weird to disqualify them based on a sparse implementation. My real point is that because the spec is incomplete, many of these kinds of questions cannot be answered, even within the big implementations. So I'm saying "ish" to hedge. Given the anti-SemVer tone throughout the vgo discussion, I thought they had gotten further away from the mainstream than they actually ended up, which is my mistake.
- puddums 8y agoI think the initial vgo discussion and versioned Go modules proposal effectively said "developers expect semver; semver is helpful; Go is officially adopting and requiring semver". At the same time, I think there was also some discussion around "semver alone is not a complete answer". I can see how some of that might have been read as anti-semver, though I suspect that was not the intent. In any event, it is exciting to see more energy going into the semver spec!