The computing environment is changing and software licensing models are struggling to keep up. In a world where processors have multiple cores, where a single hardware server may be running multiple virtual machines and where processes are dynamically allocated to resources, the traditional models often don’t apply.
Take the idea of restricting a program to run on a particular processor, or even a single machine at a time. Does this apply to a single processor or a single core? Dual core processors are commonplace and servers already have more. This is a trend that will increase, because chip designers can no longer increase clock speeds in the manner to which we have become accustomed and so they are putting multiple processing units – or “cores” – on each chip instead.
Virtualisation is also becoming common, as IT managers look to improve the utilisation of their hardware and to manage heterogeneous environments. This also confuses the “per-machine” model of licensing. Microsoft has been in the news regarding its licensing terms for virtual machines but it is far from the only vendor that faces this problem.
Virtualisation is made most effective when applications are dynamically assigned to resources as needed. This is a key concept of grid computing and is already found in many data centres. Some multinationals use the same idea on a global scale, using whatever resources are relatively idle as demand fluctuates at different times of the day (or night). Again, per-processor models break down in this new world. For those multinationals shipping jobs around the time zones (“chasing the moon”), even site licences no longer apply.
There is an extra complication on the global scale. Software is not the same price throughout the world, as vendors set prices at what the local markets can bear. What price should be charged to multinationals chasing the moon?
Utility computing and “Software as a Service” also put strain on traditional licensing models. Per-user licensing is not practical in these situations and vendors may not be happy if their per-processor licences are used to serve many buyers instead of one.
So what can you do about it? If your enterprise is large enough, you can negotiate a custom deal with your supplier. Many large companies are doing just that. But this doesn’t scale to the many SMEs trying to increase their server utilisation and reliability with new IT techniques.
One suggestion is that we should pay per unit of use, just as we do for mobile phones. The telecommunications companies are keen on this idea, as they have the technology to handle the billing involved. But there are complications.
For one thing, it is not clear what to measure as a unit of use. Should we pay the same for an hour running on a new, fast, processor as we do for an hour on a four-year-old model due for recycling? Are we paying for processor cycles or user time? What about memory and disk storage?
The answers to these questions will differ from application to application and between vendors, as each adopts a model that is most appropriate for their business. Therefore any licensing infrastructure must be flexible enough to cope with a variety of charging models.
In addition, the financial director buying a pay-by-usage licence will want to know how much this will cost him over the year. He or she doesn’t want to be in the position of a parent paying for a teenager’s uncontrolled overuse of the phone.