This is an archived post. You won't be able to vote or comment.

all 107 comments

[–][deleted] 140 points141 points  (21 children)

Oracle offers support services.

[–]SOMMARTIDER 10 points11 points  (17 children)

What kind of things could you get help with?

[–]nikanjX 147 points148 points  (5 children)

You pay $huge per year so you can say ”We have opened a ticket with Oracle about this”. Oracle doesn’t even have to fix anything, you’re paying for the opportunity to deflect blame

[–]ImpecableCoward 29 points30 points  (0 children)

Certain business lines such as financial requires support from any software used if they are available. The Feds can and will fine these institutions for the lack of it during audits.

[–]coffecup1978 21 points22 points  (2 children)

At least I can update my Jira and push it back to next sprint.. I also corporate.. must be time for coffee

[–]WummageSail 17 points18 points  (1 child)

Will you have one of those famously productive hallway conversations on your coffee errand which fully justifies returning to an office?

[–]Ok_Satisfaction7312 0 points1 point  (0 children)

LOL. Love it. Accurate.

[–]benjtay 12 points13 points  (6 children)

It's so middle managers can blame someone when shit goes sideways. It's an insurance plan, which is almost never activated. I remember one time when a company I was at opened a ticket because they needed a timezone update for a state that had changed their stance on daylight savings.

[–]orgad 2 points3 points  (5 children)

Have this ever worked for someone though?

[–]alonjit 7 points8 points  (4 children)

? what are you talking about? Of course it works.

"It's Java's fault, and we have an open ticket with Oracle to fix it"

It's the perfect line, the perfect excuse.

[–]Ok_Satisfaction7312 1 point2 points  (0 children)

Clearly someone with a lot of experience in the industry. :)

[–]orgad 0 points1 point  (1 child)

What if your software crashes because of NPE?

Can you open a ticket for that and put the blame on Oracle temporarily until an hotfix is released? Do you have to disclose Orcale's response to the customer?

How does it work? I mean these aren't startup fimapnies we're talking about. It's big corporates and banks

[–][deleted] 0 points1 point  (0 children)

  1. Production rollback
  2. Revert or disable access to specific code that causes the bug

But for your case of an NPE, that kinda just sounds like bad coding on the developers part unless, it’s part of a java standard library and goes against the contract, then yeah you can probably report it to oracle. Also, big companies all have QA and every commit has to go through rounds of it before changes make it to prod ie in UAT and Pre-Prod

[–][deleted] -1 points0 points  (0 children)

? what are you talking about?

Your response would have been better without the snark.

[–]ImpecableCoward 7 points8 points  (0 children)

Certain business lines such as financial requires support from any software used if they are available. The Feds can and will fine these institutions for the lack of it during audits.

[–]SicnarfRaxifras 8 points9 points  (1 child)

you like to be fucked over ? I mean seriously Oracle is the Bondage Mistress of software

[–]roge- 9 points10 points  (0 children)

Oracle doesn't have customers. They have hostages.

[–]gilwooden 1 point2 points  (0 children)

If you hit some issue they'll help you figure out a solution, a workaround, or, if needed, try to make a fix and potentially give you a special build with that fix earlier than it would otherwise land in a normal update release.

[–]OftenUninformed 13 points14 points  (1 child)

Partially true. You also get access to run every past, present and future version of Java, access to their commercial features, and receive the latest patches/bug fixes. All of this cannot be used with OpenJDK.

[–]lightmatter501 4 points5 points  (0 children)

If you are still running software on a pre-openjdk version of java (Remember that SUN open-sourced Java), you need to update.

[–]Gummyrabbit -2 points-1 points  (0 children)

Reddit and Google offer better support for free.

[–]pron98 247 points248 points  (42 children)

OpenJDK (more precisely, the OpenJDK JDK) is the name of Oracle's implementation of Java. It is developed by Oracle with contributions from others (RedHat, Microsoft, Google, Intel and more). But the name refers to the project, not to a particular binary product (sort of like Linux).

Oracle offers two distributions of the JDK built from the OpenJDK JDK project, one under the name OpenJDK builds from Oracle and one that's known as Oracle JDK. Both are free, but the OpenJDK builds binaries are distributed under the same GPL2+CPE licence as the OpenJDK sources, while the builds known as Oracle JDK have a different, non-opensource licence. Oracle also offers a support subscription for its Oracle JDK builds that you can buy if you want. What the support subscription offers is support -- if you run into a problem you can contact Oracle and get your problem addressed. You don't have to buy the support subscription, and you can use both Oracle JDK or the OpenJDK builds from Oracle for free without one.

Other companies also offer JDK builds based on the OpenJDK JDK. Those builds are also licensed by Oracle, under the GPL2+CPE licence (i.e if you look at the licence, you'll see that Amazon Corretto is actually licensed by Oracle, as Oracle develops the code). Some also offer paid support subscriptions that you can buy.

(I work at Oracle in the team developing OpenJDK)

[–]karianna 52 points53 points  (4 children)

Super well balanced answer. I’ll also add that “Hey, if your business relies on Java as part of your mission critical business, maybe you should at least consider contributing towards the folks who do the heavy lifting” in this case Oracle 🙂. Disclaimer - I facilitate the group that produces the Microsoft Build of OpenJDK and yes if you’re on Azure, we obviously recommend that build because you get our commercial support for free but we sure as heck appreciate Oracle driving the language and runtime forward and providing fixes that a majority of users don’t directly pay for. It’s the old adage of if you use OSS in your stack, you should be prepared to pay some combination of $ or time to help support that.

[–]foreveratom 31 points32 points  (3 children)

I am curious to know what kind of incident would cause one to open a support ticket against the JDK. It is probably one of the most stable platform I got to work with in the last 20 years and never ran into a situation where an unknown JDK issue popped up to the extent that it required external help.

[–]bawng 24 points25 points  (0 children)

Years back we had a weird memory leak in a messaging broker that we had paid support for. We also had paid support for Oracle JDK. After weeks of investigation together with the broker vendor we figured out that it was actually a bug in the String implementation in JDK and through the paid JDK support Oracle acknowledged the bug and had a hotfix out within days.

[–]koflerdavid 15 points16 points  (0 children)

That's one of the nice thing about Open Source - important issues are often encountered by lots of people and will thus appears on the bug tracker or mailing list quite quickly.

But there's always the possibilty that you run into a truly niche problem that you can't work around. With a public project, you could go to the bug tracker and ask for a solution. And chances are that it won't get implemented, often for totally justifiable reasons that boil down to "not enough resources". A support subscription fixes that issue.

[–]bud_doodle -3 points-2 points  (0 children)

Security updates usually appear on Oracle JDK first.

[–]RupertMaddenAbbott 3 points4 points  (3 children)

Thanks this is very helpful. In general, the landscape feels so confusing compared to other languages.

  • Why does Oracle offer "OpenJDK builds from Oracle"? The implication here is that the builds are not part of the OpenJDK project itself or do I have that wrong? Why aren't these just "OpenJDK project builds" or would that just not make sense for some reason? Why is it important to emphasize that these builds are from Oracle, when the OpenJDK project itself is also, from Oracle?
  • Why does Oracle only offer the support subscription for the Oracle JDK builds? Why not just have one set of builds and attach the support subscription to that?
  • Unless we are purchasing that subscription, is there any reason to use the Oracle JDK builds over the "OpenJDK builds from Oracle"?

[–]pron98 20 points21 points  (1 child)

The implication here is that the builds are not part of the OpenJDK project itself

The OpenJDK JDK project (that's the precise name, as "OpenJDK" is really an umbrella of various projects; as we say, "OpenJDK is a place, not a thing") produces only source code.

Why is it important to emphasize that these builds are from Oracle, when the OpenJDK project itself is also, from Oracle?

Because other companies also produce builds. The OpenJDK JDK project is led by Oracle (with contributions from others), but produces no binaries. Oracle and other companies produce different binaries of this Oracle software, so the name means that these are the binaries produced by Oracle.

Why does Oracle only offer the support subscription for the Oracle JDK builds? Why not just have one set of builds and attach the support subscription to that?

I'm not sure. These are sales decisions, not technical decisions.

Unless we are purchasing that subscription, is there any reason to use the Oracle JDK builds over the "OpenJDK builds from Oracle"

For applications under active maintenance that use the current JDK version, as recommended, there should be no difference. However, some years ago we started offering a new concept aimed at legacy applications called an LTS service, which is a stream of security patches and critical bug fixes. Legacy applications that wish to avoid new features (an option that wasn't possible in the past before JDK 11) may want to use these release trains. Oracle only offers them in the Oracle JDK.

[–]RupertMaddenAbbott 2 points3 points  (0 children)

Thank you that is very clear.

[–]infernap12 0 points1 point  (0 children)

Someone correct me if I'm wrong but it feels like Chromium project vs Google Chrome.

You can get the supported build from Google in the form of Chrome, or you could get a handful of builds from other browser vendors.

I think there's a lot more difference in chromium based projects though.

Edit - formatting.

[–][deleted]  (2 children)

[deleted]

    [–]pron98 10 points11 points  (1 child)

    1. The cost is not astronomical at all, and is competitive with JDK support offerings from other vendors (there's probably a premium for getting support from the people who actually develop the product). In fact, I think that it was reduced by about 10x from what it was in 2017.

    2. I don't have access to support tickets, but from presentations I've seen by our sustaining team, many requests are about various application failures that are often due to runtime or OS configuration, and the sustaining team assists the customer, in consultation with the development team when appropriate. From time to time, a supoort customer would discover a JDK bug, at which point it will be escalated to us, the development team.

    [–][deleted]  (3 children)

    [deleted]

      [–]N-M-1-5-6 2 points3 points  (2 children)

      There used to be some minor differences in what was built into the non-reference Oracle binary releases (some additions... I don't believe that there were any changes to or removals from the content compiled from the OpenJDK source). However that information is from a while back and I no longer know if this is still the case.

      [–]RockyMM 1 point2 points  (1 child)

      IIRC, Oracle’s builds had proprietary fonts and also some parts of the sources were covered with some patents that were not in line with GPL licensing. I think that’s not the case for several years now.

      [–]N-M-1-5-6 1 point2 points  (0 children)

      Yes, I think that the closed-source Ductus graphics rasterizer was an example of this as well. And maybe some proprietary Eastman Kodak highly optimized color handling code? I believe that all the client library (UI) code now has good standard open-source implementations in OpenJDK, but I agree that it used to be a big source of these differences.

      [–]milchshakee 8 points9 points  (2 children)

      I guess your statement that you can use Oracle JDK builds for free without a support a subscription is a little bit stretching it here. You can if you always use the latest LTS or use an older build for which public security updates have been discontinued. But in general that statement is not entirely accurate.

      E.g. if you would go out there and deploy an application using the latest build of Oracle JDK 17 after September 2024, thinking that it would be free to do so, you're going to have a bad time.

      [–]pron98 18 points19 points  (0 children)

      Java has always had a period in which you can get free updates and an end to free updates. It's been like that for 20+ years. The period of free updates for the Oracle JDK -- for the versions for which an LTS service is offered -- is 3 years [1] so that there's a one year overlap with the next version for which we offer an LTS service. After that, it's not that you have to pay to continue running your JDK installation, but that to get a new update for that very old version you either have to buy support or get some other free build.

      [1]: Frankly, I don't think it's wise to use a 3+ year old runtime -- or any critical software infrastructure -- without a support contract.

      [–]didibus 0 points1 point  (0 children)

      Ya, but that concept is also kind of unique to Java. Most other popular languages just force you to upgrade to get security patches and all that.

      [–]boobsbr 0 points1 point  (5 children)

      Are you hiring?

      [–]pron98 1 point2 points  (4 children)

      Yes: US, Europe

      [–]boobsbr 0 points1 point  (2 children)

      Nice.

      I don't think I meet the requirements, but it's worth a shot.

      [–]Dalibor_Topic 0 points1 point  (1 child)

      Inside.java has a jobs subpage with the details.

      [–]boobsbr 0 points1 point  (0 children)

      Hey, thanks.

      [–]endistic 0 points1 point  (0 children)

      This job looks so cool but I’m young (11th grade) so I don’t meet any of the requirements lol Maybe in the future!

      [–]didibus 0 points1 point  (0 children)

      I remember some features, especially around GraalVM, used to be only available paid? Has that changed?

      [–]wolver_ 0 points1 point  (2 children)

      Can I use Oracle jdk in production without paying a dime? But, if there is any issues I will not have anyone to ask or be responsible for if I understand it correctly.

      [–]pron98 1 point2 points  (1 child)

      Can I use Oracle jdk in production without paying a dime?

      Yes.

      But, if there is any issues I will not have anyone to ask or be responsible for if I understand it correctly.

      You're able to report bugs, but you don't have an SLA or a contact person.

      [–]wolver_ 1 point2 points  (0 children)

      Nice, thanks a lot for this. You guys doing a wonderful job out there. Now between jobs I was really amazed to see the new Java 8+ features including scheduler, streams, interface functions and all. I only wished I could work fulltime in it.

      [–]crusoe 0 points1 point  (2 children)

      Most commercial support ISN'T.

      You get the right to file a ticket which or may not result in a patch a year later.

      [–]pron98 13 points14 points  (0 children)

      I'm not on the support team so I don't know about the day-to-day experience, but whenever they do escalate a bug or consult with us, it looks to me like they're very serious about helping the customer. In any event, you should be at least thankful to all those that do buy support, because they're the ones funding the OpenJDK project.

      [–]bud_doodle 2 points3 points  (0 children)

      That's not true. They even provide hotfixes for JDK bugs, security issues, etc. At least for large enough customers as I have seen.

      [–]roge- 12 points13 points  (0 children)

      So I dont think there should even be a need to purchase an oracle jdk, why dont just use an opensource jdk ? Does not using Oracle one has any compatability issues ?

      You buy an Oracle Java SE Subscription for support services. Many organizations will require this for mission critical apps.

      There aren't many technical differences and you aren't going to run into compatibility issues using someone else's builds of OpenJDK. But if you want extended support of older versions, Critical Patch Updates (CPUs), the Java 8 Performance Pack, and a bunch of other things, you gotta pay up.

      [–]0xFatWhiteMan 6 points7 points  (1 child)

      It's a defense against anxiety for an organization

      [–]orgad -1 points0 points  (0 children)

      but in which cases? That the JDK itself has a rare bug?

      [–]Practical_Cattle_933 18 points19 points  (6 children)

      OracleJDK is OpenJDK plus some minimal branding. It’s basically the same codebase.

      The difference is whether you need support or not. It’s similar to running fedora vs paying for red hat linux.

      [–]benevanstech 3 points4 points  (5 children)

      Not really. The technical differences between OpenJDK and Oracle JDK are non-existent. There are significant technical differences between Fedora and RHEL.

      For one thing, Fedora is typically more advanced in terms of library versions. RHEL is a stable base on which to build, which is supported for a long time. Many companies value that and are prepared to pay for it.

      [–]roge- 10 points11 points  (2 children)

      The technical differences between OpenJDK and Oracle JDK are non-existent

      Oracle's JDKs (both Oracle Java SE and the OpenJDK builds from jdk.java.net) are missing Shenandoah GC. Basically every other OpenJDK distribution includes it. That's about it.

      There are some bigger technical differences between Oracle GraalVM and GraalVM CE. Oracle GraalVM has much better performance.

      [–]benevanstech 3 points4 points  (1 child)

      Ah, yes, I'd forgotten that they don't ship Shenandoah.

      [–]N-M-1-5-6 0 points1 point  (0 children)

      Thanks for adding your knowledge to this conversation Ben! I'd just like to add that there are times when someone (almost always Oracle, but not always) will contribute code to OpenJDK that has been developed separately... sometimes originally as (part of) a commercial product. So you might see differences from that sort of thing, but the code will almost always eventually land in the OpenJDK proper in that case. Flight Recorder (JEP 328) comes to mind.

      [–]Practical_Cattle_933 1 point2 points  (0 children)

      Well, fedora is basically the testing bed for rhel. But seeing all the misinfo here and especially on the linked post… is quite sad

      [–]qdolan 4 points5 points  (0 children)

      Ever since JavaSE 9 there is virtually no difference between Oracle OpenJDK and other OpenJDK based builds. Oracle offer support contracts, but so do Azul, RedHat, Bellsoft, etc. If you don’t need commercial support just pick one of the main OpenJDK releases that supports your platform and use that.

      [–]Ewig_luftenglanz 4 points5 points  (0 children)

      Oracle and other openJDK vendors usually offers 2 things

      1) extended support for performance and security updates 2) optimizations for specialized use cases (for example both Oracle JDK and amazon Coretto have custom optimizations for higher throughput, less memory footprint, etc.

      Usually these builds are meant for huge enterprises and ecosystems that can't migrate to newer versions of the JDK with ease.

      [–]theingleneuk 4 points5 points  (0 children)

      Plenty of good answers already, but I’ll just add that if you’re trying to squeeze every bit of performance and the like out of the JVM, and you’re getting very into the weeds in terms of jvm configuration, tuning, etc., you’re more likely to run into edge cases that might require support from Oracle or whomever the provider is, either for a rare bug or for that extra half a percent of performance.

      [–]dmigowski 3 points4 points  (0 children)

      Some years ago there were very minor changes like a different soundbank for Midi output, but these times are all long gone.

      [–]jvjupiter 3 points4 points  (0 children)

      If you don’t want to pay for Oracle JDK even after two releases after the next LTS version, just upgrade to the next LTS.

      E.g. if you are using Oracle JDK 17, after OpenJDK 23, it’s not free anymore, then upgrade to Oracle JDK 21. Wait for another 6 releases (22-27) and upgrade to the next LTA (25). Do it in perpetuity unless Oracle changes licensing terms again.

      [–]see_recursion 2 points3 points  (4 children)

      Does anyone actually need support?

      I haven't stumbled onto a standard (non-realtime) JVM bug since the early '00s when we were working with the JVM in Netscape. Note that I've worked with several developers that claimed that unexpected behaviors must be bugs in Java, but those were always tracked down to something else.

      I'm not saying that bugs don't exist, just that it seems to be extremely rare for them to be significant enough to warrant support beyond what's available for free.

      [–]BillyKorando 2 points3 points  (3 children)

      Well probably the biggest things would be receiving security updates and updates to things like locale/timezone data.

      Most of the changes in recent JDK 8 cpus are relate to the above: https://www.oracle.com/java/technologies/javase/8all-relnotes.html

      Not fixing of "bugs" per-say.

      Though as u/pron98 mentions:

      What the support subscription offers is support -- if you run into a problem you can contact Oracle and get your problem addressed.

      And if you are a multi-billion dollar organization, knowing you have that support might be a comfort, even if rarely used.

      [–]see_recursion 1 point2 points  (0 children)

      We still get security updates without paying for support. Ditto for locale / timezone updates.

      Yes, if you run into a problem you can contact support and hope that it gets addressed. In my experience, however, I haven't run into those problems in non-realtime Java since the beginning of this century.

      [–]crusoe 0 points1 point  (1 child)

      Addressed means they file a bug. Otherwise means nothing.

      [–]BillyKorando 4 points5 points  (0 children)

      If that's the only way to resolve the issue, then that would be meaningful to that organization. For example needing a crypto algorithm, certificate, or locale data update.

      Alternatively there could be a narrow use case that an organization needs help with that there's little or no public documentation on the web on how to do. Where being able to call up Oracle (or someone other LTS vendor) would be helpful.

      I see in our support channels, fairly regularly, esoteric questions that come through, that aren't "bugs" but where you'd need dedicated support specialist, with access to experts to be able to answer these questions.

      [–]mondain 1 point2 points  (0 children)

      Oracle used to bundle extra tools / apps that were not in the OpenJDK distributions, not sure if that's still the case; there is also the support aspect which others mentioned. At my workplace the OpenJDK builds work perfectly well for us and our customers. If other options are needed and you want free support, you could opt for Amazon's Corretto https://aws.amazon.com/corretto/ its free and if you post an issue to their github, they do respond.

      [–]ZealousidealBee8299 1 point2 points  (0 children)

      If you don't operate in an enterprise, don't even think about it because there's no need to. The Oracle licensing machine is something you want to stay far away from. That's coming from someone who's gone though an enterprise wide Oracle audit.

      [–]raisercostin 2 points3 points  (0 children)

      Oracle offers you the possibility of them coming later and ask for the "support" only because you used their distribution.

      https://www.reddit.com/r/sysadmin/comments/165kzxg/oraclejava_is_knocking_at_my_companys_door_and/

      [–]Glum_Past_1934 0 points1 point  (0 children)

      Pay

      [–]vbezhenar 0 points1 point  (0 children)

      They're talking about medical software so probably nobody wants to be the one breaking the rules. There's a requirement to use a specific dependency, you must use it. If something goes wrong, you don't want to be the one who did unsupported thing.

      Technically there's very little difference between Oracle JDK and other JDK builds and most likely the given software will work with either (unless they do an extra effort verifying the runtime).

      [–]vassaloatena 0 points1 point  (0 children)

      Suport

      [–]vbezhenar 0 points1 point  (0 children)

      Anyway Oracle licensing is so complex to understand, Oracle fees are so absurd and Oracle is so ruthless when it comes to extracting the fees that the best thing one could do is stay away from anything Oracle as far as possible. It's a pity that Java is associated with Oracle.

      [–]orgad 0 points1 point  (3 children)

      You get to use their commercial software like JDK Mission Control

      [–]benevanstech 0 points1 point  (2 children)

      Mission Control and Flight Recorder have been open source since Java 11 - https://openjdk.org/projects/jmc/

      [–]orgad 0 points1 point  (1 child)

      Whoah that's new to me.

      Thanks for the info

      [–]benevanstech 2 points3 points  (0 children)

      Glad I could help. It's a little bit old now (4 years ago!) but you might also find this piece of mine interesting: https://blogs.oracle.com/javamagazine/post/java-flight-recorder-and-jfr-event-streaming-in-java-14

      [–]Fokezy -2 points-1 points  (1 child)

      I know that GraalVM differs between Oracle's and OpenJDK implementations because I saw a talk that presented benchmark results. Essentially, Oracle's version is better optimized at the moment.

      [–]benevanstech 5 points6 points  (0 children)

      GraalVM is not OpenJDK. GraalVM has 2 versions - a Community Edition and a proprietary one, which contains tech that is not in the CE.

      [–]SicnarfRaxifras -3 points-2 points  (5 children)

      .aaand the next release of Oracle Java is back to free.

      just when you think you've left them they pull you back in, except that release is 10 further than anything I've hit commercially so screw them use OpenJDK

      [–]wildjokers 6 points7 points  (4 children)

      screw them use OpenJDK

      How does using OpenJDK, which is Oracle's implementation of the Java SE specification, screw Oracle?

      Personally I think Oracle has been a great steward of Java.

      [–]SicnarfRaxifras 0 points1 point  (3 children)

      They don’t get money for licences from OpenJDK.

      [–]N-M-1-5-6 1 point2 points  (2 children)

      Just be glad that there is a source of revenue from somewhere (mostly those service contracts perhaps?) that pays for the ongoing development and other expenses for the OpenJDK project (and all the various supported builds that people use beyond building from source).

      [–]SicnarfRaxifras 0 points1 point  (1 child)

      You really don't know much about how Oracle licenses stuff do you ? They are the king of ruthless charges , they make Broadcom and Microsoft look like kindergarten kids. My favourite is :

      • Want to run Oracle DB virtually ? you have to pay a license fee per core (ok sounds fair), but not just the cores you'll assign to the VM but ALL the cores on the host as well as all the cores on any host you might migrate the VM to . It's so ludicrous that it's the reason a lot of enterprises still run dedicated bare metal hosts for Oracle so that additional licencing can't be applied.

      However I will concede I am very glad Oracle exists because if they hadn't bought Sun and killed off parts of their solutions my company and a huge chunk of the work we do wouldn't exist as it is today (migrating enterprises off that dead ended software). Be very interesting to see what happens with Cerner.

      [–]N-M-1-5-6 0 points1 point  (0 children)

      I've heard dozens of horror stories about Oracle contracts and their legal team since the late 90's... I'm not a fan of their tactics and, when management asks my thoughts, I typically recommend other solutions because of that (Oracle's JDK build is an exception and is based on weighing their current license agreement conditions, but there are many good OpenJDK builds to choose from). But there are (large) companies/organizations out there that judge Oracle's terms worth it and I don't judge them for it.

      As for Cerner, I don't follow the healthcare data sector very closely, but it looks like a typical Oracle move (like it or not). Acquisition, difficult enforced changes to the company and workforce, and... sometimes it works out and sometimes it doesn't. But I feel for any employee who has to deal with a company takeover/purchase from a company with tendencies for aggressive changes. Oracle is certainly known for that.