Microsoft = anti-virtualization?

I'm convinced yet again that Microsoft's licensing weenies will be the first against the wall when the revolution comes. I just read an article by Paul Thurrott that describes licensing changes for Windows Vista, and it's really, really disappointing to me. In short, Microsoft is cranking down licensing terms to specifically restrict which versions of Vista will be "legal" to run in a VM.
In his article, Paul carefully explains that the Vista licensing terms aren't all that different in effect than XP's, and that the VM restrictions exist because VM users are "fringe" use cases. This is, in my opinion, short-sighted at best, and destructive at worst.

History Revisited

Rewind five years to the release of Windows XP. Virtualization was, at that point, a toy technology. A reasonably computer-savvy person could imagine the potential that virtualization might eventually yield, but the benefits were clearly over the horizon. There was no such thing as dual-core, let alone quad-core, and the idea of CPU's with virtualization accelerators built into them was inconceivable to the average technologist.

Windows XP's licensing terms were, therefore legitimately onerous to computer enthusiasts who changed PC components frequently and faced the headache of repeated product activations, but there we really no virtualization customers against whom Microsoft could discriminate. Bottom line: Microsoft was about as abusive as they thought they could get away with towards the users they knew about at the time.

Back to today. Now, Vista's licensing terms remain similarly invasive for "regular" users, but now, Microsoft's also targeting VM users. Paul points out that most VM users are either professionals or enthusiasts, implying that this is why only the "Pro" and "Ultimate" versions are licensed for use in a VM. If you want to run Vista Home Basic or Home Ultimate, you're out of luck. Can't go there.

This is ludacris from so many angles, it's hard to know where to start railing, but I'll give it a shot.

Special Users

"Currently, the majority of Microsoft's virtualization users fall into exactly two groups: business customers and enthusiasts," says Paul.

Ok -- I'll buy that, subject to one caveat -- "currently". If we've learned anything about virtualization over the last five years, it's that it's here to stay, and, in fact, its use is going to grow. Where do you think we'll be on the adoption curve in another five years?

Next problem: just because your VM users are professionals and enthusiasts, that doesn't tell you squat about the OS's they want to run. In fact, I'd bet that these groups are more likely than other groups to *want* other versions of Vista. The two biggest reasons for VM adoption today are operational management of production servers and testing. Production servers aren't generally going to use desktop Vista, so I'll leave them for another day. Let's talk about testing.

The use of VM's for testing has a number of benefits. One of them is that you can set up a VM for a specific customer configuration. Another is that you can replicate combinations of hardware and software that exhibit "interesting" traits with respect to the software you're testing. Finally, using VM's let you power-on machines when you need them and power them off when you don't, and in the time behind runs, they take up zero extra space in your test lab / office, and they consume zero additional electricity.

This implies that you need to run whatever edition of Vista your customers are running. If you build an application that supposedly runs on Vista Home Basic, you should be expected to test on it. If you're a software developer, that means no VM for you!

If you use a VM's to support custom installs or configurations for your customers, you probably have VM's for each customer, and most of them are probably turned on only when you're chasing a customer support problem. That's a lot of Windows licenses sitting idle most of the time.

What's so Hard?

Now that we know that virtualization is here to stay, why in the world can't we look it in the eye and deal with it? What, exactly, is Microsoft trying to protect itself from by cranking down these licensing terms?

Piracy.

How do you tell the difference between piracy and the legitimate use of VM's for testing, as I described it above?

When you use VM's for testing, most of them aren't on most of the time.

Once more, in small words so the licensing lawyers can get it: Please don't make me pay for an OS that only gets turned on once a year.

Microsoft's got how many gazillion engineers now? I'm pretty sure that Microsoft could divert a couple dozen people off the splash screen team and fix this once and for all. We need concurrent licensing for Microsoft OS's -- especially when run in VM's. It's that simple. VMWare and Virtual PC both have "VM tool" installs they provide for guest OS's to "enhance" operation of the guests. Use these to hook into a licensing service provided at the host level, and (for bonus points) make it networked. VM's don't chew up a license when they're not on.

So, Microsoft, go find the guys who are writing Zune software and put them to work on Vista licensing for VM's. After all, Zune's walking dead.

Other takes

A couple other pundits have words on this subject, too.

Dialogue Box by Chris Pirillo: Vista Will Double Apple’s Market Share

Koroush Ghazi: Windows Vista's Enthusiastic Licensing Restrictions