It may seem like an esoteric subject, but the recent rumors about Microsoft changing the version number of Windows 10 are true: In this release, the software giant will align the name of the product with the version number, the first time it's done so since the mid-1990s. And that could impact application and even web site compatibility in the new OS.
Which is of course the reason that Microsoft hasn't made this kind of change in so long.
In the early days of Windows, things were easy: Windows 3 was indeed version 3.0 of the OS, and Windows for Workgroups 3.11 was—wait for it—version 3.11. But that all changed with the release of Windows 95, which was originally developed under the name Windows 4.0. And it got even messier as Microsoft merged the NT and DOS-based Windows codebases into a single product called Windows XP. Which was—of course—Windows version 5.1.
I know, I know. This sounds insane.
But the rationale is sound. Microsoft never intended for Windows 95 to be perceived as "version 95" of the OS, just as it never intended for Windows 7 to be "version 7," though one hair-brained executive actually tried to make that very claim. (Windows 7 was actually version 6.1, and it most certainly was not the "7th release of Windows.") The Windows version numbers are for internal use only, and are aimed at helping certain audiences—software developers, obviously, but also web developers and enterprises—understand the differences between various releases.
When you consider a product like Windows 2000, which was Windows version 5.0, you see a major release as denoted by a new "major" number (5) and the lack of a "minor" number (.0) in the full version number. The next release, Windows XP, was a big deal for users because it consolidated code bases and presented a striking new user experience, but under the covers it was only a minor structural change, so it was actually version 5.1. This type of version number means that applications written for the previous major release(s) in the series—in this case just Windows 2000—should run just fine on the new version.
Windows Vista—Windows version 6.0—was a major release because Microsoft made a number of major changes under the hood, including a deep componentization of the OS that set up Windows for the next decade of changes. But from the perspective of application compatibility, Windows 7, Windows 8, and Windows 8.1—despite the fact that all included fairly major user experience changes, especially Windows 8—were only minor upgrades. So if you wrote an application that targeted Windows Vista, it should run on all of those subsequent releases without issue.
For Windows 10, Microsoft had originally intended to use the version 6.4, which made plenty of sense: Windows 8.0 was version 6.2 and Windows 8.1 was version 6.3, and from the perspective of the PC and PC application compatibility, Windows 10 is really just Windows 8.2 and should logically be internally marked as version 6.4. So why the change to version 10.0?
Some have suggested that this release is "bigger" than we now understand, but that is clearly not the case from the perspective of the underlying platform. Yes, Microsoft is aligning this release so that more of the same code base can be used across phones, tablets, PCs and even Xbox One, but come on: That was true with Windows 8, too, and this release is just a continuation of that previous work. More to the point, an application written for Windows Vista should run just fine on Windows 10. Version 6.4 makes sense.
I think this change is nothing more than a piling on of perceptions. By skipping 9 in the name—Microsoft developed Windows 10 under the name Windows 9 for over a year—the company is sending a message that Windows 10 is a big deal. It is making Windows 7 users feel even more out of date, since 10 minus 7 is three, and no one wants to be "three versions" out of date. And by aligning the version number to the product name—a silly and huge leap—it is planting a flag in the ground. This is Windows 10. Version 10. It's a big deal. It may be the (major) version number for a long, long time.
This change will impact desktop application and web application compatibility. For the latter, Microsoft notes in an MSDN document—which is where this "confirmation" comes from—that "the Windows NT value in the [user agent] string will change from 6.4 to 10.0 with the new release. If you have code that depends on the version number, we advise that you update to allow for the new value."
(Credit where credit is due: A reader emailed me about this document, but it appears that WinBeta wrote about this issue first.)
The cynical will note that Microsoft made this change to be more like Apple: That company released its first OS X version in 2001 and has stuck with that name (where "X" is version 10) ever since. Every subsequent release of OS X has triggered a single digit minor version bump only. The most recent release, Mac OS X Yosemite, is version 10.10, for example.
I don't know. And I don't really think that kind of thing matters, regardless. But I do find this version number bump to be curious and pointless, and it's something that will disadvantage both developers—who will need to update their version checking code in both desktop and web applications—and users, who will find that some of the apps they use don't work anymore.
But then, maybe that is the point. By making this artificial change, Microsoft can implicitly prevent older and out of date applications from running in Windows 10, and the net effect will be a more stable and reliable experience for everyone.
Anyway, it looks like Windows 10 will in fact be version 10.0. Curious.
Update: Peter Bright has credibly explained why this version number change is now possible in Why Windows 10 isn’t version 6 any more and why it will probably work on Ars Technica. Long story short: The deprecated version API will still report that Windows 10 is version 6.3, but modern apps will get the "real" version number. A years-long problem has apparently been solved. --Paul