Is there any logic behind how companies number their software version?
On September 30, during a preview event for that operating system, Microsoft officials revealed its new name, which is Windows 10. During the Microsoft planning and early development process, Windows 10 was codenamed “Threshold”, which like a number of recent Microsoft ones, came from Microsoft’s Halo franchise.
Because the last version of Microsoft’s Windows platform was named Windows 8, many assumed the next release would be Windows 9. Many inside and outside the company used “Threshold” and “Windows 9” interchangeably when discussing the up-coming Windows release. There have been rumors that Microsoft might name Threshold as “Windows X,” “Windows 365,” just plain “Windows” or “Windows One.”
But Microsoft picked with Windows 10 instead because they wanted to signify that the coming Windows release would be the last “major” Windows update. Going forward, Microsoft is planning to only make regular, smaller updates to the Windows 10 codebase, rather than pushing out new major updates. Windows 10 will have a common codebase across multiple screen sizes, with the UI tailored to work on those devices.
When it comes to the so-called “major” version update of “minor” version, the Semantic Versioning 2.0 Introduction (SemVer) clearly states that the point of versioning is to help manage dependencies. It specifies that a product should be versioned as follows:
MAJOR version when you make incompatible API changes.
MINOR version when you add functionality in a backward-compatible manner.
PATCH version when you make backward-compatible bug fixes.
But for operating systems, things do not always follow this rule. Apple’s OS X is a case in point. Version 10.10 indeed contains breaking API changes from 10.9.
Each year Apple releases a major version of iOS but only a minor version of OS X, this is because iOS is young and needs to mature, but OS X is at Version 10 and needs to stop growing. Moreover, Apple increments the major iOS version number even when there is little discernible change in the operating system. For example, the move from iOS 6 to 7 was visually appreciable, while from iOS 7 to 8 the change is not that significant.
Another point worth to be mentioned is that Apple no longer uses number to name its OS X operating systems, instead they use animals like “Snow Leopard”, “Mountain Lion” and this year a place “Yosemite” to name the operating systems. This strategy allows the version to also serve as brands. The rationale behind is that people hate to remember those useless and meaningless version numbers, and cool version names can attract public attention, but of course there are no standard on such an arbitrary strategy and it’s hard to evaluate it.
Software versioning is an interesting topic, what do you thing about it ?