Solaris tried something like this for a while. While their competitors were releasing versions 4, 5 and 6 of their OS, Solaris was releasing version 2.4, 2.5 and 2.6. This made it look like they were just doing minor updates to Solaris, when they were in fact major new versions. Eventually they gave up and renamed solaris 2.7 to Solaris 7 just to keep up with the version numbering.
¹ https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS.1-...
Yep:)
> So what's the point for semver?..
Exactly that: To trumpet it to the world - this project never broke compatibility, accept no substitutes.
> The Linux ABI definition is both fuzzy and controversial. Some ABI breaks are unavoidable. [1]
[1] http://she-devel.com/Chaiken_LinuxABI.pdf
Ultimately it sounds like the policy is actually 0 “reallly bad ABI breaks” where “bad” is a subjective evaluation of how many bug reports they get or breaking something foundational (eg pulse audio). It’s just not possible to freeze the ABI because people may have found kernel bugs and worked around them and the fix for the kernel bug breaks the workaround. That’s what Hyrum’s law means and the Linux kernel doesn’t have a unique solution here. Don’t get me wrong. They do a fantastic job all things considered. But the “never break ABI” is more marketing than a hard and fast rule (but yes they generally get as close as is feasible to sticking to it)
“Public api never breaks” as OP posted, for example, is a reference to the Linux ABI policy
Quite a few engineers has seen the sharper side of his tongue for not taking that mantra seriously enough