posts

7 reasons to switch from Oracle JDK to Liberica JDK

figure
Aug 14, 2020
Alex Belokrylov

In January 2019, Oracle stopped releasing free builds of Oracle Java SE 8 for commercial use. Seeing this change in their JDK distributor’s subscription policy, many businesses started to look for alternatives. The implementations not falling under the Oracle Technology Network license were already quite prominent, but 2019 saw rocketing demand for OpenJDK.

There are many potential cases when OpenJDK does better than Oracle JDK, and one of them is the support longevity. For example, Oracle Java 6 support ended, and Java 7 support is about to end, and there have been no maintenance updates for them since 2015. And BellSoft’s instances of OpenJDK 6 & 7 are going to be supported up to 2026, with security updates released quarterly. That means that for people who can’t upgrade for any reason, OpenJDK is the only way to keep their runtime stable and secure.

If you have stumbled upon this article, the chances are that your enterprise is considering migrating from Oracle JDK. There can be two logics, depending on who you are as a JDK consumer. Either you use the newer Oracle JDK versions, maybe 11, but have grown weary of spending high on licensing, or you stick to the free pre-Jan 2019 Java SE 8 and feel missing out on the latest features. The latter implies risk rather than just an inconvenience as your company has skipped a bunch of security updates released since then.

Thus, here we see two major motivations of switching to OpenJDK:

  • Oracle announced a change in its licensing policy with the release of JDK 17. LTS-releases will now be released every two years and according to a new license, receive free updates for 3 years. However, it doesn’t affect previous Java versions, and in three years, companies will still have to pay commercial support;
  • not moving on from Oracle JDK 8 makes it difficult to take advantage of the fresh capabilities, fixes to known vulnerabilities, and other critical improvements — but you would love to do so without splurging.

In the upcoming paragraphs, we will elaborate on what companies are usually afraid of and how Liberica JDK shatters these fears. You can also read more about the OpenJDK project in our article dedicated to the topic. But if you do not have time to read the articles, or already feel the urge to migrate with BellSoft, get in touch with our team. Expert engineers will consult you on further steps in your digital transformation, all for free.

7 fears: “OpenJDK is not…”

1. “OpenJDK is not friendly when it comes to transitioning from Oracle JDK.”

Quite the opposite: both are implementations of the same Java specification, so switching requires little to no adjustments. Your engineering team could pick a Liberica JDK container image right now, literally change one line of code, and use the base distribution without issues.

2. “OpenJDK is not as renowned in the industry.”

For many people, Oracle means a “prominent trustworthy company,” which is true, while OpenJDK means “some community trying their best making open source Java runtime” — and here is where they are wrong. Take BellSoft, one of the top 5 OpenJDK enterprise contributors: before launching the company, its founders and engineers have worked at Oracle for years. They know Java™ on multiple levels like they know their own mind and do everything to meet the standards. Liberica binaries have passed all the Technology Compatibility Kit (TCK) tests for Java provided by Oracle and are fully ratified in the Java Community Process.

3. “OpenJDK, like any open source software, is not secure.”

Let us assure you that the latest OpenJDK releases are vastly, immensely safer than sticking with outdated releases from Oracle with a permissive license. BellSoft has signed the OCTLA and become a part of the Vulnerability Group alongside other major distributors such as Oracle, SAP, Amazon, and Red Hat. Together they hunt down, review, and fix security issues.

4. “OpenJDK is not providing all the features that Oracle has.”

Well, this statement has a grain of truth. If we talk about most versions after Java 8, JDK code is functionally the same. The current OpenJDK and Oracle JDK releases show no differences. However, version 8 has certain technologies absent in OpenJDK (that are gradually being backported). The table below shows all the qualities and features that distinguish Liberica JDK from Oracle JDK with some alternative tools that may replace the original Oracle JDK 8 components.

  Liberica JDKOracle JDK
License, Security, Compatibility, and SourcesBased on OpenJDKYesYes
 Open-Source License, no field of use restrictionsYesVersions up to JDK 17 are under Oracle Technical Network License. Starting with JDK 17, the license is Oracle No-Fee Terms and Conditions” (NFTC)
 Quarterly Security UpdatesYesYes
 Compliance with Java SE specification guaranteed by TCKYesYes
 Performance Parity with Oracle Java SEYesYes
 Guaranteed LTS (8, 11) and Feature (12, 13, 14) versionsYesYes
Platforms & InstallersWindows x86 (64 bit)YesYes
 Windows x86 (32 bit)YesJDK 8 only
 macOSYesYes
 Linux x86 (64 bit)YesYes
 Linux x86 (32 bit)YesJDK 8 only
 Alpine Linux x86 (64 bit, musl)YesNo
 Linux ARM (32 bit)YesJDK 8 only, Embedded license
 Linux ARM (64 bit)YesJDK 8 only
 Solaris SparcJDK 8, 11JDK 8, 11
 Solaris x86 (64 bit)JDK 8, 11JDK 8 only
 Windows InstallersMSIEXE
 Mac InstallersDMG, PKGDMG
 Linux InstallersDEB, RPM, TAR.GZDEB, RPM, TAR.GZ
 Variety of bundle typesLite, Standard, Full, JDK/JREStandard, Server JRE/JRE/JDK
 Linux Repositories (yum, apt)YesNo
