The subject of running Oracle software in VMware has been a contentious one for some time. Oracle’s own contract language does not deal with it directly or explicitly. Oracle’s position has been to essentially not recognize VMware as a means of reducing the licensing requirement. In short, according to Oracle, if you run Oracle software anywhere in a VCenter, you must license all the processors in the VCenter – even if the VM with Oracle software is running in a small cluster with just 1 processor. Oracle maintains this position even if you have VMware settings that would restrict the VM from migrating out of its cluster.
For the most part, this position had never really been challenged in court by any Oracle customer – until late 2015. Mars, yes the confectioner and maker of Mars candy bars, took Oracle to court after Oracle threatened to terminate the candy maker’s entire Oracle license inventory. This was after Mars pushed back against Oracle’s ridiculous position on VMware in the course of an audit. Oracle did not put up a fight – at all – and simply agreed to close things out of court. As a result of this, many conclusions have been drawn and written about extensively. The key conclusion seems to be that Oracle’s position on VMware is entirely indefensible.
A detailed analysis from a VMware perspective of Mars Vs. Oracle is apropos, so here we go. (While there are other issues and objections that were raised by Mars as part of this filing, we feel that the VMware aspect is the most important, and probably the reason Oracle agreed to settle out of court. Our discussion will focus on the VMware aspect).
There are several documents related to this case, but we have downloaded and provided the key document for your reference. To access all court documents relevant to this case, head over to http://www.sfsuperiorcourt.org/online-services/ and click on “Case Number Query” and search for case number CGC15548606.
Oracle’s License Management Services (LMS) formally initiated a license audit of Mars in September, 2014. The letter from LMS didn’t call it an “audit”, but referred to a “License Review” – a future point of contention. Progress on the audit was slow and, it appears, contentions. After much back and forth, things began to unravel. After Oracle threatened to terminate Mars’s licenses, Mars went to court seeking a declaratory judgment. The court filing indicates several issues and objections raised by Mars, including the following:
- Specifics of Oracle’s audit rights.
- Definitions of what needs to be licensed – the issue of licensing programs in “use” and “installed and/or running”.
- Assessing Oracle licensing requirement in VMware.
- Oracle Agile “User” definition, and which users need to be licensed.
- General objections to how Oracle conducted the audit, including scope issues, apparent lack of consistency, refusal to establish agreed upon audit procedures, as well as Oracle’s request to run scripts as part of the audit.
One of the breaking points was VMware (the other was the definition of an Agile “User”, discussed below). According to Mars, they provided all the necessary details for determining Oracle usage in their VMware environment. However, Oracle LMS requested VCenter-level details on the VMware environment that contained a VMware cluster dedicated to Oracle (the court filing does not refer to “VCenter” level details, but refers to other clusters in the VMware environment. We infer this as being at the VCenter level, which is Oracle’s standard, if absurd, approach).
Mars objected to Oracle’s request for details of the entire VMware environment. Mars’s position, per the court filing, was that it had extensive technical controls and limitations in the VMware environment that prevented the VMs with Oracle software to migrate out of its cluster and float into other parts of the VMware environment. Mars seems to have demonstrated this to Oracle via a video recording to that effect. Furthermore, per Mars, Oracle’s request for the additional data was beyond the scope and not relevant.
Oracle, however, continued to persist on its position that, thanks to VMware’s VMotion feature, all processors in the VMware environment required licensing. Following more heated exchanges, Oracle concluded that Mars was not complying with its contractual commitment to “reasonably” assist with the audit, and was therefore in breach of the contract. Oracle threatened to terminate Mars’s inventory of Oracle licenses. Mars responded by taking Oracle to court and requested, among other things, a permanent injunction against Oracle to prevent Oracle from terminating Mars’s licenses. Oracle responded by agreeing to not terminate the licenses and essentially quietly closing out the audit without further threats of license termination.
So, what happened? The problem with such out-of-court settlements is that we don’t see the details or Oracle’s internal thought process. We also don’t see Oracle’s side of the story, unfortunately. We don’t know if Oracle decided to avoid a court battle due to the VMware issue, or the Agile “User” issue, or both. We also don’t know if the other smaller issues raised by Mars had much of an impact.
Our assessment is that Oracle’s VMware position – that Mars must license the entire VMware environment – was indefensible. It’s clear that Oracle did not want a legal precedent that defeated its position on VMware and therefore withdrew its threat of license termination.
The discussion around the other key issue – Agile “User” definition – is more subtle. It appears that Oracle was expanding its definition of “front-end multiplexing” to an unbelievable extent. In Oracle’s definition, in cases of user-based licensing, the users that need to be licensed include all users connecting to the Oracle software, including those connecting through front-end applications.
Suppose a customer has Database Enterprise Edition deployed to support an application and is licensed by users (Named User Plus licenses). Then per Oracle, the user population that needs to be counted and licensed is the total population of the application that connects to DBEE on the backend. In Mars’s use of Oracle Agile, it appears that Oracle was requiring Mars to also license all users that were viewing or using outputs generated by the Agile software, and not just the immediate users of Oracle Agile. We feel it’s highly unlikely this would have held up in court, but would not have been the likely slam dunk the VMware issue would have been for Mars.
Overall, the Mars case seems like excessive over-reach by Oracle across the board. Based on the court filings, Mars indicated they had license surpluses for several products. If that’s the case, it’s possible that Oracle may have been trying to hang on to whatever scraps they could. Oracle’s approach on VMware seems roundly defeated, and their position on counting users at the front end is iffy at best. Unfortunately, Mars had to provide 233,098 pages of documentation to Oracle and follow that up with a court case to bring the audit to a reasonable conclusion.
Stay tuned for another blog entry on the key takeaways and how you should view the Mars case when it comes to running Oracle in VMware.