Last July IBM revamped its server software licensing to deal with multicore processors. Out went conventional per-processor or per-socket licenses. In came a more complex, but notionally fairer, scheme based on exactly how much computing capacity an application uses. Of course, measuring capacity is difficult, so IBM introduced a free planning and tracking tool, the Tivoli License Compliance Manager. Theory was, IT could see in real time how much a performance boost would cost, then IBM could audit use quarterly and send a bill.
There was just one problem: virtualization. The management tool ran at the application layer, so it couldn't always tell a virtual machine from a real one, meaning it misreported the amount of computing capacity that virtualized applications used. IBM withdrew the tool and suspended quarterly audits earlier this year. It plans to release an updated version that works with virtualization by mid-2008. Until then, customers are on their own, with no easy way to know whether they're complying--or even how much they owe. "Right now, we're on the honor system," says Roger Kerr, software business strategist at IBM.
While IBM's experience is the most embarrassing we've heard, the company isn't alone. Multicore processors and virtualization are nails in the coffin for standard software licensing models, but there's no agreement on a replacement. And the problem isn't confined to the data center. Licensing issues have already slowed development of Intel's virtualization technologies aimed at desktop management, while Microsoft is using desktop virtualization as a way to drive adoption of its Software Assurance subscriptions.
While it's tempting for enterprise IT to chuckle at this state of affairs, you need to pay attention: Alternative licensing schemes range from the familiar, like open source and SaaS, to untested models like pricing based on memory or virtual cores. At best, they could mean lower costs and more flexibility. But let's be real--when have software vendors embraced low costs and flexibility? Worst case, the hardware savings from the server consolidation that virtualization enables will be gobbled up by software licensing charges.
Per-chip licensing makes sense for software that runs on clearly defined hardware. This used to mean every OS and most apps, but virtualization changes all that by adding a hypervisor that shields the OS from the underlying hardware (see "Virtualization Five Ways," below). So it's no surprise that VMware has also adopted per-socket licensing, as have open source hypervisor vendors XenSource (acquired by Citrix Systems) and Virtual Iron.
What does surprise us is that Microsoft and Sun Microsystems both stick to the same model for virtualized Windows and Solaris--that is, treating each VM as a physical server with the same number of sockets as the underlying hardware. On its own, this would be a powerful deterrent to virtualization. But both vendors have offsetting reasons. In Microsoft's case, higher-end versions of Windows Server 2003 include licenses for extra virtual instances of the software on the same CPU--one on the Standard Edition, four on the Enterprise Edition, unlimited on the Datacenter Edition. The same will apply to Windows Server 2008. All Microsoft server licenses also include downgrade rights, meaning a virtual instance can be replaced by Windows 2000 or Windows NT.
In Sun's case, Solaris 10 includes Containers, a rival technology to hypervisor-based virtualization. Containers are closer to desktop streaming than VMware's approach in that they isolate applications without needing separate OS instances for each. That saves on resources but means only Unix apps can run. In addition to Solaris, Containers also support Linux.
Unlike Sun, Microsoft makes no distinction among virtualization technologies or vendors. This is likely because its own Hyper-V (formerly Viridian) hypervisor isn't due to ship until the third quarter of 2008. Microsoft says it will continue its hypervisor-agnostic policies even after Hyper-V is available, but in practice, most Windows Server 2008 users will make the switch.
Although Microsoft earlier this month announced that it would unbundle the Hyper-V technology from Windows Server, a change from its previous claims that Viridian is an integral part of Windows Server 2008, the two are still designed to work together, and customers who choose to buy the server without it save only $28. Hyper-V represents a challenge to VMware; Microsoft already competes with hypervisors through Virtual Server 2004, a free tool that can run other operating systems on top of Windows Server 2003, rather than alongside it. At present, however, Virtual Server supports only Windows as guest OSes, though Microsoft has said it will support SUSE Linux.
BEA Systems is thus far the only vendor to abandon per-socket licensing, albeit only for LiquidVM, a virtualized Java platform that cuts out the OS and runs directly on VMware. LiquidVM is licensed per instance, regardless of whether a VM runs in a few spare CPU cycles or consumes all the resources in a cluster. This model looks relatively easy to game and likely will be attractive to very large customers.
IBM's scheme is the most complex. It charges customers per PVU (processor value unit), which is equal to 1% of a standard dual-core Opteron or Xeon. IBM divided its per-socket prices by 100 to set per-PVU pricing, meaning most x86 customers initially will see no change. However, upgrade to quad-core x86 chips, and you'll pay twice as much per processor because each one now counts for 200 PVUs.IBM says this model is fair because a chip with four cores can do twice as much as one with two. The problem for IT is that chip core counts are growing exponentially. That means IBM license fees will do the same if the number of PVUs per core and the price per PVU stay constant. Because this scenario is untenable long term, IBM says it will adjust the number of PVUs per core to account for actual performance and the expected diminishing returns of adding more cores to a chip. At present, all x86 cores count for 50 PVUs.
IBM's PVU system is also the first large-vendor licensing scheme to explicitly take virtualization into account, through what IBM calls "subcapacity licensing." If a server is divided into multiple virtual machines, the apps within each VM need only be licensed for the maximum number of cores available to the VM, not every core in the server.
Of course, keeping track of this scheme is what caused such a problem for the Tivoli License Compliance tool.
Subcapacity licensing can result in savings, but only if VMs are tightly constrained to a limited number of cores. Problem is, the greatest selling point of virtualization is its flexibility, enabling capacity to be moved around between VMs as loads demand. To take advantage of this attribute, every application needs to be licensed for every core that it might run on, something IBM admits will entail higher costs for most customers. It's also very hard to measure, prompting the recall of IBM's tool. The company is developing an updated version as part of a larger Tivoli product aimed at virtualization management, though the tool itself will remain free.
Oracle's licensing is simpler than IBM's, based on counting cores as fractions of a processor, but it's less virtualization-friendly. An Oracle database running on VMware must be licensed for every core on the underlying hardware--regardless of how many cores the VM actually runs on. At present, the only way to save on Oracle licensing through virtualization is to limit the processor cores available to a database through Solaris Containers, which Oracle sees as placing tighter limits than VMware when it comes to restricting the number of cores available to an application.
Before it was acquired by Oracle, PeopleSoft had the most egalitarian system, a proprietary equation that accounts for a customer's industry, head count, and revenue. Oracle still offers this scheme for PeopleSoft products, but few other vendors have adopted it. Although often criticized for a lack of transparency, PeopleSoft's scheme essentially institutionalizes the variable discounts that many vendors offer from list price.
For many IT groups, open source can be a simple, inexpensive solution to licensing uncertainty. Although open source licenses can seem complex, and much is made of the differences between GPL versions, the only users who need to worry are those who plan to redistribute code--namely, hardware and software vendors. Every license approved by the Free Software Foundation and Open Source Initiative lets software be freely copied and used for any purpose. If free software is deployed only within an organization and no copies are given to outsiders, there's never a legal obligation to buy a license or to contribute code back to the community.
This free model works well for businesses that have the internal talent to download, deploy, and troubleshoot open source software. However, companies that require support will need to buy it from a commercial vendor, which puts IT back in the same boat as if it had bought closed source software. Red Hat, Novell, and most other commercial Linux vendors charge in much the same way as Sun and Microsoft do, with separate support licenses for each physical socket.
In the hypervisor space, Virtual Iron and Citrix XenSource both layer their own proprietary management software on top of the open source Xen, so they also charge per socket.
Most Linux distributions now include a Xen hypervisor, but vendors are split on how they handle licensing for instances that run on top of it. Novell lets customers run any number of instances inside VMs, with payment based on the underlying number of CPUs. Red Hat follows the same model as Sun, requiring a separate license for each installation unless customers use its built-in virtualization technology.
Streaming still has the potential to save on licensing, but only because it provides greater visibility into who is using which applications, a feature also found in most desktop management software. The problem with license sharing is that apps like Microsoft Office are tied to a particular PC, and licenses aren't easily transferable. Many popular apps are also licensed per user, which is nice for people who want to install a single copy on both a desktop and a laptop, but not so good for companies hoping to save money by consolidating users around a single PC.
Application virtualization makes it possible to use more than one version of an app at a time, but Microsoft Office users must either buy separate licenses for each version or join Microsoft's Software Assurance program, under which customers pay a monthly fee for updates. Microsoft denies that this is software rental, preferring to call it a "time-limited license." Software Assurance helps customers who want to shift from capex to opex, but it can be more expensive in the long run. Still, Microsoft is heavily pushing Software Assurance, with virtualization as an important driver. Its own Microsoft Application Virtualization (formerly SoftGrid) product is available only through Software Assurance, as is Vista Enterprise, the only version of Windows that can legally be run in multiple VMs without buying multiple copies. The license lets users run up to four separate instances of Vista, or previous Windows versions, on each PC.
In the long term, that could be a powerful incentive to upgrade to Vista, especially as virtualization itself can solve many compatibility problems affecting legacy apps. But there are still compatibility issues with newer Windows features, in particular BitLocker encryption and Rights Management Services. Microsoft's licenses prohibit use of either in virtualized environments, as current hypervisors aren't designed to work with the Trusted Computing security model. Back in 2003, Microsoft talked about creating a desktop hypervisor that would support use of advanced features as part of its Palladium road map, but that's on indefinite hiatus.
As with servers, other versions of Windows are licensed to run on only one machine (physical or virtual) at a time. Windows shops that don't want Software Assurance, or Apple customers that want to run virtual Windows, must buy separate licenses for each instance of Vista Business, Vista Ultimate, or Windows XP, an expensive proposition because licenses must be for full copies, not upgrades or OEM versions. The less pricey Home versions of Vista can't legally be run in VMs at all.
COMING TO A DESKTOP NEAR YOU
Because the hardware-assisted virtualization that AMD and Intel are adding to their chips applies across their full lines, regardless of whether the chip is designed for a workstation or server, full VMware-style virtualization soon will become more common on the desktop. Intel's vPro initiative promotes desktop virtualization as a means of helping enterprises keep control of systems: A management or security agent can run in a separate VM from the main OS, immune to malware or configuration changes made by the user.
Rather than enter the management or security markets, Intel is partnering with established vendors, including CA, Check Point, Cisco Systems, LANDesk, Novell, Symantec, and Trend Micro. The original plan was that all would offer management agents running atop Windows CE, which in turn runs on a custom version of the Xen hypervisor alongside the main Windows XP or Vista OS. However, although vPro chips first shipped in September 2006, only Lenovo offers a VM-based agent. According to LANDesk and Symantec, the main reason for the delay is that management vendors are unwilling to pay Microsoft's licensing fees for Windows CE. As an alternative, Intel in May announced a partnership with Red Hat to replace Windows CE with Linux, with likely availability in mid-2008.
There's even better news for Windows desktop users switching to multicore CPUs: Microsoft's per-socket licensing applies to clients as well as servers, so all versions of Windows XP and Vista are able to use the full capabilities of quad-core and future processors. But if you have power users who require two physical CPUs, be careful, especially if upgrading to Vista. Whereas XP Pro supports two sockets, all versions of Vista except Ultimate are limited to one.