17 ms·
Oracle’s Java 11 trap
- tyler274 8y agoas long as openjdk remains open i dont mind
- haimez 8y agoAgreed, it's what I've been using in production all along and maybe the rise of docker will mean that fewer people are directly installing the JDK on their production machines. Still, I bet there will still be some unfortunate souls that run the Oracle JDK in production without knowing the rules have changed.
- bradleyjg 8y agoAs long as OpenJDK remains open and maintained for a reasonable length of time, I don't mind. Right now it's looking good, but only thanks to Red Hat (et al.) and not Oracle.
- pjmlp 8y agoWhen did Red-Hat hired all Oracle developers working on OpenJDK?
- eloisant 8y agoSo many companies have a vested interest in maintaining Java alive (Google, IBM, etc.) that I'm not too worried about maintenance of OpenJDK.
- deleted 8y ago[deleted]
- cryptonector 8y agoOracle can easily stop or delay updates to OpenJDK if they want. Remember how things worked out for OpenSolaris?
- MaxBarraclough 8y agoI'm sure all the Linux distros are thinking the same thought. The 'default' JVM for Ubuntu is OpenJDK, right? You'd have to go out of your way to get your hands on Oracle JDK.
- int0x80 8y agoYes. Back in jdk6 days there were more problems requiring oracle jdk, this days is a no brainer to use the default openjdk.
- bitL 8y agoOpenJDK used to have some incompatibilities that tended to blow up in production (rare case "enjoyment") - is it now 100% compatible with original Oracle SDK? Otherwise companies would be forced to use commercial one in order not to disrupt their legacy systems.
- bradleyjg 8y agoNot 100%. There's still some weird edge cases having to do with the swing and crypto libraries. But the big performance regressions that we used to see are gone and with the release of flight recorder in Java 11, the last major commercial feature is now in openJDK.
- jamespo 8y agoLegacy is most of Oracle's business model nowadays
- jcadam 8y agoI've found that as of Java 8 the compatibility is pretty good, and I use OpenJDK exclusively now. Prior to that, it definitely had issues and I always used the Sun/Oracle JDK.
- deskamess 8y agoIn addition to compat, is performance on par too? I know the JVM is highly performant and was wondering if there were any patent restrictions that would prevent an open JRE (I assume there is such a thing) from being as performant as the Oracle JRE.
- _Codemonkeyism 8y agoCurrently happy about Azul OpenJDK.
- MaxBarraclough 8y ago'Zulu', right? What's their angle?
- bradleyjg 8y agoIt's openJDK but with a relatively affordable support agreement.
- _Codemonkeyism 8y agoIt's the default from sdkman I think.
- hocuspocus 8y agoAzul sells their own high-performance Java runtime (Zing). Taking a guess here, they probably realized there's demand among their customer base for plain OpenJDK builds with cheaper and/or more reasonable support offerings compared to Oracle's. And once you need to deliver those builds, it doesn't cost too much to let just anyone use them.
- int0x80 8y agoModified openjdk with high perf. GC, JIT, tooling etc. It is very nice.
- aseipp 8y agoZing and Zulu are not the same. Zing is a commercial JVM that has no open source equivalent, and has a completely bespoke design from my understanding -- calling Zing a "modified openjdk" is a stretch, from what I understand (especially considering OpenJDK is GPLv2.) Zulu is Azul's build of open-source OpenJDK, and no different than any other OpenJDK such as one from jdk.net or AdoptOpenJDK -- it doesn't have a special JIT or special GC, but you can buy a support contract for Zulu (or use it at no cost). It's basically just another OpenJDK build, as far as most people are concerned.
- baud147258 8y agoJava 11? At work we haven't even started to look at the migration from Java 8...
- dzdt 8y agoWe just made it TO Java 8.
- nonconvergent 8y agoJava 8 is EOL in January for public support/security patches. Java 7 was EOL in 2015. What have you been doing for 3 years? I could guess, because I've been at companies doing the same. Active development and support on the product, but no time for tech debt. Java 9 and up I understand people getting frustrated with a more frequent LTS release and these weird microreleases every year.
- jsight 8y agoThere are still plenty of systems out there on Java 7, usually due to external dependencies.
- snuxoll 8y agoRed Hat and AdoptOpenJDK will be supporting OpenJDK 8 for quite some time yet. Oracle's JDK and JRE will stop getting public support, yes, but OpenJDK 8 will be alive and well for many years to come.
- nonconvergent 8y agoI was not referring to that. I was referring to the matter that they weren't ready to jump TO JDK 8 when JDK 7 was EOL, nor the next year, nor the next year after that. What did they do with security updates when they were available for the version they were on? Questions. Don't get me wrong, they're not the only ones ice skating uphill on this.
- Zardoz84 8y ago
- sheeshkebab 8y agoIt’s unfortunate Java is turning into modern day COBOL.
- Nasrudith 8y agoReally I think the best thing for Java at this point is getting it out of Oracle's greedy clutches. They are debasing the ecosystem of the language as a whole at this point.
- jcadam 8y agoI'd love to see the Java community fork OpenJDK and just leave Oracle behind. I wonder if the licensing of OpenJDK makes this possible? If so, the only (albiet huge) problem is getting a critical mass of support behind one particular effort.
- AnimalMuppet 8y agoI think it turned into modern day COBOL as soon as J2EE came out. And I wonder if it's inevitable. I wonder whether any language that successfully plays in that space will necessarily suffer the same fate.
- floatboth 8y ago> Download Oracle JDK (because that is what you've always done, and it is what the web-search tells you) What I've always done is install OpenJDK from the system's package manager :P
- Leace 8y agoAnd that's good that package managers ship only openjdk. When I migrated to Linux I didn't know better but as "openjdk" was easier to install than Oracle JDK I used "openjdk". It turns out it works very well, actually I can't tell the difference.
- cesarb 8y agoUnfortunately, many people add a repository with Oracle JDK to their package managers and install the JDK from there, due to some perceived better compatibility and/or extra bug fixes. (And in my experience, this is true for the Java plugin; the "official" plugin seems to work better than the IcedTea plugin.)
- TomMarius 8y agoA few years ago, Minecraft simply wouldn't run nearly as good on OpenJRE, not even the server - it was several times slower. Not sure how it is today since I've stopped playing around 5 years ago.
- vvillena 8y agoJavaFX is difficult to use under OpenJDK. I think it has become a library on Java 11, so at least that's a step in the right direction.
- pjmlp 8y agoYes, it has its own website now. https://openjfx.io/ https://openjfx.io/
- djsumdog 8y ago
- keymone 8y agointerestingly, openjdk is the top link on google for me for "java 11" search. did google do that?
- fliesblackflags 8y agoI get the same. When I do the same search on DDG, the top result is Oracle.
- kjeetgill 8y agoIt's been like that for years. OpenJDK had been the site that all development and JEP news goes through for a long time now.
- wheresvic1 8y agoI'm not sure Java is worth the effort at this point. If I'm going to have to keep updating every 6 months, I would rather use Go, which seems to have all that Java has to offer + the backing of a huge corporation.
- Aaargh20318 8y ago> I would rather use Go, which seems to have all that Java has to offer Really ? What is the Go equivalent of J2EE ? Do Go appservers exist that offer all the features that something like Payara (Glassfish), JBoss or WebSphere does ?
- ofrzeta 8y agoWhat's the point of J2EE or an application server? You can get functionality such as templates, management, monitoring, persistence through other means as well.
- randomsearch 8y agoThink the point is that the Java ecosystem is vastly greater than Go. And ecosystem mattes.
- thdespou 8y agoThat may change in a few years. Currently, a ton of new software is built with Go. Kubernetes, Istio, Prometheus, All the Hashicorp stuff, hyperledger, traefik , kong you name it.
- philbarr 8y agoFor Go, what are those means? (I'm just starting with Go so it would be useful to see how we get all that stuff)
- ofrzeta 8y agoGo templates come with the standard library, an ORM could be GORM, for monitoring you can get metrics of the runtime through the package of the same name also in the standard library or on an application level use the Prometheus client API to make your application talk to the Prometheus monitoring system.
- paradox_hunter 8y ago>You may not: use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application; From what I understood, I as a student could still use java 11 from Oracle, as I wouldn't be using it for "production". Is that correct? Or are there other implications that I am missing here?
- MaxBarraclough 8y agoI suspect you're right, but does Oracle JDK really add any appreciable value over OpenJDK, for a student? I'd go for OpenJDK simply to form good habits.
- paradox_hunter 8y agoNothing really, I was just curious about that.
- djsumdog 8y agoYea ... and if you do start to build something and decide to release it commercially, you don't want to run into any weird Oracle/OpenJDK weirdness at that point .. so best to start with OpenJDK.
- hannasanarion 8y agoYes, that is correct. This trap is for hobbyist and professional developers whose typical workflow involves downloading Oracle's JRE to deploy their app, probably not noticing the new trap clause deep within the license agreement. My professional advice to a newcomer to the industry: stay away from Oracle. It is a blight on the software industry. Oracle is a monopolistic anti-consumer patent troll that treats its employees like shit and whose only business ethic is "make money by any means available".
- tastyfreeze 8y agoSeconded. I only wish it was easier to convince management that the cost of switching from Oracle products is worth it. Vendor lock in is a real bitch.
- electrotype 8y agoAn interesting thing about AdoptOpenJDK is that it seems they may provide builds with DCEVM + HotswapAgent integrated, in the future [0]! And maybe become a very good and easy to use alternative to the way too expensive JRebel. [0] https://github.com/HotswapProjects/HotswapAgent/issues/218#issuecomment-403580956 https://github.com/HotswapProjects/HotswapAgent/issues/218#i...
- ptx 8y agoThat's great news! Properly working code reloading would improve the development experience enormously. Why wouldn't it be integrated directly in the upstream OpenJDK source, though? It sounds like it would be a separate patched build that I'd have to download, and wouldn't be available if I just "apt-get install openjdk-11-jdk" in Debian?
- JoshuaAshton 8y agoOracle seriously needs to be fought in court about this and their other actions. They're actively hostile to the whole tech community and their entire business model is based on trapping people into paying for things by not making their licenses clear or changing their licenses. I don't know why anyone would use any software made by Oracle these days, the alternatives and open implementations of their own systems tend to be faster - and their "unbreakable Linux kernel" is a joke and a legal disaster waiting to happen.
- Cthulhu_ 8y ago> by not making their licenses clear How is that? The license is pretty clear, as stated in the article: > You may not: use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application; If you cannot understand that language you should not download or use the JDK.
- deskamess 8y agoWhen they reference "programs" does this apply to the JRE (i.e., the java binary as well) as well? Is this a JDK license or a JRE license issue?
- snarfy 8y agoYou missed the rest of the quote. > or changing their licenses. It was never clear they were going to change their license after years of making it $free to something not $free.
- repolfx 8y agoThey have been communicating the changes in how OpenJDK and Oracle JDK work for a year now, through many public talks, announcements, blog posts and so on. Moreover the changes are good for the community. OpenJDK is now the reference implementation and equivalent to the old Oracle JDK in every way. The only reason to use the Oracle JDK now is to get commercial support from Oracle. Calling this a "trap" is dumb. Not only did Oracle change the licenses to be better for end users, they are highlighting the changes in a big yellow box and the license is written clearly. OpenJDK is regular GPL + an exception so you don't have to GPL your own apps. To repeat, Java is getting more free not less.
- Tistel 8y agoMy hat is off to Larry E. with respect to his business prowess. But. ding ding ding. alarm bells. Run away. Don't mess with that guy. The dude owns an island: https://en.wikipedia.org/wiki/Lanai https://en.wikipedia.org/wiki/Lanai https://www.bloomberg.com/news/features/2016-04-13/four-seasons-manele-bay-lanai-hawaii https://www.bloomberg.com/news/features/2016-04-13/four-seas... Stick with free/open source. Vendor lock in is a nightmare. edited for clarity.
- pimlottc 8y agoYou should clarify that you are referring to Larry Ellison, the head of Oracle, and not Stephen Colebourne, author of the article.
- chasinglogic 8y agoExactly the misconception that I had
- jodastephen 8y agoYes, I definitely don't own an island!
- Tistel 8y agosorry, I was not clear. I am also not knocking owning an island. Thats a great situation to be in. If I am successful full enough in life, I will buy one! I am just saying don't mess with the dude. He tends to win.
- Tistel 8y agoYou are right. I was just writing a flippant joke. The author of the post wrote a great article. I am also not insulting Larry Ellison. He (Larry E) is an interesting, very successful, guy. I am just saying he tends to win in competitions. Once you are locked in, you have to pay.
- nsmith14 8y agoThe dude owns an island, so he obviously can't be trusted. It follows reason.
- ronkwan 8y agothere is a GPL2 version of jdk11 here, does it make any difference? http://jdk.java.net/11 http://jdk.java.net/11
- crispyambulance 8y ago> http://jdk.java.net/11 That's an "OpenJDK" build provided by Oracle. But it is easy to get mixed up since it doesn't ACTUALLY say "OpenJDK" on that page.
- chungy 8y agoAll the links say and point to OpenJDK if you hover over them. It doesn't seem that obscure.
- crispyambulance 8y agoOne would expect that the page provided by Oracle from which one could download OpenJDK would have the word "OpenJDK" in a header in 16+ point font-- and not visible only in link hover text box. It's just weird.
- JustSomeNobody 8y agoThis is going to come off sounding a bit like victim blaming, but seriously, any business large or small must have a person or people whose responsibility it is to audit all installed software so that nobody gets into a situation such as described in the article. A business cant afford to let devs just install software willy-nilly like.
- crispyambulance 8y agoYet "willy-nilly" installations happen. It remains to be seen whether they'll "go after" the whales who can actually afford compliance staff (but screwed up anyway), or after the small-fish companies that just stood up a web-app to get started, or businesses in between.
- bloodgain 8y agoIt's not really the developers installing their own toolchain you have to worry about here, though. The folks working on the official builds and deployment should be far more aware of what's happening, because that's what has to be supported. If you're letting B&D do things willy-nilly, that's a serious business problem. I aware they're often the same folks (DevOps), but your senior engineer and/or project manager should be watching what's going out.
- foolfoolz 8y agoThis sounds like total FUD. Sure the terms have changed but oracle has been open about it and told people to download openjdk. If you are going to run a commercial business and not pay any attention to the software you depend on and it’s licenses then you have another problem.
- blunte 8y agoThis is surely no mistake on Oracle's part. Remember, this is the same company that for years grossly knowingly overcharged the US government for licenses, resulting in hundreds of millions later paid in fines. Their focus is pure bottom line. If that means cheating, so be it. If it means the equivalent of a bait and switch, sure why not. It's really a shame that circumstances are what they are now. Sun may have had warts, but in comparison it was highly admirable.
- jodastephen 8y agoMaybe. But they have also provided a $free alternative. This is solely a battle of getting Java users weened off Oracle JDK and onto an OpenJDK build.
- paradite 8y agoIs this actually a trap? The "trap" page has a huge warning section that clearly tells you license has substantially changed and how to get open JDK, and what license it has. > With JDK 11 Oracle has updated the license terms on which we offer the Oracle JDK. The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from the licenses under which previous versions of the JDK were offered. Please review the new terms carefully before downloading and using this product. > Oracle also offers this software under the GPL License on jdk.java.net/11 https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html https://www.oracle.com/technetwork/java/javase/downloads/jdk... This information is either deliberately or accidentally missing in the post. If we assume the author did his research before writing this piece, I can only believe this was done with purpose.
- jodastephen 8y agoNot everybody reads warnings. Many will go to that page and just go straight to the download. In addition, the warning doesn't say "not for commercial use" - you have to click through and read a long legalese to find it. Oracle could still choose to make it clearer...
- dnomad 8y agoThere's no "long legalese." The new license (https://www.oracle.com/technetwork/java/javase/terms/license/javase-license.html https://www.oracle.com/technetwork/java/javase/terms/license...) is very clear. It states in plain English: "Further, You may not: use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application;". How is that not clear? This entire article is just pure FUD. Oracle has stated over and over and over how the new licensing model works. It's clear to anybody who spends a couple of minutes reading the documentation.
- LaGrange 8y ago> How is that not clear? You'd think it's clear, and yet I've joined projects where software with such terms was included in production builds because "it was downloaded with npm so it's open source."
- bimbam 8y agoI believe the article is mistaken. Their License says: >"Program(s)" refers to Oracle software provided by Oracle pursuant to this Agreement and any updates, error corrections, and/or Program Documentation provided by Oracle. Not programs you create using the JDK
- marcosdumay 8y agoSo, when one reads unclear language from the part of Oracle, one does not interpret it in the most antagonistic way possible? Has Oracle been restructured recently, or are you expecting me to ignore the entire company's history?
- zelos 8y agoI thought that too: this just affects companies running JVMs, not companies that ship Java software, right?
- AnimalMuppet 8y agoWell, if you ship Java software, it has to run on a JVM. You often ship the JVM you want with the software, or else help the customer get the JVM installed. If you install or help them install Oracle's JVM, you may still have a problem.
- 16bytes 8y ago"Further, You may not: - use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application;" To me this reads as, "you can use javac.exe and java.exe in development, but you can't use java.exe in production." This is a huge change that I probably would not have noticed.
- srgseg 8y agoI notice that the OpenJDK build is only available as a .tar.gz and not as .rpm This means that to upgrade from Oracle JDK10 -> Open JDK11, you'll have to write a script yourself to modify the symlinks e.g. to redirect the existing "/etc/alternatives/java -> /usr/java/jdk-10.0.x/bin/java" to the new installation. There are 46 of these symlinks that need changing (for javac, jstack, etc etc). I hope that's the only change that is required and that I'm not missing something. Anyone know if there is anything else necessary? Edit: here is the script I just wrote to print out the commands required to change the symlinks: #!/bin/bash existingJdkBinPath=$(dirname `readlink /etc/alternatives/java`) newJdkPath="/opt/jdk-11" find /etc/alternatives -type l | while read link; do target=$(readlink "$link") targetPath=$(dirname $target) targetFile=$(basename $target) if [[ $targetPath = $existingJdkBinPath ]]; then newTarget="$newJdkPath/bin/$targetFile" echo ln -snf "$newTarget" "$link" fi done
- djsumdog 8y agoThe OpenJDK build is GPL and should find its way into official package repositories. Oracle may have stopped creating the rpms for that reason. Most distros use the IceTea builds for OpenJDK. Hmm . IceTea3 is Java8. There's no Java9 IceTea4 build yet. I can't find any roadmap info on their site ...
- bborud 8y agoAs many have pointed out, you can argue if this is a trap or not and you can make the case for both sides. But I think that discussion in itself clearly begs the question: do you want to deal with a company that makes it easy to make a potentially immensely expensive mistake? If anything, Oracle have demonstrated that if they feel you owe them something, they will take you to court. I changed what primary programming language I use as a conscious decision that took years to make. First I had to find a language that was a good replacement and then I had to make the switch. Both require care. It was easier than I had thought though. And I'm very happy I did. Am I sure the my new primary language won't grow these problems? No. But I do know that I'd do it again if needed. There is no shortage of programming languages. There is a shortage of programming languages that have a sufficiently good ecosystem around them though.
- bodono 8y agoWhich language did you pick?
- bborud 8y agoIt was down to Rust and Go and I picked Go. (I mostly write server software, command line utilities and embedded software (embedded software in C/C++). If I wrote more embedded software on Cortex-M than server software om AMD64 I think I'd really like to use Rust.)
- sqd 8y agoIf you're relying your business on something, you'd better read the damn license.
- ofrzeta 8y agoWhat about compatibility? Recently I installed PDFsam on Windows 10 that required a JRE. I installed OpenJDK but the application didn't start. With Oracle JRE it did work. I didn't bother to debug the startup problems, though.
- exabrial 8y agoIt's really simple: Don't use Oracle's JDK 11 in production. Use one of the open source distributions. Commercial software really isn't that complicated.
- sgt 8y agoThis is not new, and as per: https://www.oracle.com/technetwork/java/javase/terms/license/index.html https://www.oracle.com/technetwork/java/javase/terms/license... it was put in place in 2017 already. Seeing that the "LICENSE" of Java 8 simply points to their website, it means that they effectively changed it for Java 8 as well. So that means that even if you're running Java, you have three options: (1) Continue using it illegally, it will probably be a low risk. This is not advisable especially for larger corporates. (2) Purchase JDK license (3) Switch to OpenJDK
- vvillena 8y agoHow is this possible? I have an app that runs in the JVM which is also bundled with a JRE in some platforms. Does this mean that I cannot freely distribute it anymore?
- mlaretallack 8y agoWhere I work we hit this 4 years ago, the basic outcome was that we could not use the JRE for anything without getting license.
- repolfx 8y agoThe situation is confusing but not that confusing. Java 8 has commercial features that are locked by default. You can unlock them by passing a command line flag that looks like -XX:+UnlockCommercialFeatures, so pretty hard to miss. If you use those in production, you're meant to pay. But virtually nobody does use them. In fact Oracle open sourced them all for Java 11, perhaps because of that fact. Now in Java 11 there are two JDKs, that are virtually identical. OpenJDK and Oracle JDK. The latter is the same as the former but commercially supported. If you use it in production at all, you're meant to pay. But the only reason to do that is you want commercial support, from what I understand. There are no longer any special features. If you can support yourself (like most can) you just switch to OpenJDK as part of your Java 11 upgrade. They have not changed the license for Java 8 users "on the fly", I'm not even sure that's legally possible.
- 8y ago
- bmurray7jhu 8y agoAre there any substantive differences between the GPL and proprietary licensed versions of Java 11?
- mcguire 8y agoOne requires you to pay money to Oracle?
- meandmyself0 8y agoQuestion : this implies that Oracle 'knows' that you're using their JDL in production. Which implies a spy of some sort. Which is barely legal, is it ? unless it's at least duly stated in the licence. Is it so ?
- yogeshlor 8y agoHow much control Oracle has on OpenJDK development & support? Can they control some features which will never be shipped with OpenJDK?
- Chris_Chambers 8y agoWhat is the newest version of Java 8 available that this change doesn’t apply to?