Possible Duplicate:
Can you help me with my software licensing question?

We're looking to implement a continuous integration/build machine process that will build our product and deploy automatically into a virtual machine (copied from a base VHD OS install) for delivery to testing and for automated tests to be run against.

There could end up being 10s or even a hundred or so VHDs at any one time with different builds of the software.

As a developer I have some questions around licensing, specifically:

a) Do we need Windows OS (probably Win2003 Server but maybe newer) licenses for each virtual machine we create and copy? Or can we just license those that are currently running?

b) What is the best way to manage keys given that we will be copying VHDs on a regular basis? Should be not enter product keys at all until we have to or do something else?

c) How does volume licensing (I'm really not sure what the difference is) fit into all of this?

Basically we're looking for the cheapest way to properly accomplish this.



a) Get an MSDN subscription for each person involved with developing or maintaining an environment that is not production - Technet licensing is not permissible for a development environment.

b) Use one set of keys - Microsoft are perfectly fine with a team working from one set of keys, so long as each team member has a valid licence. This is also OK with volume licensing and multiple licences. This was confirmed to me by two MS Licencing specialists at two different LARS within the past year.

c) Volume licensing is for your production environment, and gives you special access to add-on things such as Software Assurance (upgrade to the latest version when it is released for free, added training benefits and other benefits), training, centralised licence and key management et al.

Basically, MSDN is what you want.

The development and testing environment that I have setup for our team consists of the following:

  • Hyper V Host Server (Dual Quad Core Xeons, 32GB RAM, 2TB SAS Disk) x 4 - One Development, one Development Test (more stable than Development, less stable than Test), one Test, one Infrastructure Test (for integration testing, patch testing et al)

  • Windows Server 2003 R2 virtual machine image, setup as a standard base (patched, IIS installed, .Net installed et al) and then sysprepped with an install script. No need to enter a key on setup, just copy the .vhd and add it to a new machine instance in Hyper V, boot it and let it set itself up. Then customise each to their specific role, snapshot it so you can roll back changes.

Each system supports a good 25 virtual machines, which is plenty for a fair sized development environment. If you want more, add more hardware and keep deploying sysprepped images :)


If that's a development/test environment - and it sure looks like one to me - a single MSDN subscription per developer should cover all of your licensing requirements for everything: http://msdn.microsoft.com/en-us/subscriptions/cc150618.aspx

  • Is that even the case if people copy an archived VHD from our file server to their local to run and test with? You're correct this is only in development/QA. – Kieran Benton Aug 6 '09 at 12:49
  • Per MS: "Remember that team members who install the software (such as IT Professionals who install software for a test lab) will also need an MSDN subscription", so it reads as though one per tester is also required (which could work out more expensive than regular licenses then!) Me, I'd use MSDN for developers and eval versions for testing. – Maximus Minimus Aug 6 '09 at 12:53
  • @mh - no, testers are not required to have licenses, you can test in a dedicated environment without a licence. Its when you do more than simply test, such as actual development, installation or integration that you require the licence. Or in other words, people deploying stuff to the development and testing environments are required to be licensed, but the people doing the testing are not. This is the advice given to me by two independent Microsoft Licencing experts from two different LARS when we enquired early last year. – Moo Aug 6 '09 at 12:57
  • +1 @ Moo, good clarification (I've upvoted your own post to reflect this) – Maximus Minimus Aug 6 '09 at 13:21

If you purchase a Windows Server 2003 Std. License, you will be restricted to one instance. If you purchase a Windows Server 2003 Ent. License, you will be able to run the OS on the host and up to 4 online (running) instances with the same license and key. If you purchase Windows Server Datacenter Licensing, you will be able to run as many virtuals as you want on the host, provided you license it for more than two processors.

So depending on the number of running VMs on a single host, I would recommend Enterprise or Datacenter. Check out this guide for more details.

Not the answer you're looking for? Browse other questions tagged or ask your own question.