Windows Vista broke away from the NT 5.x version number that was shared between Windows 2000 and Windows XP. Since then, each major OS release from Microsoft has incremented the minor version by one: Windows 7 was 6.1, Windows 8 was 6.2, and Windows 8.1 was 6.3. The current Windows 10 previews register as Windows 6.4, but screenshots suggest that Microsoft is considering a bump to 10.0 before release.
Seriously, this time?
This leads to two discussions: “compatibility” and “why”.
First, because some applications query the Windows version number and adjust their behavior, there is some concern that 10.0 could lead to problems. For instance, if an installer checks that Windows' major version is 6, rather than at least 6, it could simply refuse to load (at least without compatibility mode). In fact, I remember Microsoft speaking about this issue back when Vista launched, saying that spoofing incorrect versions fixed (I believe) most problems. Peter Bright at Ars Technica notes that changes to application architecture, instituted with Windows 7, 8, and 8.1, makes this change more safe than when Vista bumped it to 6.x, for instance. Applications will be given an earlier version number unless they claim higher-level support in its manifest.
And then we get to the “Why”. There really isn't any reason to keep the version number in lockstep with the branding. It could be a sign that Microsoft is pushing for branding with this release, which makes sense. Windows 10, from a technical standpoint, is shaping up nicely (although I am still concerned about WinRT-based app sideloading). It would not surprise me if they would go this petty to further cement a good brand image.
I think that making the
I think that making the internal version number in step with the consumer version number is simple and natural. There was only need for an internal number when Windows version names were non-numeric or all over the place: 3.1, 95, 98, ME, 2000, XP, Vista.
If Microsoft plans to keep using numerical version numbers for the consumer names, then as a developer I would rather that they match, instead of having to remember that 10 is 6.4 or whatever. So this move is certainly a very reasonable one, assuming they will be staying with the version naming style we had since 7.