Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Working in the JVM world I'm always surprised to hear that its dying

So how is this "JVM world" escaping the grip of Oracle? E.g. graalvm is directly Oracle's, or am I missing something? Specifically, what is preventing any of the Java-related things people use now (including those that you mention) to end like the OP is describing?

Asking as somebody outside of that world, but interested "how much it's worth considering" under the given circumstances (Oracle being Oracle, demanding a lot of money for everything Oracle's that some company could use, and owning a lot of that "world"). Where are the boundaries? What is safe and outside of reach of Oracle? E.g. what is safe for a small company to use?



Graal Community Edition is licensed under GPL, there is a Enterprise Edition that has additional features that is licensed differently.

OpenJDK does not need commercial licensing, but Oracle JDK which is built from OpenJDK needs.

Then there are plenty of other vendors to chose from if you absolutely does not want to interact with Oracle.

IBM and now Eclipse foundation OpenJ9 is a very interesting TCK compliant JVM, then you have Azul Systems that innovates a lot with Zulu/Zing.


GPL is not usable for any small company which doesn't want to publish its own sources.

What can be used only using BSD, MIT, Apache licenses? And what from the GPL-licensed products is safe to use to produce and sell own closed source products (e.g. where the exception to GPL exists for just linking the libraries or similar)?

Edit1: Long term dangers/costs of depending on the technologies that need commercial licenses like Oracle’s are also important.

Edit2: And additionally, just as an old example, once I’ve considered using Berkeley DB in the closed source product (before some of the current alternatives were available), and my interaction with Oracle proved that only a bigger corporation could fund that. For a library which was already open source, but owned by Oracle. It's not that I'm in the "I don't want to pay for anything" camp -- I'm simply having a perspective of a small player. And about small players Oracle couldn't care less. However, the significant changes very often come at that level of cheapness and overhead, most of technologies would be still not widely accepted otherwise.


You probably use Linux today, that fact does not require you to publish the source for your program running on Linux.


> GPL is not usable for any small company which doesn't want to publish its own sources.

Maybe I'm missing something, but AFAIU you have to publish any changes to that library, not your sources.


There are different levels of what’s allowed for different GPL based licenses. To use a library as a library with another license a GPL library exception has to exist for the library etc. If you step on only one of such mines your whole product has to be GPL-ed.

It the context of my questions here, and as an example, my guess is that I can't use graalvm to produce a binary which I can sell without either open sourcing everything I've made or paying too much to Oracle. But I don't know for sure and for each of the mentioned technologies, that's why I'm asking very specific questions.


> my guess is that I can't use graalvm to produce a binary which I can sell without either open sourcing everything I've made or paying too much to Oracle.

GraalVM CE is licensed under GPL 2 with Classpath exception (https://github.com/oracle/graal/blob/master/LICENSE), specifically so that binaries created with GraalVM (which contain the GraalVM runtime) don't fall under the GPL.


As far as I can tell the GPL in the Graal source repo includes a classpath exception. So the license wont affect a program distributed with it.


> So how is this "JVM world" escaping the grip of Oracle?

Why would you? What is the point of "escaping"? It is like asking, "how would Go world escape the grip of Google?" — no one cares to, because nobody asks Oracle for permission to make software for JVM.

Java EE has been in maintenance mode for a long time, but Spring and Dropwizard are alive and well despite that. Incidentally, Nginx Unit has recently implemented Servlet spec — a cornerstone of JEE! — but they are stuck at it's initial version, without asynchronous Servlet support. Maybe Oracle should give Nginx a couple of decades to catch up before drafting next JEE version...


Oracle seems hell-bent on undoing the openness around Java that SUN was allowing. What I'm reading between the lines of this report from the Oracle-Eclipse negotiations is that Oracle wants to roll back the world to a "thou shall not have a JVM besides mine" state with a hefty price tag on commercial usage of their VM.


I'm sorry, but as bad as Oracle's sales and legal behavior has been, I don't see how the evidence supports your claims.

Oracle has open sourced (or deprecated and removed) the remaining commercial elements in the JDK -- OpenJDK now is truly the complete open reference implementation of the JDK, JRE, and JVM.


OpenJDK is an open distribution and preinstalled on all major operating systems and is now the standard JVM for most developers. We even have open distributions of it e.g. Amazon Coretto.

GraalVM isn't even at version 1.0 so nothing at all to worry about.


> OpenJDK is an open distribution and preinstalled on all major operating systems

My understanding is that it is preinstalled on chrome os and android, but is not preinstalled for any major linux distribution, is a separate third-party download for windows and Mac, and is unavailable for iOS.


On the contrary, Linux distributions ship only OpenJDK.


They ship it, but it doesn't come pre-installed.

I don't see how this is an argument though, there is no Java in a standard desktop/server installation, but it's trivial to install if needed.


Since when OpenJDK is preinstalled on Windows?


... and iOS? And I’ve only done upgrades, but I don’t believe any JVM is preinstalled on MacOS.


Apple used to have its own JVM implementation.

As for iOS, RoboVM, Codename ONE, GluonVM are three possible AOT compilers to native code.


Apple's JVM was MRJ, the Macintosh Runtime for Java. It became obsolete around 2004, during the transition to Mac OS X.


Last time I used MacOS, it prompted me to install Java and then it did the install. I was in the Terminal, I am not sure what the interaction would look like if I had double-clicked a JAR file.

I believe Apple donated their customizations (Swing L&F, launcher code, etc.) to OpenJDK.


This is Apple's old build of Java 6, and is currently downloaded as needed for backward compatibility. Anything newer than that the third party is expected to bundle into their application.


Yes, Graal is the evolution of Maxime, started by Sun Research Labs, which Oracle kept alive.

All good alternatives to the JVM are commercial.

The free ones are generally just repackaging Oracle's work on the OpenJDK, with zero contribution to Java's research and respective improvements.

Hence why it is always ironic to see the crys to use OpenJDK and forget about Oracle.




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

Search: