Windows System Software -- Consulting, Training, Development -- Engineering Excellent, Every Time.

Peter Pontificates: Yes, It’s Windows 10…But Which Version?

Maybe I’ve just been doing this too long.  Or maybe, just maybe, the topic has become just too confusing for any reasonable human being to comprehend.

What topic is it that has me so befuddled?  Windows version numbers.  And releases.

What gives me hope that I’m not the only one who’s close to terminally lost is that regularly – like every day – I have conversations like the following:

Tester: It crashed.  Again.  Your driver blue screened.

Me: OK… Which OS version were you running?

Tester: Windows 10.

Me: Yes, but what version of Windows 10?

Tester: I thought Windows 10 was the version.

Me:  Well, Yes.  Er, no.  Er… Windows 10 is the… I dunno.  The name.

Tester: The system was sitting there and it may have done some updates.

Me: All the updates?  Were you running RS1?

Tester: What’s RS1?

Me: Redstone.  Redstone 1.  The latest release.  Not counting pre-releases or the fast ring or anything.

Tester: Redstone?  You mean, like the arsenal?

Me: No, ah…

Tester: Like Sumner?

Me: No! More like from Minecraft.  Why the fuck are we talking about this!?  Which version of Windows were you running when my driver failed?

Tester: OK, OK… I don’t know what version.  If 10 isn’t the version, I don’t know what version.  But the properties screen says build 10586.

Me: Ah!  V1511.

 Tester: So, is that Minecraft?

Me: No, it’s Threshold.  Threshold 2.  I think.

Tester: Threshold isn’t Minecraft?  Is it Redstone?

Me: Stop with the Minecraft!  Please! Threshold is an older release of Windows 10. Before Redstone.  It’s from… ah… I don’t remember.

Tester: RTM?

Me: No.  Look, either go back to the lab now or I’ll lock you in the engineering bathroom.

Now, to be sure, the above conversation casts me in a heroic role, because in that conversation I can actually associate build 10586 with Version 1511 and the codename Threshold.  Which in real life I may or may not be able to do on any given day, without having to resort to the list on my whiteboard.

Back in the day, it was enough to have honest build numbers and straight forward OS version numbers. I remember NT V4, which was build 1381.  Build numbers were strictly increasing each day (pretty much).  Build 1381 got that number because it was the thirteen hundred and eighty first time the OS was built by the Build Lab.  And Build 1381 got RTM’ed as NT V4, because after 1381 builds, the code was “ready to be released.”

Somewhere along the way, build numbers got corrupted by rounding them up to arbitrary values at RTM.  And about that same time, we stopped getting ordinary OS version numbers and started getting OS release names. That’s how we got Windows XP, which was build 2600 (nice, round, fictitious, build number), and which was also V5.1.

Of course, there have always been internal code names as well.  NT V4 was SUR (Shell Update Release — I had to Google to remember that).  And Windows XP was Whistler.  In Windows 10 times we’ve had Threshold and Redstone.

And for the past few releases, version numbers have become pretty much honest again.  It’s not unreasonable to think that build 10586 (Win10, TH2) is 346 builds newer than 10240 (TH1, Win10 RTM) that preceded it.  It’s a bit more complicated than that in reality, but… you know.. close enough.

But while build numbers have gotten more honest, the version numbers themselves have gotten out of control.  For example, let’s take the most recently released version of Windows:

Name: Windows 10 Anniversary Update

Codename: Redstone 1 (RS1).

Build: 14393

Version: Can’t say … It depends on what you mean

Yup.  Defining the version number just isn’t that straight forward.

You would think that Windows 10 would be easy.  Because in the name “Windows 10” “10” is the version number, right?  Well, not necessarily.  Remember Windows 7?  That wasn’t Windows V7.0, it was Windows V6.1.  But is Windows 10 actually Windows V10.0?  Well, yes!  At least, it is sometimes. It actually depends on who asks, and how they ask.  If an application running on Windows 10 checks the version of the OS by calling GetVersionEx, it will either get back 10.0 or 6.2, depending on how the application is manifested.  Or something.

Not to mention, there are actually multiple versions of Windows 10, that (for properly manifested applications) all return V10.0 – There’s Windows 10 RTM (AKA TH1, build 10240), there’s Windows 10 November Update, which is V1511 (AKA TH2, build 10586), and there is Windows 10 Anniversary Update (AKA Redstone 1, build 14393).

And don’t even get me started on which KMDF and UMDF versions are available on each version of Windows.  Or fast ring and slow ring.  My head hurts enough already.

Peter Pontificates is a regular column by OSR Consulting Partner, Peter Viscarola. Peter doesn’t care if you agree or disagree with him, but there’s always the chance that your comments or rebuttal could find its way into a future issue. Send your own comments, rants or distortions of fact to: PeterPont@osr.com.