Product FeaturesJDK Flight RecorderJDK 8+JDK 8, JDK 11
 Java Mission ControlYesYes
 OpenJFX (JavaFX)JDK 8, 11JDK 8 only
 Java Web Start and AppletsJWS is supported in the Commercial Bundle with OpenWebStart from KarakunYes
 Graphics RendererMarlin in JDK 8, 11Ductus in JDK 8, Marlin in JDK 11
 Font rendering engineFreetype in JDK 8, 11T2K in JDK 8, Freetype in JDK 11
Commercial SupportProvided for Supported Platforms & EnvironmentsYesYes
 24x7x365 Support (1-hour SLA)YesYes
 SLA for Quarterly UpdatesYesYes
 Out-of-cycle Critical Fixes (independent from OpenJDK)YesYes
 Commercial Support Production Lifecycle2031 for Java SE
2026 for JavaFX
2030 for Java SE
2025 for JavaFX
 Engineering capacity to root-cause and fix bugs (independent from OpenJDK)YesYes

5. “OpenJDK is not an environment for closed source applications.”

Copyleft licenses, such as the GNU General Public License (GPL), are considered viral. Any code that uses a GPL library automatically becomes GPL as well. Contrary to popular belief, OpenJDK does not mean that anything linking to it needs to be distributed under the GPL terms. The license for OpenJDK is not just “GPL v2”, it is “GPL v2 with the Classpath Exception.” It allows linking OpenJDK with any independent module regardless of GPL terms, copying and distributing the resulting files under terms of your choice. Obviously, this independent module can be your proprietary code, which means that you may utilize the GPL components of OpenJDK while maintaining the integrity of your intellectual property. Your products thus may be copyrighted under a different license.

6. “OpenJDK is not as fast.”

This is simply a misconception. From the JVM performance point, it has no differences from Oracle JDK. Moreover, it is confirmed by major industry-standard benchmarks (SPECjbb, SPECjvm) and microbenchmarks embedded in the OpenJDK code.

7. “OpenJDK is not a solution for ending the dreadful ‘Java trap’.”

After being Oracle’s customers for some time, enterprises are afraid of becoming dependent on a new JDK distributor. On the contrary, you are fully able and encouraged to use the runtime without any vendor participation. At the same time, it is good to have a clear idea of which company is the supplier of your underlying technology. BellSoft guarantees no lock-in by providing builds of vanilla OpenJDK and contributing all the fixes upstream.

7 reasons: “Liberica JDK is…”

1. Liberica JDK is convenient.

We have created the smallest Docker containers on the market to support the JDK. And, thanks to our recent advancements, anyone can try out lightweight JDK Alpine musl images of 43.5 MB. Unlike distributions from other vendors, the binaries we create are supported on most existing platforms and system configurations (e.g., the Red Hat builds of OpenJDK run only on Linux and Windows). So, production and deployment will not be hindered by any limitations.

2. Liberica JDK is safe.

We provide continuous updates for the current and LTS versions with bug fixes and security patches, improving on OpenJDK’s known vulnerabilities.

3. Liberica JDK is offering JDK Flight Recorder + Mission Control for free.

These indispensable tools were first introduced in Oracle Java 7, along with other features that required licensing and subscription. Since the release of JDK 8u262, everyone can use them in all Liberica versions unconditionally.

4. Liberica JDK is easy to install.

We have more channels to deliver Liberica JDK to our customers than any other vendor. Starting with Java 17, Oracle JDK is released under a new “Oracle No-Fee Terms and Conditions” (NFTC) License, where sanction restrictions are explicitly mentioned. New Oracle JDK builds are provided on the official website of the company. Previous Oracle JDK versions are still licensed under Oracle Technical Network, and Oracle Technical Network serves as a centralized repository for registered Oracle users. BellSoft offers a broad choice: picking a container image on Docker Hub, downloading a Windows auto-installer, installing a repository for Linux, finding builds on package managers, downloading binaries directly from the website, or through our public API. Not to mention early access builds that we provide for all update releases so that our clients could test them beforehand and not just for the newest and biggest features such as Project Loom. Note that the build with the JFR port for JDK 8 is included into release builds of Liberica JDK and builds of other OpenJDK vendors with HotSpot. However, Oracle has a closed JFR implementation, this function is provided with a flag on a commercial basis.

5. Liberica JDK is compliant with standards.

We believe in quality level testing for our customers’ peace of mind. All produced binaries are verified by TCK for Java SE specifications. It is important to mention that not all vendors perform Java SE standard TCK testing: AdoptOpenJDK (Eclipse Adoptium) at the time of writing did not have the license. Moreover, Liberica JDK for macOS is a notarized product, which means you can refer to it when developing your applications on this platform.

