4 ms·
I use Java every day, but we're stuck with Java 8 because of the confusing and frankly scary licensing around later JDKs. I would love to move to 17 but I need
by javajosh 5y ago
I use Java every day, but we're stuck with Java 8 because of the confusing and frankly scary licensing around later JDKs. I would love to move to 17 but I need something to show to the C-levels that gives them warm and fuzzies around the license. Does such a thing exist?
EDIT: I find it quite depressing that so many want to attack people for being confused around Java licensing. I submit that it is confusing on its face, but moreover insiders seems to understand how confusing it is, too:
https://softwareengineering.stackexchange.com/questions/119436/what-does-gpl-with-classpath-exception-mean-in-practice https://softwareengineering.stackexchange.com/questions/1194...
https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244 https://medium.com/@javachampions/java-is-still-free-2-0-0-6...
- cdblades 5y agoOpenJDK: "Oracle’s free, GPL-licensed, production-ready OpenJDK" I don't know what could be more convincing than an explicit open license.
- javajosh 5y agoThe Oracle License FAQ is scary and opaque. https://www.oracle.com/za/java/technologies/javase/jdk-faqs.html https://www.oracle.com/za/java/technologies/javase/jdk-faqs....
- cdblades 5y agoIt is, I definitely agree, but the statement I quoted is pretty darn straight-forward.
- javajosh 5y agoBut it's also wrong. Is there any legal precedent establishing what the "GPL with classpath exception" even means? Does each build of the OpenJDK come with it's own license? https://softwareengineering.stackexchange.com/questions/119436/what-does-gpl-with-classpath-exception-mean-in-practice https://softwareengineering.stackexchange.com/questions/1194...
- _old_dude_ 5y agoThis FAQ is about Java SE builds, not the OpenJDK builds. Java is Still Free (2019) https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244 https://medium.com/@javachampions/java-is-still-free-2-0-0-6... I don't know if there is a more recent version
- eganist 5y ago> OpenJDK: "Oracle’s free, GPL-licensed, production-ready OpenJDK" I don't know what could be more convincing than an explicit open license. lack of enterprise support. And also what javajosh said. Here's a(n arguably biased) corroboration: https://www.mondaq.com/unitedstates/corporate-and-company-law/1038660/8203warning-to-oracle-customers-don39t-be-fooled-by-oracle39s-java-playbook-oracle-is-not-your-friend https://www.mondaq.com/unitedstates/corporate-and-company-la...
- filomeno 5y ago> lack of enterprise support. You don't get that with Java 8 either, unless you are willing to pay for it. In that case, what's the difference between paying Oracle for support for Java 8 and newer releases?
- jatins 5y agowhat does enterprise support mean in context of a programming language?
- javajosh 5y agoIt means having a service that you can contact with questions about the platform. For example, if you're having a weird GC problem you can pay Red Hat $300/hr to have a presumed expert (ideally a committer to OpenJDK) look at it with you and help you solve it. There may also be variants of this where you "subscribe" and get a certain number of support hours.
- ozzythecat 5y agoI'm curious if there is really a strong need for this service. What kinds of problems is a company solving and at what scale, that they need to have dedicated support with the language?
- hyperpallium2 5y agoSuing Google for a billion dollars makes people irrationally nervous. Just sign the license and agree to all the terms and conditions. Nothing will go wrong.
- pjmlp 5y agoSo when will Android Java be proper Java?
- dvdkon 5y agoPerhaps point out how many non-Oracle commercial JVM vendors exist? They might not trust Oracle to be sane, but Red Hat, Microsoft, SAP and Amazon are all very big names in the industry who offer their own JDK distributions, some of them also offer commercial support.
- javajosh 5y agoDo you know what the legal relationship is between Red Hat and Oracle is? I think Oracle v Google has sent shivers of fear through anyone wanting to rely on Java, including through an intermediate, because the strength of the relationship is only as strong as the weakest link in the chain. In other words, what is the risk that Red Hat will be sued by Oracle someday over their use and support of Java?
- vbezhenar 5y agoGoogle perverted Java. That's what Oracle sued Google for. And that's what Sun sued Microsoft for decades ago. Red Hat is not trying to turn Java into something different, it just builds and supports existing OpenJDK codebase. It's absolutely different thing.
- pjmlp 5y agoYeah, where did all those from anti-J++ cheering crowd went?
- bradleyjg 5y agoLet’s say Oracle sues Red Hat (now IBM), so what? Are android devs all totally screwed because Oracle sued Google? I’m not going to defend Oracle’s business practices but this seems like FUD. You can use Red Hat, Amazon, or Azul’s jvm. If it’s too “scary” to do so for your company than you need better executives and/or lawyers.
- boulos 5y ago> If it’s too “scary” to do so for your company than you need better executives and/or lawyers. That is the point though. It's sort of obvious if you read through the terms. But if you're at a company that is already afraid of words like GPL, the JDK is "now" also scary. At the same time, even if your legal department are scared of Oracle (and really just stories of "I heard Oracle sued Google"), I claim that the Corretto docs (and similar) are quite clear.
- didibus 5y agoJava and the OpenJDK have become more free than it was before, just don't use the OracleJDK if you don't like their commercial license. Instead use the OpenJDK.
- jillesvangurp 5y agoExactly. There is zero technical reason to use the Oracle JDK. OpenJDK licensing is GPLv2 with the classpath exception. Nice and simple. If you want to get your arm twisted and pay more, Oracle indeed provides you that option. You can also get a nice linux distribution from them and a database. And companies actually exist that buy all those things from them. But for the rest of the world, you can also get certified JDKs from Azul, Amazon, Red Hat and a few others. All fine choices. Pretty much the entire financial industry, including some of the most conservative companies on the planet, depends on Java and I doubt most of them are paying Oracle for that. Why would they?
- StevePerkins 5y agoI just don't buy this at all. Unless you're talking about a seed-round startup, where the C-levels are all 20-something year old frat bros straight out of college. No remotely competent CTO or CIO in any halfway respectable enterprise is still going to be confused about Java licensing in 2021. The only people I EVER encounter with any confusion around Java licensing are students, entry-level devs, and people from other ecosystems who parrot things they hear on Internet forums. OpenJDK is free and open source. It imposes no license restrictions on your server-side applications, and these days imposes virtually no limitations on retribution of the JDK itself with traditionally-shipped applications. Oracle's own binary build of the OpenJDK source code is a commercially licensed thing, because it comes with some extra proprietary tools that people might care about when profiling applications in a large enterprise. But there are other OpenJDK builds with no cost or licensing restrictions whatsoever, from Azul, IBM, Amazon, and others. Outside of the largest and most conservative Oracle shops, virtually everyone uses one of these free JDK builds. So much nonsense FUD is made from "lack of commercial support" for the non-Oracle JDK builds. Not "having someone to sue" if something goes wrong, etc. For one thing, who are you supposed to sue when you have a problem with Python or Node? If you want someone to be financially liable to you, then you have to financially pay someone to take on that liability. In practice though, have you ever even heard of a lawsuit over a JDK bug? This is nonsense.
- javajosh 5y agoIgnoring the ad hominem attacks, I appreciate your attempt to clarify the situation. However, you are factually wrong about Oracle's position, because they actually offer two different builds of Java - one that is GPL'd (with classpath exception) and one that is commercial[1]. I take the first claim seriously because it's downloadable as a tar.gz file without any license acceptance. However "GPL" is another thing that causes worry among the C-levels (and myself). A superficial reading might be that Oracle's JDK does not come with the GPL encumbrance. But this also raises the question: what differs between the various JDK builds? And again, what is the legal status of "OpenJDK" particularly WRT Oracle? I personally don't think these are stupid or trivial questions. Nor do I think the answers are obvious. Nor are they nonsense FUD. I am certainly NOT an Oracle partisan - I saw first hand what they did with Sun. 1 - https://jdk.java.net/17/ https://jdk.java.net/17/
- twic 5y agoThe licensing around post-8 JVMs is neither confusing nor scary. If you're confused or scared by it, that is entirely on you, i'm afraid.
- javajosh 5y agoGreat, then explain it.
- twic 5y agoIt's GPL 2, with an exception which lets you distribute binaries containing your own code linked to the JDK without having to provide the source to your own code (see '"CLASSPATH" EXCEPTION TO THE GPL' at the end): https://github.com/openjdk/jdk/blob/master/LICENSE https://github.com/openjdk/jdk/blob/master/LICENSE This is substantially the same as the GCC Runtime Library Exception, which lets you distribute GCC-compiled binaries linked to the GCC runtime without having to provide the source. That's it.
- javajosh 5y agoThanks. During this discussion I found the OpenJDK source code, cloned the repo, and build a fully-functional JDK [1]. Presumably the license forces me to share modifications to the JDK code itself, but not to any application I run on the JDK. If I wanted to distribute my JDK (I don't, BTW) what limits are there? Do I need to get certified? Run compatibility tests? Pay a fee to Oracle? Or do I just need to plop a binary on Github or S3 and call it a day? 1 - https://openjdk.java.net/groups/build/doc/building.html https://openjdk.java.net/groups/build/doc/building.html