Much of this stems back to the days of centralized processing and a time when software was designed to run on a specific machine with a specific configuration. As computing technology evolved, software vendors realized that they, too, needed to change the way they were licensing software to address the needs of (and, more specifically, the actual use by) their customers. What this meant for you and me was the ability to license software on a per-user basis and we then installed these products on our home computers.
On the business-side, however, you found licensing to be more challenging. Companies didn't want (or sometimes couldn't afford) a license for each potential user - so they asked and were gifted with the concept of concurrent user licenses. This model, for example, allows a company to buy 10 licenses for the use by any of the companies employees, limited to 10 instances of the software running at any one moment in time. What was good for the consumer quickly became gold for the vendor as they realized that by altering the license model, they could also control revenue.
For products that were licensed per CPU, as many mainframe and server products were, it wasn't a huge stretch for vendors to increase their pricing when dual-, quad-, etc CPUs became common. Based on the idea that the payment amount was tied to the capability of the software, the argument was made that if you increased the processing power, you increased the software's ability, thus increasing its value.
Fast forward now to dual core processors and what you see is simply two processors on one chip rather than two separate processors. The pricing logic stays the same. Virtualization is the same issue - if you can run more than one instance of a product, you should then supposedly have to pay for the increase in processing capacity.
So all in all, technology changes of this sort aren't contract issues, they're really pricing issues. And as long as software is licensed based on its perceptual value to the customer (which economic theory proves will always be true), then this type of technological leap will always result in an increased price. At the introduction of any new technology, however, the consumer will have a small lead time where they will be able to take advantage of the increased power without paying for it - at least until the contract renews. Stating it in the contract, however, is merely a matter of showing the math equation that x processors = y dollars.
One way to protect yourself is to pay attention to technological changes and draft language in the agreement to address the advent of new technologies (at least to the extent that they can be foreseen). An example of this is the fact that many businesses have been including language for the last several years that clearly states that neither additional processing power nor changes in computing technologies will result in a recalculation of the license/maintenance fees paid under the agreement. This type of clause works to prevent a vendor from taking advantage of the increase in power as a reason to increase maintenance fees (since most licenses are perpetual, maintenance is the only ongoing fee).
This was first published in February 2007