About The Author

20 Comments

And quite logical. Charge for virtual CPUs when people use them rather than charging for physical CPUs which isn’t used.

However, it’s actually a license for running multiple instances of the same program, and that approach seems unreasonable to me. No way I’m gonna pay for each simultaneous instance I’m running of said application (incl. OS’es).

But of course, they’ve to make money. However. I can’t see how this would affect F/LOSS distributions (but perhaps I’m blind?)

This kind of thing only *benefits* opensource so I approve. The more ridiculous their licensing gets, the more businesses will move to open source virtualization software ( Linux + Xen or Linux + UML or Linux + VMware, etc).

I love this quote from the article “The shift will benefit customers, Microsoft says”.

This is great. Java/Tomcat/Linux all will benefit. Microsoft has just Multiplied the Cost Benefit of Linux.

2005-10-10 9:43 pm

Linux advocates need to spread this NEWS!

2005-10-10 5:42 pm

s/bet/beat

2005-10-10 5:44 pm

Another beast of redmond article, who cares.

2005-10-10 6:33 pm

…but still I see some future problems with this model.

Lets review:

Dual core -> Treated as one CPU (one OS instance)

Virtual machines -> Treated as separate instances

So, as long as you are running one instance of the OS (like on dual cores) you are only paying for one licence. If you are running several instances, you are essentially running several servers (despite the fact, that the servers are only running on one physical machine). I think that this is fair enough.

Actually, I have always meant that SMP licencing was bloody unfair. Who cares what HW I am running my OS on, as long as I am only running one instance.

But as virtualisation techniques matures, I think that there will be some major problems with this model:

1) The more fluid my architechture becomes, the harder it will be to track licence use.

(I predict that Gartner will come up with a best-practice report on virtualisation licencing management. All users on Osnews will slam the report as being “biased”).

2) What happens when we start to add resources dynamically (f.ex. when doing the month end batch-job) Should I pay up a full licence? Surely not!

3) One of the cool things about virtualisation, is that you can keep your tasks isolated in a VM (no matter how small the task may be), while still reaping the benefits of a consolidated server environment. If we end up having to pay for a full server licence for each entity, it will raise the bar too much on which applications to host on separate VMs.

If we are looking at this licencing scheme with todays eyes, I think it makes some sense. But theres still to much in this scheme, that goes directly against tomorrows use of virtualization.

MS surely wants us to believe, that the only costs reduction from virtualisation should be from easier management, and less hardware costs. But I don´think they will succeed. Server architechture as we know it, is going to be completely turned around.

Software licensing in general is icky. It doesn’t make economic sense that a vendor can charge you more for a product when providing that product is no more difficult for them. IE, they can deliver you one cd with an operating system which you can install once or a thousand times without making the vendor work any harder.

Of course the opposite extreme of paying only for the effort put in by the vendor and not the usefulness of the end product doesn’t make any more sense.

That is, of course, why oss is a better model for the industry going forward. You get more collaborative development -> better integration. And at the end of the day, the money that does change hands is for something that *is* difficult to reproduce: service. Hell, the code doesn’t even have to be open so long as the product is free-as-in-beer to use.

I don’t understand why on earth software needs to cost more if you use more processors to power it in the first place, so a move away from that seems common sense to me. You buy a copy, you run one copy, you pay for one copy.

Now with virtualisation, you can run multiple copies on the same machine. Now if I was a software vendor, I’d say: pay for each instance, as it is like a seperate installation. This seems to make perfect sense to me.

Can someone explain why per-processor-licensing exists at all?

2005-10-10 9:55 pm

I don’t understand why on earth software needs to cost more if you use more processors to power it in the first place…

The perceived value of software is in part based on how much it increases your productivity. More OS instances thrown at a problem on more machines should equal more productivity, at least potentially, and therefore more value. If you have multiple users on multiple machines using multiple copies of an OS the increase in productivity is a by-product of individual productivity to a certain degree rather than a linear increase. So, why shouldn’t you get a volume discount to allow for individual shortcomings and normal marketing practices of volume discounting to make multiple sales more attractive to customers?