6. Liberica JDK is in touch with the community.

Being among the top 5 OpenJDK contributors, we make sure that any bug we fix for a client during troubleshooting is immediately corrected for everyone. We do not have a downstream repository, so then the fixes get integrated into the JDK mainline branch as fast as possible, unlike some other vendors that work towards eventual consistency with OpenJDK.

7. Liberica JDK is available with a support subscription.

Yes, you may absolutely use our binaries for free. But if you would like to have a reliable partner who always speaks your language, BellSoft offers versatile support plans with per-instance pay which are much less costly than Oracle’s. The subscription cost for Liberica JDK is $20,000 (per 350 CPU), which is 5x times less than that of Oracle’s ($105,000). Per-vCPU licenses (such as Oracle JDK) require re-dimension of costs if hardware is changed. With Liberica JDK, when your enterprise upgrades (or downgrades), a different number of vCPUs would not make you alter the contract by legal means. Besides reduced expenses, you will soon find that our engineering team is vastly knowledgeable and quick to react since you do not have to wait weeks until your request is resolved.

Bonus advantage: software stacks. For instance, starting from 2020, Liberica JDK is the Unified Java Runtime as part of VMware Tanzu. Engaging with this ecosystem, you gain access to the powerful Pivotal assets, get the best out of cloud services, and receive excellent High Powered Support from BellSoft.

Customer success stories

The majority of our clients have traveled the same path you are going to, migrated from Oracle JDK to Liberica. Let’s see what they say about their digital transformation and overall experience with BellSoft.

JetBrains

We asked Konstantin Bulenkov, JetBrains Runtime Lead: Why did you choose BellSoft as the partner to support JetBrains Runtime?

“When Apple made the decision to discontinue support for JDK on macOS, we ended up facing a major problem with respect to text rendering quality in the IntelliJ editor. So we decided to start the JetBrains Runtime project. The biggest fear we had before making the switch to our own runtime was security. And Oracle’s move last year to stop providing public updates for JDK 8 forced us to work on finding a way to make JetBrains Runtime more secure. We realized that Liberica JDK is a 100% open source project, and BellSoft is one of the leading OpenJDK contributors. BellSoft, part of OpenJDK Vulnerability Group, collaborates with other contributors to keep OpenJDK robust. JetBrains relies on the Liberica team’s experience and expertise to provide timely updates for our customers; together, we keep JetBrains Runtime secure and performant.”

Have we convinced you to switch from Oracle JDK? Leave your details by clicking the button below, consult with BellSoft’s professional team and start your migration now!

Flow Traders

We asked Yury Vasyutinskiy, Team Lead at Flow Traders: What were the essential aspects you sought in a Java runtime vendor?

“Flow Traders is a leading global financial technology-enabled liquidity provider in financial products, historically specialized in Exchange Traded Products (ETPs), now expanding into other asset classes. Flow Traders ensures the provision of liquidity to support the uninterrupted functioning of financial markets. It allows investors to continue to buy or sell ETPs or other financial instruments under all market circumstances. We continuously grow our organization, ensuring that our trading desks in Europe, the Americas and Asia can provide liquidity across all major exchanges, globally, 24 hours a day. Technology is a key component in enabling this growth; therefore, we aim to be in as much control as possible to our trading platform. Thus, we develop and maintain a large code base with dedicated in-house resources.

Due to the change in the licensing model for Oracle JDK, we have decided to look around for other JDK vendors. We embrace innovation and new technologies, as we believe that helps us to step up our game. But we stay pragmatic and check all the details thoroughly. Hence several requirements were identified for switching to a new vendor solution:

  1. Stability of the distribution
  2. Clear SLA on security patches delivery
  3. Full compatibility with our landscape
  4. Performance of the distribution

At Flow Traders, we invest significantly in the quality of our products. Being one of the leading global ETP liquidity providers, we have extensive quality control systems that cover both functional and non-functional aspects of our products. We have conducted a series of different tests to check all the requirements. As a result, Liberica JDK was chosen as our main JDK distribution. We are satisfied with the Liberica JDK as we managed to onboard it without any major hiccups. We are also very happy with the level of support provided by the Bellsoft team and are looking forward to strengthening our relationship in the coming years.”

Have we convinced you to switch from Oracle JDK?

Leave your details by clicking the button below, consult with BellSoft’s professional team and start your migration now!

posts
Alpaquita vs Alpine: a head-to-head comparison
figure
Nov 10, 2022
Dmitry Chuyko
shorts
Critical vulnerabilities in OpenSSL 3.0
Nov 11, 2022
Sergey Chernyshev

Find out about the newest CVEs discovered in OpenSSL 3.0 and how to eliminate the risk of exploits

Subcribe to our newsletter

figure

Read the industry news, receive solutions to your problems, and find the ways to save money.