In late 2018, Oracle announced they will make you pay for using Java. This news has caused a great deal of confusion among both customers and Software Asset Management experts. Many people, for good reason, believe they need to pay fees to Oracle to move forward with their Java usage. However, access to the open source Java license hasn’t been cut off completely. Read on to find out how you can continue to benefit from a free Java license and when to upgrade to a paid license.
First and foremost, you’ll need to understand the difference between the two (2) different Java offerings from Oracle.
There are currently two versions of Oracle’s Java:
- Oracle OpenJDK
- Oracle JDK (also known as Java Standard Edition or Java SE)
Let’s clear up any confusion surrounding OpenJDK’s pricing — OpenJDK remains a free product even with the new licensing rules. This is because OpenJDK is licensed under the GNU General Public License, which is a free license for software and guarantees end users the freedom to run, modify, and share the software for free. Although certain limitations apply, OpenJDK is intended for both public and commercial use and will remain free for the foreseeable future.
However, it is important to understand Oracle’s new release cadence and how this can affect your organization. Oracle has announced that upgrades for OpenJDK will be released every 6 months, and each release will replace the previous one. Consequently, any new bug fixes can only be applied in 6-month intervals. Also, any security risks identified in any of the previous Java versions will only be addressed in security patch updates every 6 months. This forces customers to perform upgrades for their Java environment twice a year aligned to Oracle’s release calendar, which may lead to performance issues or instability, along with IT operational challenges.
Depending on the size of your organization, you may require a dedicated team to test, install, and update new Java versions before implementing them, as well as check for any system anomalies or compatibility issues with other applications. Not only will the teams need to install and test these updates twice a year, but they will also be required to monitor and manage the Java environment more diligently than before. This may not be practical for many IT departments, who are continually faced with having to both run and grow their businesses.
For those IT departments who can’t dedicate a team to Java updates, they may prefer Oracle JDK. Though not free, Oracle JDK provides 3 years of licensing and support, and customers will have immediate access to security patches, updates, and bug fixes throughout the entire support period. IT teams will have 3 years of runway before they need to upgrade to the next Java version so this allows more time to properly test and integrate Java into their IT landscape. However, it all comes down to what end-users are more comfortable with from an IT operations perspective — upgrading Java in 6-month intervals or doing so every 3 years.
Understand your Java environment.
So, should you stick with the free license or move to the paid one? This is the question most organizations are currently assessing. If you are currently deploying Java or you’ve been planning to start using Java, you should start by asking your IT leaders the below questions.
Question 1: What version of Java do you use?
We believe this is the most important fact to know about your Java environment. Without proper knowledge of your Java environment, you won’t be able to make effective licensing decisions.
After you find out your currently deployed license version, you can consider the following three (3) options if you want to stay with Oracle Java:
- Stay on your current version of Java without performing any updates that will force you to accept Oracle’s new licensing terms. This option is not recommended because of security threats that might leave your entire organizations exposed to cybersecurity attacks. If you are still using Java 8 or lower, then you may want to rethink the entire Java environment for a possible upgrade or an alternative solution.
- Purchase Oracle support for Java 11. This is the first version made available for the 3 years subscription licensing model. If you decide to transition to Java 11, it’s key to note that desktop pricing is $2.50 per user per month, or lower with tiered volume discounts. Processor pricing for use on Servers and Cloud deployments is $25 per month or lower, depending on the purchasing volume. For more details around licensing metrics and volume-based pricing, check out Oracle’s Global Price List for Java http://www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf.
- Upgrade to Java 12. This is the latest version of OpenJDK released by Oracle in March 2019 and can be used for free in any environment. However, based on the new licensing rules of Oracle, you should be prepared to upgrade to the next version in September 2019, given the 6-month release schedule. While companies with small Java environments might not see any issue with upgrading this often, larger organizations may need to consider the effort and resources needed to support this IT and change management process.
Question 2: Where is Java being deployed?
If your company uses Java for testing and developing only (non-production), then you can keep using Oracle JDK without paying for it. However, if Java is heavily deployed in your production environments, you will need to purchase the proper licenses from Oracle or re-consider your options as discussed above. Oracle has confirmed that it no longer offers any commercial support for OpenJDK builds after the April 2019 update.
Question 3: How many applications and users are Java-dependent?
You’ll want to be able to assess all possible risks of using OpenJDK vs Oracle JDK, and also, understand the financial impact of moving to the subscription-based licensing model. Before making a decision, it is essential to understand how the release frequency may affect the applications running on Java and how IT resources will be impacted to effectively support the updates.
Actual and intended usage are also very important factors in deciding which licensing metric or model is best suited for your organization. Oracle licenses JDK on the “Named User Plus*” metric, which means that you will be required to pay for all the “individuals authorized to use the programs which are installed on a single server or multiple servers regardless of whether the individual is actively using the programs at any given time. A non-human operated device will be counted as a named user plus in addition to all individuals authorized to use the programs if such devices can access the programs.”
Alternatively, you can also license JDK on the “Processor*” metric which “shall be defined as all processors where the Oracle programs are installed and/or running. Programs licensed on a processor basis may be accessed by your internal users (including agents and contractors) and by your third-party users.” (Source: Oracle Java SE Subscription Global Price List)
To summarize, the most important difference between the two available Java builds come down to how often customers will receive updates and support. If you’re using the OpenJDK version, Oracle won’t be providing updates to past versions and new releases will follow a 6-month schedule, whereas Oracle JDK will provide access to patches and updates throughout your subscription term, allowing more flexibility on product upgrading timelines. Also, understanding actual and intended and will help you determine the most effective licensing model for you, factoring in any IT operational impact and subscription costs to your organization.
With that said, we strongly recommend evaluating your entire IT landscape that runs on Java and taking the necessary measures to ensure you won’t spend more time and money than needed to keep your Java environment reliable, stable, and secure. By partnering with a 3rd party licensing expert and initiating a Java risk assessment, you can help your company stay compliant with Oracle and save millions of dollars in unplanned subscription or software licensing fees. To learn more or to schedule a no-charge Java evaluation, contact Connor at firstname.lastname@example.org today.