Hacker News new | past | comments | ask | show | jobs | submit login
Do I need to pay for Java now? (karakun.com)
62 points by nfrankel on July 19, 2018 | hide | past | favorite | 27 comments



The conclusions that the article draws in "What does the new release train mean to my company?" are completely wrong.

Starting with Java 11, Oracle JDK is no longer free for commercial use, not even for a single day. However, as long as people are OK with GPL v2 + Classpath Exception (which is more permissive than it sounds) and don't need support from Oracle, they can just move to OpenJDK, which is built from the exact same codebase.

Shoutout to https://adoptopenjdk.net, which plans to ship LTS releases of OpenJDK. I believe this will be crucial for keeping the Java ecosystem healthy.


Does OpenJDK have the same optimizations as the official JDK? I thought OpenJDK doesn't have java's JIT...


Where did you get that idea? The differentiation between OpenJDK and Oracle JDK happens of course in the truly important part of the library: font rendering.

https://technfun.wordpress.com/2013/01/18/last-difference-op...


That information is outdated. I'll say it once more: Oracle JDK 11 and OpenJDK 11 will be built from the exact same codebase.

https://mjg123.github.io/2018/05/25/Opening-Oracle-JDK-Featu...


From that article: "The JVM - This is where the majority of the OracleJDK-only features are. Oracle is open-sourcing a new GC, performance enhancements, tracing tools and a host of other changes."

If they open-source the performance of the JVM, they have nothing left to sell.


The quote describes the situation before JDK 11. As of 11, performance of Oracle JDK and OpenJDK will be exactly the same. They'll sell support and certified LTS builds.


Can you source that claim?

Also funny that they took the downloads offline today:

https://docs.oracle.com/technetwork/java/javase/downloads/jd...


Apparently some links broke, but nothing was taken offline: http://www.oracle.com/technetwork/java/javase/downloads/jdk8...

> Can you source that claim?

From https://www.azul.com/eliminating-java-update-confusion/:

Oracle stated that their goal was to eliminate any functional differences between these two binaries. This will be complete with the release of JDK 11 in September. To achieve this goal, certain features (such as Flight Recorder and Mission Control) have been contributed to the OpenJDK project, whilst other features (like Java Web Start and JavaFX) are being removed from the Oracle JDK.

From http://www.oracle.com/technetwork/java/javase/eol-135779.htm...:

As announced in September 2017, with the OracleJDK and builds of Oracle OpenJDK being interchangeable for releases of Java SE 11 and later, [...]


There are alot more stuff that OpenJDK does not have. Try running it on ARM for example, it's like 4 times as slow, unusable.


There's a full C1+C2 port to ARMv8 here:

http://openjdk.java.net/projects/aarch64-port/

Are you sure it's 4 times as slow? I'd be surprised if that is the case, but don't have the hardware to check.


I'll make a benchmark when there is some feature that the free forever Java SE JDK 8u181 does not have that I need, until then I'm only using 8u181 (or anything better that comes after that and before Jan 2019)


I'd be surprised if the exact same codebase (as of Java 11) was 4x slower just because it's called OpenJDK.


Yes, in this case it is not the exact same codebase. There are actually a number of ARM backends in OpenJDK. If i recall there is an A ARMv5/6 one from the community and Oracle open sourced one for the same or for v7. And then the modern AArch64 one.


I wonder how this is going to play with JetBrains. If they're going to say F java and focus on a different direction. This is a pretty big deal moving forward. Seems like the community will now need to focus a lot of effort into the open jdk. This effectively happened with mysql & oracle. This company likes acquiring open source tech and then turning it into a commercial tech.


Does anyone have an idea of whether C#/.NET are gaining ground on Java in the enterprise?


Will you have to pay for the current Java 8u181 in prod?

I'm backing up the latest Java 8 for all platforms now.

Goodbye Oracle, Java 8 is the final Java, time to roll up the sleeves and build our own VM language!


You won't have to pay for using Oracle JDK 8u181 in prod, and you won't have to pay for using OpenJDK 11 and higher in prod.

You will have to pay for using Oracle JDK 11 and higher in prod, which is built from the exact same codebase as OpenJDK 11 but offers commercial support and long-term support (LTS) releases.

https://adoptopenjdk.net plans to ship LTS releases of OpenJDK for free.


Ok, thanks!

But I'm pretty sure the superior performance of the closed source Oracle JVM will never be open-sourced.

It's the only value Oracle has left, and they know they cannot exploit it, even if this is a nice try.

Of the 2 million Java coders there are atleast 1% that care enough to look at building a 100% open-source VM language.

I hope James Gosling is building exactly that at Amazon.


As of 11, a "closed source Oracle JVM" won't exist anymore, and there won't be any performance difference between Oracle JDK and OpenJDK.


If so my guess is Oracle will be gone within 10 years.


Not until theres a critical security vulnerability where you must upgrade.


If openjdk doesn't make it's own JavaFX builds, it's time to move on to other languages, far better than Java on licensing base..


TL;DR: Yes. You have to pay for Java now.

Quoting the article: «Oracle JDKs may only be used in production if you buy the commercial support.»

The alternative is using OpenJDK in production. We'll have to see how much the Oracle JDK and OpenJDK will diverge.


> TL;DR: Yes. You have to pay for Java now.

You have to pay for Oracle JDK but not for OpenJDK, which is just as good, except for a less business-friendly license, no commercial support, and no LTS builds straight from Oracle (instead you need to put your bets on adoptopenjdk.net).

> Quoting the article: «Oracle JDKs may only be used in production if you buy the commercial support.»

Yes, but the author forgets about this in the "What does the new release train mean to my company?" section and draws completely wrong conclusions.

> The alternative is using OpenJDK in production. We'll have to see how much the Oracle JDK and OpenJDK will diverge.

They will be identical. All of Oracle's JDK work, even LTS related work, will go into the OpenJDK repo.


How is a license that puts no restrictions on usage "less business-friendly"?

... Oh I see, Oracle's strategy here is to monetize GPL FUD.


> How is a license that puts no restrictions on usage "less business-friendly"?

Use of GPL licensed software is heavily restricted in many corporations, whether or not it has the Classpath Exception. Among other things, it's hard to verify/enforce that projects only link against files that have the Classpath Exception.


I hope you're right.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: