This content is part of the Essential Guide: Essential guide to Linux in the enterprise
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Warning: Not all cloud licensing models are user-friendly

Cloud licensing models can be complex, limiting and aggravating. Don't get trapped with the wrong license.

Cloud licensing models, or cloud licensing management, should focus on the ability to move applications and data from one virtualized environment -- data centers, private clouds and public clouds -- to another. Cloud licensing management also encompasses license mobility, or moving licenses for applications and operating systems from one virtual environment to another, such as from:

  • a virtual host to another virtual host within a virtual data center
  • one host to another host within a public cloud
  • one host to another host within a private cloud
  • a virtual data center to a public cloud and back
  • a private cloud to a public cloud and back
  • a public cloud to another public cloud and back

 Traditionally, there are three basic software and hardware licensing types:

  1. Per user: User is granted a license to use an application or connect to an OS.
  2. Per device: An application or OS is granted a license on a per-device or per-processor model.
  3. Enterprise: This licensing model covers all users and devices.

Even though these licensing structures are still in existence and are used today for hardware and software, some of them can lead to some un-user-friendly cloud licensing models. In the virtual data center, VMware created vMotion to dynamically move virtual machines (VMs) from one virtual host to another. However, technology isn't available to easily move an application and its data from one cloud environment to another and then back again, mainly because there are often major differences in cloud implementations.

While community open source cloud software offers some reprieve, you'll have to fend for yourself when it comes to support.

In cloud computing, the number of servers hosting applications to meet demand increases or decreases dynamically according to uptime, reliability, stability and performance. This dynamic auto-scaling capability could overwhelm enterprises with excessive software licensing costs.

Three choices in cloud software licensing

You can encounter various software licensing issues, no matter which environment you're moving applications or data to or from. In cloud computing licensing models, enterprises have three basic choices: propriety software, commercial open source licensing and community open source licensing -- each of which has its own pros and cons. For example, while open source software licensing has fewer limitations for customers, proprietary software licenses generally include vendor support.

"If cloud providers get it right and software vendors play ball, the proprietary vs. open source software debate may become more favorable to proprietary software in the cloud than it is on-premises," said William Vambenepe in a blog post. This argument centers on cloud computing providers and vendors removing the usual hassle of cloud license management that users experience.

For large customers with enterprise (i.e., unlimited) licensing agreements, removing the concern of license management may not be a big deal, added Vambenepe. With better, more-friendly cloud license management options, enterprises won't have to track license usage and renewal. In addition, users wouldn't need to worry about switching from a development license to a production license when moving to a production environment.

Proprietary software licensing has traditionally been static and bound to specific locations and hardware. This doesn't necessarily work in virtual data centers or cloud environments though, which have opened up enterprises to a more dynamic world. Proprietary software licensing has not kept up with this shift.

But you can't point a finger solely at proprietary cloud software; commercial open source software also has its share of restrictions and problems. Several open-source vendors such as Eucalyptus Systems and have licensing models that are somewhat similar to proprietary vendors' licensing structures.

Commercial open source vendors typically implement closed-source features that aren't available in the underlying open source project code. These features aren't shared with the associated community until the vendor deems that they no longer provide a competitive advantage. Some say that commercial open source software is "software that is open for all, but better for paying customers."

Eucalyptus Systems is an example of a commercial open source, or open core, cloud vendor. It offers two editions of its Eucalyptus cloud software: Eucalyptus Community Edition and Eucalyptus Enterprise Edition 2.0, the commercial edition. The Community Edition, which is a free download from the Eucalyptus software project site, does not include support. Eucalyptus Systems is the primary contributor to the Eucalyptus project.

Eucalyptus Enterprise Edition 2.0 is the closed source edition of the Eucalyptus open source project. It is licensed based on the number of processor cores on the physical host server. Eucalyptus Systems takes a snapshot of the Eucalyptus open source project code, adds features to it, provides support and charges a licensing fee. Any add-ons are closed source code; however, one industry blogger noted that one of the features previously reserved for Eucalyptus Enterprise Edition 2.0 are now being open sourced.

Community open source cloud software, on the other hand, practically has no limits; you can license it to an unlimited number of users and can run it on an unlimited number of servers -- no matter the number of processors. Community open source cloud software allows you to access the code and make changes -- as long as you have the qualified staff to do so. If the community open source cloud software lacks features that your enterprise needs, there's no need to wait for the next release. You can implement the features, send them to the community open source software project team and lobby to get them included in the mainstream release. There are no licensing costs involved with this, but there is cost in man hours associated with the time your software team spends coding and implementing the features. And you will need to provide your own support or hire a third-party to handle support.

OpenStack is the primary example of community open source cloud software. It has received the support of several large vendors, including Dell, HP, Intel, Citrix and Rackspace, and is expected to become a strong candidate for an open standard for cloud computing. If this happens, it will resolve, to a large extent, the issues surrounding cloud interoperability and application mobility and can greatly simplify licensing in hybrid clouds., which was acquired by Citrix in July 2011, also provides a closed source version of its CloudStack software. CloudStack 2.0 Community Edition is an open source Infrastructure as a Service (IaaS) software platform that's available under the GNU General Public License. The Community Edition enables users to build, manage and deploy cloud computing environments; it's free of charge and the community provides support.

CloudStack 2.0 Enterprise Edition is open source and includes closed source code. It comes with an enterprise-ready subscription-only feature set and commercial support.'s CloudStack 2.0 Service Provider Edition also is open source and includes closed source code. It gives service providers a management software and infrastructure technology to host their own public clouds.

Commercially licensed open source software is sometimes derived from a single vendor-controlled open source project in which the vendor limits contributions from third parties. Copyright ownership and an inability to track code contributions are two reasons why vendors would limit outsider contributions.

Red Hat created its Red Hat Cloud Access program to enable customers to transfer Red Hat Enterprise Linux subscriptions between their own self-hosted infrastructure and Amazon Elastic Cloud Compute (EC2). Customers can use standard licensed support contracts and methods to receive Red Hat support, but not all licenses are eligible for Red Hat Cloud Access.

Customers need to have a minimum of 25 active premium subscriptions and maintain a direct support relationship with Red Hat. Customers that receive Red Hat support through a third party or hardware OEM, such as HP and IBM, are not eligible. A premium subscription costs $1,299 annually, for a server with up to two processor sockets, or $2,499, for a server with three or more sockets. In addition, you can only use a single subscription for one VM at a time.

A look at Microsoft and Oracle licensing models

Major proprietary software vendors like Microsoft and Oracle have complex cloud licensing models. Both companies, however, are making attempts to make cloud licensing management more customer-friendly and less expensive, though the desire to maintain profit margins still gets in the way of this do-good attitude.

In July 2011, Microsoft initiated cloud mobility, allowing customers to use current license agreements to move server applications from on-premises data centers to clouds. Customers can use license mobility benefits for SQL Server, Exchange Server, SharePoint Server, Lync Server, Systems Center and Dynamics CRM. One limitation of Microsoft's license mobility is that customers with volume licenses can only move the license between environments once every 90 days. If you move Exchange Server to Amazon EC2, for example, you cannot move it back to an on-premises server until the initial 90 days have passed. If you do, you need to purchase another license for the on-premises server.

But there's a catch. Microsoft license mobility is available only to customers who pay extra for Software Assurance (SA), which can nearly double the cost of a license; SA for servers is typically 25% of the cost of a license, multiplied by three years. Customers that want to deploy Windows Server instances in a cloud cannot use their current licenses. They must purchase new licenses.

And while a Windows Server Datacenter Edition license doesn't limit the number of VMs installed on a physical host, it does cost more. Microsoft is clearly limiting its licensing changes to give greater mobility across clouds to maintain profit margins.

Enterprise agreements with SA usually apply to customers with more than 250 users and devices. Smaller customers without volume licensing agreements will have to pay again if they decide to move applications from an on-premises data center to a cloud service.

Amazon gives its Amazon EC2 customers that want to use Windows Server instances a break in complexity. Customers simply pay Amazon on a per-hour basis; they don't have to purchase a license from Microsoft. However, using a Windows Server instance on Amazon EC2 does cost more than using a Linux instance does.

Oracle is another large proprietary vendor with a complex and costly cloud licensing model. When Oracle programs are licensed in the cloud, customers must count each virtual core as a physical core, even though multiple virtual cores could be sharing a physical core. Oracle licensing depends on a few things: the Oracle database edition, software environment, and whether you want to license based on named users or number of processors. Blogger Neeraj Bhatia provides more information on the complexities and cost of licensing Oracle database editions in cloud environments.

No quick answers for cloud licensing confusion

Licensing models for all cloud software -- except community open source software --hasn't caught up with the times and the flexibility and mobility of cloud computing. That means you may have to accept the possibility of having to live with nightmarish cloud license complexity when using proprietary vendors, commercial open source vendors, and vendors such as Red Hat, that provide open source products but sell subscriptions to cover support. And while community open source cloud software offers some reprieve, you'll have to fend for yourself when it comes to support.

Today, the best way to develop, run and license applications with a minimum amount of licensing complexity is to use open source software tools like LAMP or run a single vendor environment such as an all-Microsoft environment using Windows Azure.

Companies like Red Hat that primarily attract only their installed base to their cloud products risk losing share in both the cloud and OS markets if they don't address the pricing and licensing needs of cloud customers. But there are no clear winners yet, either. Given the inherent limitations of cloud licensing among most cloud vendors, a large swath of the vendor pool needs to adapt to the changing computing landscape.

About the author:
Bill Claybrook is a marketing research analyst with over 35 years of experience in the computer industry with the last dozen years in Linux, Open Source and Cloud Computing. Bill was Research Director, Linux and Open Source, at The Aberdeen Group in Boston and a competitive analyst/Linux product-marketing manager at Novell. He is currently President of New River Marketing Research and Directions on Red Hat. He holds a Ph.D. in Computer Science.

Next Steps

Cloud licensing explained

Microsoft formalizes cloud computing enterprise licensing

Cloud computing licensing: Buyer beware

Dig Deeper on Open source cloud computing