Don Jones

Tech | Career | Musings

With the recent release of Windows 10, and with the recent publication of a WMF5 roadmap, some sharp-eyed readers are asking some hard questions. If we’re getting a “supported production preview” of WMF5 in August 2015 – what exactly the heck is in Windows 10? Preview code?

In a word, yes. But that doesn’t mean what you think it does, and it’s certainly not the first time Microsoft has done this.

In 2006, Microsoft shipped a preview of Windows PowerShell 2.0, calling it Windows PowerShell 1.0. Technically, PowerShell 2 was a preview of PowerShell 3, since v3 simply added more features and fixed a few bugs. Well, I’m not being accurate there – really, v3 was just a “supported production preview” of v4, which shipped with Windows 8.1. Although technically…

You see where this is going.

Take Windows 10 itself. It “shipped” at the end of July 2015, but numerous features won’t “light up” until months afterwards. The July 2015 release was, in many ways, a “supported production preview” of what’s to come throughout the second half of 2015. Which is a preview of what’ll come in 2016. Which is…

And there we are again.

Microsoft has been saying they’d do this for a long time now, but we’ve still got our heads stuck in pre-cloud-cadence release terminology. We’re used to a beta cycle, followed by a “carved in stone” release, and then nothing but patches for several years. But that’s not what the company is doing anymore. Instead, they’re regularly – and I mean every so many weeks or months – releasing new code. Sometimes, what we call a “major release” like Windows 10 is going to “ship” incomplete, with new features to follow on over time. We should start thinking of “major release” as a “major milestone,” followed by smaller milestones that lead to another major milestone, etc. More… continual, if you will.

So let’s clear up where PowerShell and WMF are at. Keep in mind that PowerShell and WMF are not the same thing; WMF is a package of technologies including PowerShell, but also including things like BITS, WinRM, and other technologies.

The WMF5 Roadmap for 2015-2016

WMF5 in Windows 10. What shipped in Windows 10 is a fully supported release of WMF5, containing no experimental features and, as far as anyone can tell so far, bug-free (time will tell, of course). But it doesn’t contain every feature that was planned for WMF5 – there are things coming that aren’t yet in there. So it’s “preview” in the sense that it’s not “done,” but there’s nothing it in that’s considered “beta code” and Microsoft will support it.

WMF5 August 2015 Production Preview. What ships in August 2015 is a fully-supported production preview of WMF5, containing new non-experimental features. Support for this release will end 3 months after the eventual release of the “final” WMF5. That means anyone can deploy this in production, but you need to be prepared to roll to the RTM release when it comes, because this preview will go out of support. You can use it on production systems, but you should use it only on those where you’ll specifically be testing its new features. Otherwise, stick with WMF4 for now. This is not your Windows XP release where you leave it in production forever. Don’t deploy it unless you’re prepared to keep it updated over the subsequent months. However, you should be using the new features of WMF5 someplace in your environment, so that you can provide feedback to the product team (via Connect). This isn’t beta code either – it just might not contain the intended final feature set, and some functionality may be altered later based on feedback.

Windows Server 2016 Technical Preview. August 2015 is also likely (in my opinion, although I don’t think Microsoft has committed to this) to see another technical preview release of Windows Server 2016, which will contain the same WMF5 bits as the WMF5 production preview. This is supported like any other technical preview, which means it’s largely unsupported except for specific situations and customers.

WMF5 RTM. My guess is we’ll see this as an out-of-band (e.g., free download) release in Q4 2015, but that’s just my guess based on progress so far. This will be a fully-supported release, and after three months will remove the August 2015 WMF5 Production Preview from support. This will contain no experimental features, and will be supported according to the policy of whatever OS it’s installed on. I’m also guessing we’ll see some downlevel versions of WMF5, e.g., for Windows 7 or 8, around this timeframe. Right now, we don’t know how far back Microsoft will go. Also keep in mind that some WMF5/PowerShell features – like PowerShell Package Manager – will also be releasing for older versions of PowerShell, meaning v4 at least, Maybe v3, too. This will likely be accompanied by a WMF5 “Client Update” of some kind to bring the Windows 10 WMF5 bits up to date.

