# Elasticsearch Oracle Java dependency

**URL:** <https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639>\
**Category:** Elasticsearch\
**Created:** [December 21, 2016, 6:38am UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639 "2016-12-21T06:38:32Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mosiddi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mosiddi/32/577_2.png) [@mosiddi](https://discuss.elastic.co/u/mosiddi)\
**Post date:** [December 21, 2016, 6:38am UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/1 "2016-12-21T06:38:32Z")

</div>

We’ve been asked to get back with details on whether Elasticsearch is using any of the licensed components Oracle, other then the pure JRE, which is actually free.

I’m trying to see if there is any forum report at the Elasticsearch end that categorically says that Elasticsearch is not using any of the paid components in Java SE..

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [December 21, 2016, 9:28am UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/2 "2016-12-21T09:28:36Z")

</div>

Oracle Java SE/Server JRE installation includes a binary code license agreement [http://www.oracle.com/technetwork/java/javase/terms/license/index.html](http://www.oracle.com/technetwork/java/javase/terms/license/index.html) you have to agree with, this is totally your private business.

Where do you get the information from that "the pure JRE" is "actually free"? Whatever you mean by "free", it is surely not correct if you refer to hacking the Oracle Server JRE, which comes with a binary code license. If you mean you are allowed to redistribute the JRE, see [http://www.oracle.com/technetwork/java/javase/jre-8-readme-2095710.html](http://www.oracle.com/technetwork/java/javase/jre-8-readme-2095710.html)

With regard to Elasticsearch, you can consult

[https://www.elastic.co/de/support/matrix#show\_jvm](https://www.elastic.co/de/support/matrix#show_jvm)

and I understand from this page there is no strict dependency or technical requirement on anything with Oracle Java products because Elasticsearch 5.x also runs on OpenJDK 8 .

I suggest to use OpenJDK 8 [http://openjdk.java.net/install/](http://openjdk.java.net/install/) because of the GNU Public License [http://openjdk.java.net/legal/gplv2+ce.html](http://openjdk.java.net/legal/gplv2+ce.html) which ensures the freedom you certainly mean.

---

<div class="post-metadata">

**Author:** ![mosiddi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mosiddi/32/577_2.png) [@mosiddi](https://discuss.elastic.co/u/mosiddi)\
**Post date:** [December 21, 2016, 9:40am UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/3 "2016-12-21T09:40:50Z")

</div>

Thanks! This is helpful data.

---

<div class="post-metadata">

**Author:** ![jimsonc](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@jimsonc](https://discuss.elastic.co/u/jimsonc)\
**Post date:** [December 21, 2016, 11:34am UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/4 "2016-12-21T11:34:58Z")

</div>

With the recent reports of Oracle stepping up the drive to charge money for users of Java, I'm also interested to know if Elasticsearch uses/relies on any of the following components of Java, namely:

JRE Usage Tracking (Present in JRE 7+ & 8+)  
Java Flight Recorder (Present in JDK 7+ & 8+)  
Java Mission Control (Present in JDK 7+ & 8+)  
Java Advanced Management Console (Present in JDK 8+)

Even if Elasticsearch also runs on OpenJDK 8, the above question still stands in cases where it is running on Oracle JDK 7+ or 8+.

Can you shed some light on this?

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [December 21, 2016, 12:41pm UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/5 "2016-12-21T12:41:33Z")

</div>

The following link might be useful, it's a public discussion about the Oracle Java licensing topic. I am not able to verify all the statements, I'm not a lawyer, so you are on your own.

> **[Should the average Java developer be concerned about Oracle recently "ramping up...](https://www.reddit.com/r/java/comments/5ixx0j/should_the_average_java_developer_be_concerned/)**
>
> I'm part of a start up and we're using Java as our back end. We're planning to launch in the upcoming months, but now I'm concerned as to whether...

Elasticsearch, to my knowledge, does not force you to use black-magic Oracle JVM parameters such as

`-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=60s,filename=myrecording.jfr`

but it is always possible for sysadmins to tamper with the configuration after having downloaded and installed Oracle Java, and then running a Java application like Elasticsearch afterwards.

As said, it's primarily a business of the person who installed Java, not just Elasticsearch.

In order to validate, you should check the file `config/jvm.options` and the environment variables `ES_CLASSPATH`, `ES_JVM_OPTIONS`, and `ES_JAVA_OPTS` of your Elasticsearch installation for proper values, and examine the Java process command line of running processes for dubious parameters.

Also make sure to verify the Java installation on the computers for proper configuration. In case of doubt you should ask your sysadmin and/or policy/compliance/legal department for help, they are able to explain and understand the Java installations and the license agreements.

---

<div class="post-metadata">

**Author:** ![nik9000](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nik9000/32/44947_2.png) [@nik9000](https://discuss.elastic.co/u/nik9000)\
**Post date:** [December 21, 2016, 1:14pm UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/6 "2016-12-21T13:14:45Z")

</div>

I agree with @jprante. Elasticsearch needs a JRE that looks like the OpenJDK. As in one that implements all the stuff it implements. So Oracle JRE, is fine from a technical perspective. The OpenJDK packages are fine too.

The trouble with the OpenJDK releases is that they are typically packaged by different folks in different distributions. We test against a wide range of distros and java versions so that little check mark next to OpenJDK 1.8.0.91+ is well earned. Zulu _ought_ to work as well but it isn't on the list so it isn't officially supported. I believe some of our windows builds test against it.

---

<div class="post-metadata">

**Author:** ![jimsonc](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@jimsonc](https://discuss.elastic.co/u/jimsonc)\
**Post date:** [December 21, 2016, 3:12pm UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/7 "2016-12-21T15:12:53Z")

</div>

Thanks Jörg. This is very helpful. My primary intent was to determine a way to list the capability that ES is using in Java. If we can reasonably establish that it not using any of the paid components, then we might be OK.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 18, 2017, 3:13pm UTC](https://discuss.elastic.co/t/elasticsearch-oracle-java-dependency/69639/8 "2017-01-18T15:13:06Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
