porovnej inteligenti verzovani: https://vivaldi.net/en-US/content/vivaldi-updates
a dementnim: https://en.wikipedia.org/wiki/Google_Chrome_version_history
Co se týče číslování verzí, přišlo mi rozumné sémantické verzování - http://semver.org/
Semver vůbec nepodporuje backporting ani nelineární vývoj. Řešení těchto a podobných problémů (např. závislost verze modulu na major verzi velkého SW jako kupř. Drupal) je navrženo v https://github.com/mojombo/semver/issues/163#issuecomment-192662245 . Zatím však nebylo do specifikace Semver přijato :(
Jenže od té doby se vývoj mnoha programů (včetně linuxového jádra) změnil, nedělají se velké nekompatibilní změny a nové vlastnosti se vydávají průběžně. Takže u těch programů ztratilo smysl rozdělení na major a minor verze – což je přesně důvod, proč se u Linuxu major verze zvedají náhodně. V takovém případě dává smysl číslovat pořád pryč (jako Chrome nebo Firefox), nebo označovat verze rokem a pořadovým číslem verze v roce (takhle nově čísluje např. JetBrains). Linux se bohužel musí dál držet formátu x.y.z, protože spousta programů číslo verze parsuje. Verze 2016.5.1 by sice dávala větší smysl, ale dost utilit by to asi rozbilo.
Porovnávat čísla verzí lexikograficky může opravdu jenom buď totální imbecil, nebo - v horším případě - typický skriptový patlal. Vývojáři jádra musí udržovat zpětnou kompatibilitu pro userland tím, že dokumentovaná API a rozhraní budou i nadále fungovat tak, jak mají. Nejsou zodpovědní za to, jestli se rozbije nějaký krám napsaný navzdory specifikaci, který zatím "funguje" čistě náhodou a jehož autor je příliš nekompetentní, než aby si to vůbec uvědomil.