Oracle recently announced a change in their licensing, starting January 2019, which affects the use of Java in specific scenarios:
Solr, the most popular indexing engine for scaled Sitecore solutions, depends on the Java runtime in order to function. With this change, there are two choices:
- Purchase a subscription to license production usage of Java
- Migrate to the open source (OpenJDK) version of Java
Below are some common questions to help you understand the changes announced by Oracle.
When does the change come into effect?
This change impacts all public updates to Oracle Java SE 8 (a.k.a. v1.8) and later versions released after January 2019. To get critical bug fixes or security fixes after that point requires a subscription.
What parts of Sitecore use Java?
Sitecore application code does not use Java directly. Sitecore application code runs on .NET or .NET Core, depending on the product, service, or module.
However, during customer implementation, an indexing service must be integrated to store Sitecore indexes. Customers can choose between Lucene (not recommended), Solr, and Azure Search out of the box but might bring their own solutions as well. Customers choosing to implement Solr, our recommended option for scaled Sitecore solutions, will need Java on the server where Solr is installed.
It is also possible that customers may implement custom modules or third-party platforms which are running on Java, but the customer should follow up with the vendor for that software for impact analysis.
Can I continue to use Sitecore and Solr and Java for free?
Yes. To continue to use Java absolutely free for commercial purposes, you can choose to run OpenJDK, an open source licensed version. Oracle will continue to provide builds and updates for OpenJDK 8.
Depending on your organization’s production system requirements, this may or may not meet your needs. If you require commercial support from a vendor, you can get it from Oracle directly or from major open source operating system vendors.
Alternatively, you can choose to stay on the existing Java version you have installed, but you will not be able to download updates after the January 2019 release without a commercial license.
More details on OpenJDK available on the official site: https://openjdk.java.net
What is the difference between OpenJDK and the Oracle commercial version?
No commercial support agreements are available with OpenJDK from Oracle, but you do get all the updates that are released for OpenJDK.
Other vendors can sell commercial support for OpenJDK along with their existing software. For example, RedHat provides OpenJDK support as part of their RedHat Linux support.
Is there any impact to getting official support from Sitecore if I choose OpenJDK or the Oracle commercial version?
There is no impact to your ability to get support regardless of whether you use OpenJDK or the Oracle commercial version. Sitecore’s Solr compatibility table is based on the version of Solr, not on the version of Java.
What if I don’t update Java and stay on the version I have now. Will I still be able to use Sitecore going forward?
Sitecore does not specify any required version of Java, but different versions of Sitecore do have different supported versions of Solr. Solr’s Java requirements will ultimately dictate compatibility.
Are there any alternatives to Solr and Java that work with Sitecore?
You can choose to avoid worrying about the Java licensing by running Solr as a service (such as with SearchStax). This allows you to continue using Solr without worrying about Java licensing. This becomes embedded in your service cost.
You can also use Microsoft Azure Search, or other commercial alternatives.
Where do I learn more about the Oracle Java licensing changes?
Oracle Java SE 8 announcement: https://java.com/en/download/release_notice.jsp
Oracle FAQ on Licensing and Distribution: https://www.java.com/en/download/faq/distribution.xml
Jeremy Davis, Sitecore MVP, blog series: