7 reasons to switch from Oracle JDK to Liberica JDK
August 14, 2020
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.
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 or 14, but about to grow 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:
- in its current state, Oracle Java SE License does not allow the free use of safe LTS releases in production — but you want to develop, test and deploy your applications in a unified runtime environment;
- 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. But if you do not have time to read the full article, 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 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 slowly 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 JDK||Oracle JDK|
|License, Security, Compatibility, and Sources||Based on OpenJDK||Yes||Yes|
|Open-Source License, no field of use restrictions||Yes||OTN License Agreement
for Oracle Java SE for JDK 8, 11
|Quarterly Security Updates||Yes||Yes|
|Compliance with Java SE specification guaranteed by TCK||Yes||Yes|
|Performance Parity with Oracle Java SE||Yes||Yes|
|Guaranteed LTS (8, 11) and Feature (12, 13, 14) versions||Yes||Yes|
|Platforms & Installers||Windows x86 (64 bit)||Yes||Yes|
|Windows x86 (32 bit)||Yes||JDK 8 only|
|Linux x86 (64 bit)||Yes||Yes|
|Linux x86 (32 bit)||Yes||JDK 8 only|
|Alpine Linux x86 (64 bit, musl)||Yes||No|
|Linux ARM (32 bit)||Yes||JDK 8 only, Embedded license|
|Linux ARM (64 bit)||Yes||JDK 8 only|
|Solaris Sparc||JDK 8, 11||JDK 8, 11|
|Solaris x86 (64 bit)||JDK 8, 11||JDK 8 only|
|Mac Installers||DMG, PKG||DMG|
|Linux Installers||DEB, RPM, TAR.GZ||DEB, RPM, TAR.GZ|
|Variety of bundle types||Lite, Standard, Full, JDK/JRE||Standard, Server JRE/JRE/JDK|
|Linux Repositories (yum, apt)||Yes||No|
|Product Features||Java Flight Recorder||JDK 8, JDK 11||JDK 8, JDK 11|
|Java Mission Control||Yes||Yes|
|OpenJFX (JavaFX)||JDK 8, 11||JDK 8 only|
|Java Web Start and Applets||No||Yes|
|Graphics Renderer||Marlin in JDK 8, 11||Ductus in JDK 8, Marlin in JDK 11|
|Font rendering engine||Freetype in JDK 8, 11||T2K in JDK 8, Freetype in JDK 11|
|Commercial Support||Provided for Supported Platforms & Environments||Yes||Yes|
|24x7x365 Support (1-hour SLA)||Yes||Yes|
|SLA for Quarterly Updates||Yes||Yes|
|Out-of-cycle Critical Fixes (independent from OpenJDK)||Yes||Yes|
|Commercial Support Production Lifecycle||2031 for Java SE
2026 for JavaFX
|2030 for Java SE
2025 for JavaFX
|Engineering capacity to root-cause and fix bugs (independent from OpenJDK)||Yes||Yes|
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 41.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. Whereas 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. Some EA builds are even publicly available (like the one that includes the JFR port for JDK 8).
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 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. Per-vCPU licences (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: using 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.
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!
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:
- Stability of the distribution
- Clear SLA on security patches delivery
- Full compatibility with our landscape
- 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!