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 cost and flexibility? Worst case, the hardware
savings from the server consolidation that virtualization enables
will be gobbled up by software licensing charges.
As the box ‘Counting The Costs’ shows, most server
software is still licensed per socket or per CPU, which essentially
mean the same thing. The reasoning is simple: chips are easy to
count and unlikely to change during the life of a server, and these
licenses give IT a strong incentive to use the most powerful
multicore chips available. But then, getting the most out of
software has always required high-performance hardware. The only
difference is that Intel and Advanced Micro Devices are now more
likely to boost performance by increasing cores than increasing
megahertz.
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 box ‘Virtualization
Five Ways’). 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 has 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 OSs, 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.
Expensive To The Core
IBM and Oracle have moved in the opposite direction from BEA,
counting individual CPU cores. IBM’s per-core licensing now
applies to about half of its software offerings, including DB2,
WebSphere, Tivoli and Domino, while Oracle’s applies to its
flagship database. Both vendors also take into account the
performance of each processor line so that costs approximate the
actual computing power available to an application.
IBM’s scheme is the most complex. It charges customers per
PVU (processor value unit), which is equal to 1 percent 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 in the 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 to be licensed only 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. The 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.
License To Bill
With virtualization and multiple cores making per-server pricing
obsolete, vendors are taking a look at several alternative schemes
(see box, ‘Software Licenses, Take Your Pick’). The
most well-known is metered pricing, which isn’t new at
all—IBM has offered it on mainframes for more than 40 years,
and it still accounts for 10 percent of all IBM’s software
revenue. The model is generally more akin to a cell phone plan than
strict metering: a fixed fee includes a certain amount of computing
power, with customers paying extra when this cap is exceeded. It
also isn’t limited to software as the bill is for the
underlying hardware too.
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 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.
Stream Team
Licensing savings were one of the main arguments initially made
in favor of application streaming, the first desktop virtualization
technology aimed at the enterprise. Vendors like Softricity
promised that centralizing applications on a server, instead of
installing them on every desktop, would mean fewer required
licenses because apps would need to be licensed only for the number
of people actually using them at any given time. That savings pitch
fell by the wayside, however, once Softricity was bought by
Microsoft.
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 be legally 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 the
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 be legally 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 will soon 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.