Windows Server 2016 RTM. This will obviously happen in 2016, although we don’t yet know when. It’ll have updates to WMF5 – and for all we know, Microsoft will call it WMF5.1 or WMF6 or WMF(purple) or something else. It’s likely they’ll quickly follow with a WMFx update for systems running WMF5 RTM, to level the playing field a bit. But keep in mind that, depending on their assessment of the code changes, the WMF5 included in Windows Server 2016 could still be called “WMF5 with updates” or something. We just don’t know, yet.

Key Takeaways

So what should we learn from all this? Microsoft is going to ship a lot of code. Some of it’s going to come out in stages, and some stages might only be available for certain OS versions. At some point, it’ll all sync up – and diverge again, and sync up again, and so on. If you’re yearning for a world where everything is “done and fixed,” you should – as Jeffrey Snover has pointed out in the past – probably get into the lumber industry. My understanding is that we haven’t added any new kinds of trees in a while.

For right now, you can safely use WMF5 on Windows 10 in production. Microsoft will support you and take responsibility for bugs, up to and including issuing hot fixes as necessary. But you’re not getting WMF5 for anything else yet, and you won’t until (my guess) end-ish of 2015-ish. And Win2016 may ship with an even more advanced version of WMF5, which may require updates to systems where you’ve already deployed a previous WMF5. My God, you’re thinking, I’m going to be updating this thing constantly. Cloud cadence, my friends. The world will now change faster, yet more incrementally. Be happy about that.

We also need to get used to the idea of a “production preview.” In the past, a “production release” from Microsoft meant absolutely bug-free code with the absolute final feature set locked in forever nothing special. Service packs and even hot fixes would not only fix bugs, but even change the way features worked and/or add new features. We’ve always joked that a “production” release from Microsoft (or any vendor, if we’re being honest) was just a broad beta test. In other words, software ain’t perfect, and it will change. Well, in a “production preview,” Microsoft is being honest about it: this is the software we think will ship, and we’ll absolutely support you and fix problems if they arise, but we want your feedback so the “final final” release can be as good as possible. “Production preview” means “nothing in here is experimental – we think it all works,” which is as good a statement as a “dot zero” release, based on past experience.

Welcome to the new world :).

BONUS: Your Guide to the Cloud Cadence Release Cycle

If you’re looking for a cheat sheet in all this, here you go:

  • Technical Preview usually refers to code that you should not install in production unless you’re on a specific Microsoft program like their Technical Adopter Program (TAP), where you’re working with them to evaluate a pre-release in production. TP’s usually contain experimental features, often have known problems, and are typically feature-incomplete to some degree. But you should evaluate these in a lab environment, because these are the best point for you to provide meaningful, actionable feedback to the product team. This is, in other words, where you can actually make a difference. Old terminology: beta release. 
  • Production Preview usually means code that contains no experimental features, and is supported in production. “Supported” means you can report bugs, and for blocking problems Microsoft will issue fixes or workarounds as needed. However, these releases may not remain supported for a long period of time. You should evaluate them in production, but in a limited scope – simply to ease your own burden of updating them later. These contain no experimental features, and have few or no known issues, although they may still not be feature-complete. Avoid taking a lot of hard dependencies against them, since features may change in the next release.
  • RTM means “released to manufacturing,” and represents the closest thing we have nowadays to a “final final release.” Everything should be working and the product is fully supported in production; in the case of WMF, it’s supported according to the support policies of whatever OS you’ve installed it on. It’s “feature complete” inasmuch as any piece of software is ever “done,” although there may be additional features planned for another release very shortly afterwards. There are no experimental features, and you’ll usually have versions for downlevel versions of Windows (however far back Microsoft goes).

Hope that helps!

2 thoughts on “Did Microsoft Ship “Preview” Code in Windows 10?

  1. Great write-up! Definitely helped clear up some of the questions I had around this and when I can get it into production. Can’t wait to hang out with the group again in Seattle for the Summit.

Comments are closed.

%d bloggers like this: