April 28, 2006

The Lost Realization of Portable Virtualization with Windows

Filed under: Virtualization, Reviews | Lindsay @ 9:05 am

A while back I wrote a post about how using VMs has made my life as a developer significantly easier. Two of the items on that list were things I hadn’t tried yet but just assumed were possible: loaning my VM with a co-worker if I was on vacation so they could continue work in my evironment and bringing my VM home on my portable harddrive instead of my laptop. But I wrote too soon (and I apologize for not testing that first!). When I finally decided to try out the VM at home, I ran into problems with Windows activation. And this issue would rule out the loaning to my co-worker scenario as well. Apparently VMs virtualize all of your “hardware” except for the processor in your host computer. Since the processor changed from my work computer to my home computer, it triggered the activation.

Now, for work, I have an MSDN license and could potentially get a volume license which would eliminate the re-activation, but I have several problems with that solution:

  • I spent a large amount of time setting up my base VMs and then configuring the development environments on copies of them. I don’t want to (nor do I have time) to start all over again building my chain.
  • I didn’t just want to use this for work. I wanted to install Windows XP with my personal retail license in a VM and be able to carry around some personal apps on it.
  • I just have a problem with the fact that I’m one person using one VM with a retail licensed copy of Windows and I can’t move the VM from machine to machine on a frequent basis (multiple activations would cause you to be locked out pretty quick with a retail license). I don’t think that kind of usage actually violates the intention of the Windows EULA and might fall under the wide umbrella of “fair use”, but it’s certainly not piracy, and shouldn’t be penalized as such!!

So I did some research and came up with an extremely cumbersome potential solution that was a variation on an activation file restoration procedure (which I won’t expand on since I was advised of legal repercussions) and asked in a VMWare forum if anyone had tried my solution or knew another workaround. Someone responded with a quote from the Windows EULA:

The term “COMPUTER” as used herein shall mean the HARDWARE, if
the HARDWARE is a single computer system, or shall mean the
computer system with which the HARDWARE operates, if the HARDWARE
is a computer system component.

you may install, use, access,
display and run only one (1) copy of the SOFTWARE on
the COMPUTER.

These statements above are contradictory as far as VMs are concerned. What is a COMPUTER really when you’re talking about a VM? It’s only because the processor is used by both the guest and the host that they might be considered a single COMPUTER. This leads me to think that VM use under normal circumstances is in violation of the EULA: if you’re running a VM with an installation of Windows on a Windows host, then you have two copies of the SOFTWARE running on the same COMPUTER. So is the VM a COMPUTER itself? I’ve seen many people ask “If I have a VM do I need a separate Windows license for the guest OS or can I use the host’s?”. And though I’ve seen different answers, they’re all basically either someone getting no official answer from Microsoft or someone saying that, yes, you do need a separate license, which indicates the VM is it’s own COMPUTER.

So you can’t have it both ways: that’s just not fair to consumers. It either is an independent COMPUTER or it’s not. If it is, then I should be able to use my licensed copy of Windows via a VM hosted wherever I want because the VM is a self-contained COMPUTER. If it’s not, then I only need one license to run a VM with Windows on a host of Windows since they’re both on the same COMPUTER and it still shouldn’t matter whether I used my VM on one or more COMPUTERs as long as each COMPUTER had a valid license for Windows.

To me, not being tied to your hardware is a major promise of Virtualization! Yeah, VMs are great for enterprise-level server resources allocation and for Q/A testing and for IT departments to deploy to workers as a replacement for PC images, but they have so much potential for consumer applications as well. Being able to wrap up things in a nice tidy package and have them accessible as long as there’s hardware close by that can run them is liberating and opens up so many possibilities.

  • If a VM is not an independant COMPUTER, then you could release things such as Virtual Appliances for Windows which are currently only possible under Linux and other free OSes.
  • Software vendors could release demo versions (or full for that matter) of their software on VMs which would mean no installation and uninstallation hassles for users and ensure that the environment was properly configured to best show off the software.
  • Companies could save hardware costs for their telecommuting employees by allowing them to just use a VM on their home computer for VPN access and the company’s licensed software.
  • And, of course, there’s still the idea of travelers not being required to carry a laptop through airport security.

But those possibilites and many more are currently eliminated by Windows activation.

TAD always tells me that I should write a letter to someone when I get upset about something, so this time I decided to take his advice. Here’s my request to Microsoft:

Dear Mr. Gates and Mr. Ballmer,

The time has arrived for Microsoft to come out with an official policy on licensing the Windows OS for use in VMs one way or the other. Either VMs are independent COMPUTERs or they are not and the licensing restrictions need to be fully defined for whichever situation is the case. Regardless of that decision, a way for the user to identify to the Windows installation that it is on a VM should be put in place. That being done:

  • If VMs are independent COMPUTERs, the activation scheme must be changed so that activation is not triggered by moving a VM to other HARDWARE.
  • If VMs are not independent COMPUTERs, then the license at whichever host COMPUTER the VM is running must be automatically picked up by the VM, or an easy method must be provided for the user to “register” the VM with the Windows host to avoid re-activation.

Don’t deny the benefits of Virtualization to your customers! Please realize that your customers, who have paid you for their licenses, are not pirates and shouldn’t be treated as such. Demonstrate the respect you have for your customers by sheilding them from the inconvenience of the torture of having to endure hours on the phone trying to get someone help them unlock their copy of Windows that has been activated too many times for lack of foresight of this reasonable VM usage.

Thank you for your focus and efforts in resolving this issue.
Love, Your pal,
Lindsay

» » » » » » » » » »
, , , , , , , , ,