For as many deployment models for packaged software as exist there are an equal or higher number of software licensing models. I used to think integration of software packages was the biggest challenge when evaluating them for Network Computing but the truth is that calculating the cost of licensing for that software was even more of a challenge. And realistic comparisons? Nearly impossible.

The old models of software licensing are wholly incompatible with cloud computing and on-demand environments.

money Enterprise software is in a category unto itself when it comes to licensing. It isn't like drive-by downloads: pay $39.95 through PayPal or a credit card and it's yours, deploy at will. Enterprise software licensing is a complex system of variables and equations that would make the heads of even third year calculus students swim.

Cloud computing introduces yet another variable, one that is nearly impossible for software vendors to account for and for customers to track. Even in the simplest licensing models - CPU based - cloud computing introduces variability that may cause customers frustration. After all, the number of CPUs - or cores - that software will be running on in the cloud is variable. That's the definition of elastic. If an application needs more compute power (CPUs) it gets it. But if you aren't licensed to run on that many CPUs, you're out of luck legally.

Even more disturbing is the use of virtualization as a horizontal scalability method. If you only licensed one instance of software X but your provider needs to spin up two to meet demand, well, legally you're out of luck. What you should do, legally, is license more instances than you need and hope it's enough to meet demand. costofvirtualizationWhen I first started looking at the actual TCO of virtualization, BEA offered a "TCO calculator". Frightening was the percentage of TCO it calculated as being related to software licensing and support in a virtualized architecture. Licensing costs increased by nearly 20% when moving to a virtual architecture. How are we reducing costs by using virtualization and cloud computing again?

Perhaps the answer is licensing based on concurrent users. Many applications use this model, and tightly control access to the software based on the maximum licensed limit of users. But again, in an elastic environment, the purpose of which may be to scale up on-demand, that model makes no sense. You'd need to license for many more users than you currently support - just in case.

SaaS (Software as a Service) has already addressed this issue, and it may be that we see a lot more packaged applications moving to an SaaS model in order to alleviate the issues associated with licensing - and the potential abuse thereof. But not all packaged software can simply move to a SaaS model and it certainly can't move there overnight. There are assumptions about environment made by most enterprise class software that aren't true in an SaaS deployment. Unlike and other green-field SaaS solutions, many packaged enterprise applications can't simply take legs and plant themselves in a cloud computing environment without adversely affecting the rest of the application ecosystem and, ultimately, the business.

It may be that a new licensing model is in order that takes into consideration the cloud computing and virtualized environments. One that takes into consideration the need to "burst" beyond licensed limits without impacting service, but can "charge back" to the customer later, based on what resources or number of users were actually serviced. Or perhaps we're looking at a fundamental change in the way software is licensed, where CPU and the number of cores or adapters or integration points is no longer a part of the licensing equation; where software licensing moves to an "on-demand" model and enterprises are charged monthly based on how many users or requests were served.

Regardless of how the software industry addresses this challenge, it must be addressed. The old models of licensing based on CPUs or instances or named users simply does not work in the on-demand, elastic world of cloud computing and virtualization. Over provisioning is one solution, but one that is costly and that causes the benefits of reduced operating and capital expenses to not be realized when moving to a cloud computing environment.

Like static network and application network infrastructure, rigid software licensing models need to change; they need to evolve into something more fluid and flexible, and applicable to the new world of on-demand computing.

Follow me on Twitter View Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share