If you have a multi-cpu machine you are able to increase productivity based on the number of CPUs you have doing the task. This isn’t a linear increase in productivity because of multi-cpu overhead issues, so a linear increase in cost of the software isn’t really justified either unless you, or the vendor of the software, take into account that you only had to buy one, horribly expensive, but only one, machine instead of four. So, it may be argued that you are saving money on hardware, electricity and floor space by running a multi-processing capable OS or application. But it leaves things up to the buyer to implement a strategy that justifies the cost of the software. The vendor just says “Here is the price.” The buyer may decide to choose another available strategy or vendor.

These rationalizations to justify costs of both hardware and software worked for a long time. It also doesn’t take into account that some jobs are so large that a single CPU machine would take too much time to perform that task in a particular work environment and therefore you needed to have a multi-cpu machine. Bigger iron, bigger software cost. But that is a pre-clustering argument and besides, not all jobs are suitable for being moved to a cluster.

Mainframe software had this built-in in that the OS and applications had prices that reflected that the utility of the products could be enhanced by throwing more workers at it on additional terminals and that mainframes are more powerful to begin with and may have multiple CPUs as well. And per-cpu or per-seat pricing was common on mainframe software packages.

PCs changed that to the extent that we have a small simple package that doesn’t need to manage mainframe resources. PC OSes do need, in some cases, to manage multiple users or multiple threads and processes nowadays. But for the most part the licensing was based on one user at one single-cpu machine.

You buy a copy, you run one copy, you pay for one copy.

I have a single-cpu machine (without HyperThreading, thank you). If I am running 2 or 3 instances of an OS on it using virtualization it may be impractical for me to buy additional licenses to run it on that machine. I lose the ability to do that if I can’t afford it but the vendor loses sales if he can’t offer it at a price I might be willing to pay. Offering 4 virtual licenses with each copy sold address this issue to a degree, especially in the case of multi-core CPUs or multiprocessor systems. Buy one, get up to 4 free if you can use them. But what about me on a single CPU system? I am running the OS, but since I’m sharing the hardware among multiple OSes should I be able to get a reduced price for this kind of useage? Can I license on OS for 25% of retail since I am sharing the hardware 4 ways?

Solaris, which is now free, allows you to partition your machine into multiple independent units all running off of a single instance of the OS image. How would you charge for that if you were a vendor selling an OS?

2005-10-11 12:18 pm

I would see it a little bit differently:

Example: I have a webserver, an e-mail server and a file-server to run.

I could choose to do the following:

1. I could run each on a single-cpu, 100Mb/s networked computer. I would need 3 licenses of the operating system.

2. I could run each of these servers on virtual machines, hosted on a 3-CPU, 300Mb/s networked machine. I also would need 3 licenses of the operating system.

3. I could run each of the servers in one operating system as different processes, using the same hardware as in version 2. I would need one license of the operating system.

Assuming hardware costs to be equal in case 2 and 3, the operating system licensing costs have to be traded versus the maintainance costs.

I guess, having 3 seperate instances of operating systems is easier to manage and having less downtime than one instance running multiple services.

I can see a problem arising for per-instance licensing, because if that pricing model has no upper border, the virtualisation will never scale up to the thousands of instances that probably would make sense.

Free (as in beer) software ist clearly ahead in this game, because only support has to be paid for, and one machine with one instance is probably as easy to support as one machine with multiple instances, but time will tell if that assumption is correct. As long as the market forces are allowed to act on the price, the support costs will match the amount of work which is necessary to keep the system running.

Then you have three virtual servers, loaded on 1 server. Each thinks nothing has changed. But, now you have freed up 2 hardware boxes, possibly for another application.

Previously, you were charged for just the cost of the HOST OS.

Now, you will be charged for the HOST and the 3 GUESTS.

2005-10-11 2:46 am

Incorrect. If you have a host with 3 guests, you would pay for 4 copies of windows in the old model. In the new model, you pay for one copy of R2 enterprise edition and it covers your host and 4 guests. In the old model, if you were running SQL on a 4 physical processor machine you would need to pay for all 4 procs, even if you are running in just a 1P VM. In the new model you only pay for the 1 virtual proc. The news,com article has a number of errors. The press release has more details:

Any of the big Unix or Mainframe companies already have this worked out. Microsoft could adopt the per seat model but for some of their software this makes no sense. A web-server can literally have thousands of users, imagine having to pay per-seat for that?