Are you compliant with your Oracle ULA in the Public Cloud?

By Richard Spithoven

Approximately 10 years ago, Oracle Corporation started to sell the right to make use of its software programs in a so-called “all you can eat” type of agreement called “Unlimited License Agreement” (ULA). An Unlimited License Agreement provides an end user the right to unlimitedly deploy and use a limited amount of Oracle programs for a limited period of time. More details on how “unlimited” these license agreements actually are and how they actually work can be found here.

At the time ULAs were introduced, the “public cloud” was not a concept many companies were actually thinking of. In today’s world, this drastically changed. Many organizations are considering or moving their on premises programs to public cloud providers such as Amazon AWS, Amazon RDS or Microsoft Azure.

However, many end users with a ULA agreement don’t have a clear understanding of, or better said, are confused about how they can or cannot deploy the Oracle programs license by a ULA in a public cloud. The general perception is “I have an unlimited agreement, so I can deploy it everywhere”. This is true, but only to a certain extent. Let us clarify in more detail, what you should be aware of.

Unlimited Deployment Rights

Every customer that has a ULA will have an Unlimited Deployment Right clause in its agreement stating that as long as you continue to pay your license and support fees, you have the right to use the programs (as included in your ULA contract) by an unlimited number of Processors or Users. As such you as an end user are correct that you can deploy the Oracle programs on public cloud providers such as Amazon AWS, Amazon RDS and Microsoft Azure. So far so good.

Certification Process

But what happens at the end of the ULA? At the end of the ULA end users have the choice to either renew the ULA for a number of Oracle programs for a certain period of time against an additional license and support investment or to certify the ULA.

Many end users believe that in case of a certification, they will end up (in case the deployed programs are counted correctly) in a “compliant” situation. But – according to Oracle – this is not the case if you deploy the Oracle programs on a public cloud provider such as Amazon AWS, Amazon RDS or Microsoft Azure. Why? Oracle will refer to its “Licensing Oracle Software in the Cloud Computing Environment” policy document as published online which states:

Licenses acquired under unlimited license agreements (ULAs) may be used in Authorized Cloud Environments, but customers may not include those licenses in the certification at the end of the ULA term.

In other words, Oracle allows you to deploy the Oracle programs on a public cloud provider BUT does not allow you to certify such deployment.

Let’s look at an example.

You have an Unlimited License Agreement which expires in May 2018. You deploy today a total amount of 300 Processors Oracle Database Enterprise Edition on premises and you are currently using a total amount of 200 vCPUs in Amazon AWS on which the Oracle Database Enterprise Edition is running. In this scenario you probably expected that you could certify 300 Processors for your on premises deployments and 100 Processors for your public cloud deployments. Oracle will, however, not agree with you. This since you will only be allowed to certify 300 Processors for your on premises deployment, as per its own policy. And what about these 200 vCPUs you currently deploy on Amazon AWS? Well actually you are not entitled to certify these licenses, so you are non-compliant as of your certification date. How can you resolve this? Oracle will be more than willing to sell you another 100 Processor licenses Oracle Database Enterprise Edition at 47.500 USD per Processor (list license) and 10.450 USD per Processor (list support).

Many colleagues in the field or at clients typically would then respond saying, this “Licensing Oracle Software in the Cloud Computing Environment” policy document is ‘for educational purposes” and not contractually binding. That is absolutely true. But don’t be fooled. Oracle includes in its newer ULA agreements (as of October/November 2017), additional language in its new ULA agreements which explicitly states that Oracle programs – which are installed and running in a public cloud – are NOT allowed to be included in your certified deployment numbers. So, for all newer ULA agreements, it will become part of your agreement and is no longer only part of an online policy document. In addition, Oracle put through another change in its newer ULA agreements: it includes language that you as an end user will provide Oracle all additional information and assistance as reasonably may be requested to validate the information contained in your ULA certification.

In other words, you agree that Oracle will conduct an audit. But will their scripts only audit the specific Oracle programs you want to certify? Or will they provide its so-called “LMS Collection Tool” that will collect all the deployment and usage information for any and all Oracle programs within your infrastructure? For sure the latter, trying to determine any compliance issue which can be commercially leveraged for another ULA or Cloud transaction.


As with almost any license agreement; the devil is in the details. If you enter into an Oracle Unlimited License Agreement and you want to deploy (and certify) the Oracle programs in Public Cloud providers such as Amazon AWS, RDS or Microsoft Azure make sure that you negotiate specific non-standard terms and conditions in your agreements, to make sure that you can leverage the full potential of your investments made. Make sure that you have a clear view of what you sign up for. And before doing so, have a clear view of what your current and future deployment of Oracle programs is going to look like, so that you can act and make informed business decisions.

About the Author

Richard Spithoven is a Director at B-Lay