EclipseCon EU: Let’s talk open source

EclipseCon EU: Let’s celebrate open!

EclipseCon EU is almost here – October 21-24 in Ludwigsburg, Germany. We’re excited to sponsors both the main and co-located OSGi Community 20th anniversary events this year, but mostly we’re looking forward to connecting with you around ways to accelerate your journey to cloud.

From fun hands-on coding challenges to incredible speakers, we know it’s going to be a great event. We hope you’ll stop by the IBM Developer booth to connect.

Test your coding skills: Cloud-native workshop and QuickLabs

Workshop: Build-a-bike Tuesday, October 22 – 09:00 to 12:00 in Seminarraum 5
Liberty Bikes is a four player, elimination game built using the latest technologies of Jakarta EE 8 and MicroProfile 3.0. Come build your first (or 100th) microservice as you create an AI to compete in a battle royale against your fellow attendees. In this workshop, you will develop a complete microservice, leveraging a MicroProfile Rest Client to seamlessly integrate and communicate with an existing application. Can you become champion of the grid?

Code for Swag QuickLabs: We challenge you to use your coding skills for . . . some cool swag. In 15 minutes or less, with a few lines of code, explore some of the latest in Java, open source, frameworks, and more. You can then claim victory and a special prize.

Your open source journey to the cloud starts at the IBM booth

In addition to great speakers, here are a few of the topics we’re most excited to chat with you about:

Book signing: Wednesday, October 23 from 14:30 – 16:00
Meet the authors and get a free “Developing Open Cloud Native Microservices: Your Java Code in Action” ebook.

Code for Swag QuickLabs: Get your hands on the code and add to your swag collection with one or more of our labs featuring Kabanero, Open Liberty, Kubernetes and more.

Build cloud-native apps and microservices: Experience the power of the Open Liberty cloud runtime for building cloud native apps in a fun, interactive game, Liberty Bikes. Open Liberty provides fully compatible implementations of Jakarta EE and Eclipse MicroProfile.

Modernize existing apps for cloud and containers: Explore tooling, skills, and recommendations for getting the most out of your existing applications as you move to the cloud. Join IBMers who are actively working with customers on modernizing their apps using open technologies including Open Liberty, Eclipse OpenJ9, Jakarata EE, Eclipse MicroProfile, Spring, Reactive and more.

Kabanero: Find out about this new open source project that brings together Knative, Istio, and Tekton with new open projects Codewind, Appsody, and Razee into an end-to-end solution to architect, build, deploy, and manage the lifecycle of Kubernetes-based applications.

** Hear from IBMers on topics covering app modernization, cloud native development, new open source projects, machine learning, Eclipse projects, communities, and more.

Eclipsecon image

Session Date/Time Session Title Speaker Name
22 Oct: 09:00 – 12:00 Build-A-Bike Workshop Ryan Esch Andrew Guibert
22 Oct: 14:30 – 15:05 How Java9+ helps you React- Reactive Programming? Jayashree S Kumar
22 Oct: 14:30 – 15:05 Jakarta for dummEEs Kevin Sutter
22 Oct: 14:30 – 15:05 Intro to Eclipse Codewind – simplified app development for the cloud! Tim deBoer
22 Oct: 17:00 – 17:35 Mastering your Eclipse IDE – Java tooling, Tips & Tricks! Noopur Gupta
23 Oct: 09:30 – 10:05 Modern Development — How Containers are Changing Everything Steve Poole
23 Oct: 09:30 – 10:05 Make testing Enterprise Java more joyful Sebastian Daschner
23 Oct: 10:15 – 10:50 OSGi in Action: How we use OSGi to build Open Liberty Alasdair Nottingham
23 Oct: 15:10 – 15:45 Thirst-quenching streams for the reactive mind – A comparison of OSGi Push Stream API and implementations of Reactive Streams Mary Grygleski
23 Oct: 15:10 – 15:45 Evolve Java APIs and keep them compatible using API Tools Vikas Chandra
23 Oct: 15:10 – 15:45 Test Dockerization Mamatha J V
23 Oct: 15:10 – 15:45 OpenJ9 a Lean, Mean, Java Virtual Machine for the Cloud Billy Korando
23 Oct: 16:15 – 16:50 EGit Essentials, Tips and Tricks Lakshmi Shanmugam
23 Oct: 16:15 – 16:50 Migrating Beyond Java 8 Dalia Abo Sheasha
23 Oct: 16:15 – 16:50 Java EE, Jakarta EE, MicroProfile, Or Maybe All Of Them? Sebastian Daschner
23 Oct: 16:15 – 16:50 Promises in Java: Using Promises to Recover from Failure BJ Hargrave
24 Oct: 10:15 – 10:50 Java and Containers – Make it Awesome! Dinakar Guniguntala
24 Oct: 13:00 – 13:35 Streamline Integration Testing with Testcontainers Andrew Guibert Kevin Sutter
Neil Patterson

Oracle Code One: Let’s talk open source, Java, cloud, and . . . cool socks

Code One 2019 is almost here! Join us September 16-19 in San Francisco. We’re excited to be sponsors this year, but mostly we’re looking forward to connecting with developers around Java, open source, cloud modernization and cloud-native app development.

From fun hands-on coding challenges to incredible speakers, we think it’s going to be a great event. We hope you’ll stop by booth 3101 to meet us.

Test your coding skills: Cloud-native workshop and QuickLabs

Workshop: Hands-on, open cloud-native development with Kabanero and Java [HOL6624]

Monday, 16 September, Room 3024A

Choose the time that works best for you! 12:30-2:30 PM or 2:45-4:45 PM or 5:00–7:00 PM

Explore modern, cloud-native app development that uses Java and the latest open technologies in this deep dive hands-on workshop. The workshop lets you use Kabanero, a new open source project that integrates popular open source projects (Tekton, Kubernetes, Appsody, etc) and delivers a simplified, seamless development experience.

Code for Socks QuickLabs: Booth 3101 We challenge you to use your coding skills for . . . cool socks. In 15 minutes or less, with a few lines of code, explore some of the latest in Java, open source, frameworks, and more. You can then claim victory and a special pair of socks.

Challenges include:

  • Cloud-native development with Kabanero
  • Getting started with Open Liberty
  • Akka and Kubernetes: a symbiotic love story
  • Intro to Kabanero and Spring

Come talk open source Java

Join us at Booth 3101 to talk about the newest cloud-native, Java open source projects at IBM, including:

  • Kabanero: Find out about this new open source project that brings together Knative, Istio, and Tekton with new open projects Codewind, Appsody, and Razee into an end-to-end solution to architect, build, deploy, and manage the lifecycle of Kubernetes-based applications.
  • Open Liberty: Experience the power of this cloud runtime for building cloud native apps in a fun, interactive game, Liberty Bikes. Open Liberty provides fully compatible implementations of Jakarta EE and Eclipse MicroProfile.
  • Cloud-native Java: Talk to IBMers who are actively contributing to the open Java communities including: Open Liberty, Eclipse OpenJ9, Jakarata EE, Eclipse MicroProfile, Spring, Reactive and more.

Socialize with other Java developers and get your books signed

Cloud-native Java networking evening: IBM is excited to co-sponsor the first networking evening at Code One. The event brings the Jakarta EE and Eclipse MicroProfile communities together for a time of celebration around the significant achievements of the past year.

Book signing: Meet the authors and get a free “Developing Open Cloud Native Microservices: Your Java Code in Action” ebook. Tuesday, September 17 from 2:30 – 4:00 PM.

IBM sessions at Code One

Hear from IBMers on topics covering cloud native development, new open source projects, machine learning, communities, and more.

Session Date/Time Session Title Speaker Name
16 Sept 12:30-2:30 PM Hands-on Lab: Open Cloud Native Development with Kabanero and Java [HOL6624] Steve Poole, Graham Charters
16 Sept 2:45-4:45 PM Hands-on Lab: Open Cloud Native Development with Kabanero and Java [HOL6624] Steve Poole, Graham Charters
16 Sept 5:00-7:00 PM Hands-on Lab: Open Cloud Native Development with Kabanero and Java [HOL6624] Steve Poole, Graham Charters
16 Sept 5:00 PM Seven Principles of Productive Software Developers [DEV2118] Sebastian Daschner
16 Sept 5:00 PM Creating a Cloud Native Microservice: Which Programming Model Should I Use? [DEV1573] Emily Jiang
16 Sept 5:00 PM FaaS Meets Java EE: Developing Cloud Native Applications at Speed [DEV3080] Chris Bailey
16 Sept 5:00 PM Ignite Session [IGN6313] Grace Jansen
16 Sept 6:00 PM Your Java Code Just Needs a Little Injection: It Won’t Hurt! [DEV3631] Gordon Hutchinson
17 Sept 8:45 AM Java Application Security the Hard Way: A Workshop for the Serious Developer [TUT2851] Steve Poole
17 Sept 12:30 PM Let’s Talk About Communities [BOF3992] Billy Korando
17 Sept 1:30 PM Beyond Jakarta EE 8 [DEV1391] Ian Robinson
17 Sept 1:30 PM Overcoming Obstacles: Using Next-Gen Tools to Streamline Your Move to the Cloud [DEV6686] Erin Schnabel
17 Sept 2:00 PM Machine Learning and Artificial Intelligence: Myths and Reality [DEV6005] James Weaver
18 Sept 11:30 AM Configuration: JSR 382 [DEV2207] Emily Jiang
18 Sept 11:30 AM Condy? NestMates? Constable? Understanding JDK11 and JDK12’s JVM Features [DEV3407] Dan Heidinga
18 Sept 11:30 AM Breaking Stereotypes [BOF3757] Mary Grygleski
18 Sept 11:30 AM Fast, Efficient Jakarta EE for the Cloud [DEV4576] Alasdair Nottingham
18 Sept 12:30 PM Hands-on Java EE with Docker and Kubernetes – BYOL [HOL1138] Ahmad Gohar
18 Sept 1:30 PM Bulletproof Java Enterprise Applications for the Hard Production Life [DEV2122] Sebastian Daschner
18 Sept 4:00 PM Fantastic Data Consistency Techniques and Where to Find Them [DEV3922] Gordon Hutchinson
18 Sept 6:00 PM Streamline Integration Testing with Testcontainers [DEV3744] Kevin Sutter
18 Sept 6:00 PM Streamline Integration Testing with Testcontainers [DEV3744] Andrew Guibert
18 Sept 6:00 PM Share What You Know, Become a Speaker, and Get Accepted at Events [DEV5993] Mary Grygleski
19 Sept 9:00 AM Eclipse MicroProfile: The Present and the Future [BOF2200] Emily Jiang
19 Sept 9:00 AM Modern Development: How Containers Are Changing Everything [DEV2849] Steve Poole
19 Sept 9:00 AM Modern Development: How Containers Are Changing Everything [DEV2849] Andy Watson
19 Sept 9:00 AM You Have Nothing to Say? Let Us Help You! [BOF3734] Mary Grygleski
19 Sept 10:00 AM Striving for More-Productive Development Workflows [DEV2115] Sebastian Daschner
19 Sept 10:00 AM Reactive Microservices in Action [DEV4322] Emily Jiang
19 Sept 10:00 AM Stop Feeling Stuck! Design Your Career and Overcome the Plateau [DEV6010] Kevin Sutter
19 Sept 10:00 AM Stop Feeling Stuck! Design Your Career and Overcome the Plateau [DEV6010] James Weaver
19 Sept 12:15 PM Data Visualization, Processing, and ML (on the JVM!) with Apache Zeppelin [DEV2237] Pratik Patel
19 Sept 12:15 PM Data Visualization, Processing, and ML (on the JVM!) with Apache Zeppelin [DEV2237] Mo Haghighi
19 Sept 12:15 PM Making Java a First-Class Citizen with Machine Learning [DEV1306] Dan Heidinga
19 Sept 12:15 PM How to Get Along with HATEOS Without Letting the Bad Guys Steal Your Lunch [DEV2850] Steve Poole
19 Sept 12:15 PM How to Get Along with HATEOS Without Letting the Bad Guys Steal Your Lunch [DEV2850] Graham Charters
19 Sept 2:15 PM Microservices with Docker and Kubernetes: Best Practices for Java Developers [DEV2043] Ahmad Gohar
19 Sept 2:15 PM Migrating Beyond Java 8 [DEV2100] Dalia Abo Sheasha
19 Sept 2:15 PM Team Diversity the Successful Way [DEV6012] Mary Grygleski
Neil Patterson

Get your enterprise apps ready for the cloud

APIs, microservices, and containers are becoming standard for running enterprise applications in the cloud, but many companies have existing monolithic applications running in their data centers. It’s difficult to figure out what to move, where to move it, and when. In the coming weeks of September, IBM is hosting two free conferences that will include a range of developer-focused talks and labs about refactoring or moving your enterprise Java applications to containers with Kubernetes in the cloud:

Here is a selection of what you can learn…

Best practices for writing microservices (Emily Jiang)

If you create microservices, you might be wondering whether there are best practices. Yes, the Twelve-Factor App is the widely adopted methodology. The Twelve-Factor App aims to clarify the boundary between application and infrastructure; minimize divergence between development and production; and enable your microservices to scale up or down without significant changes to tooling, architecture, or development practices.

But the Twelve-Factor App methodology just defines the theory; there is no known implementation. Emily will demonstrate how MicroProfile and Kubernetes can implement the 12 factors.

For example, one of the 12 factors is to externalize the configuration of microservices. MicroProfile Config enables you to externalize configuration so that when you change the configuration of a microservice, you don’t need to repackage it. Similarly, MicroProfile Config can help with port binding (another of the 12 factors) so that microservices can communicate with each other when deployed to the cloud. You can specify new port numbers in Kubernetes ConfigMap, and MicroProfile Config gives the correct information to the deployed microservices.

To find out more, come to Emily’s talk “On-stage hacking: Build 12-Factor microservices in an hour” on Sep. 24, at 11am, at the Application Modernization Technology Conference, in which she will create two microservices and deploy them to Minikube, and demonstrate the 12 factors. She will also present “A modern & smart way to build cloud-native microservices” on Sep. 9, at 3:45pm, at the European Application, Platform & Modernization Hursley Summit.

Build cloud-native applications with Eclipse Codewind (Tim Deboer)

As enterprises move toward microservices and cloud-native development, there are a host of new technologies and skills that developers need to learn. Eclipse Codewind helps bridge this gap by providing support for building cloud-native applications directly in the developer’s IDE of choice. There’s no learning curve because the tools work just like the local development tools that they’re used to using. Codewind supports Visual Studio Code (VS Code) and Eclipse, and also provides a fully hosted development environment through the Eclipse Che IDE.

Codewind provides integrated support for Appsody and Kabanero collections, which enable developers to rapidly create applications in several languages based on predefined stacks that meet corporate standards. These applications are always run within containers, so that you know exactly how it’ll behave in production. But the behaviors that developers expect haven’t changed: code changes take immediate effect; debugging and console output work. Further along in the lifecycle, Codewind includes comprehensive tools for performance testing and benchmarking, and OpenAPI code generation for defining well-behaved REST interfaces.

To find out more, come to Tim’s talk “IBM Cloud Pak for Applications: Introducing Eclipse Codewind” on Sep. 9, at 4:40pm, at the European Application, Platform & Modernization Hursley Summit, or on Sep. 24, at 4:10pm, at the Application Modernization Technology Conference.

Get the latest on Jakarta EE 8 (Kevin Sutter)

We did it! As of 8:44pm on August 26, the ballot for the Jakarta EE 8 Full Platform Specification was submitted for approval! This milestone was the culmination of months of work by many people throughout the Community to prepare the specifications, APIs, Javadocs, and TCKs for the Jakarta EE 8 release.

Over the next couple of weeks, all of these specification ballots will conclude, and the various artifacts will be promoted for public consumption. The goal is to have all of Jakarta EE 8 ready to be announced at the JakartaOne Livestream Conference on Sep 10. Monitoring the progress of this effort is easy. Once the ballots are completed, the various artifacts will be promoted to their respective homes.

If you want to learn more about Jakarta EE (past, present, and future), come to Kevin’s “Jakarta for DummEEs!” session on Sep. 24, at 3:10pm, at the Application Modernization Technology Conference.

Register

Learn more, or register now:

The events are free, but seating is limited. We look forward to meeting you!

Laura Cowen

IBM and Java: Looking forward to the future

It’s that time of year when we look back at what has happened over the last twelve months and think about everything we want to achieve in the new year ahead.

Looking back

Looking backwards can be difficult because, in our industry, we tend to have short memories: not much of what happened five years ago is talked about now, and events from 10 years ago are like talking about the Stone Age! However, it’s hard to exaggerate the level of enthusiasm, passion, and sheer invention that has been generated by Java at IBM through the last 20-odd years.

Much as you might consider IBM a little too conservative at times, we embraced Java from day one and have never stepped back. Since the early days, IBM has contributed to the Java process and won many awards for things like having the best Java virtual machines (JVMs), application servers, innovative Java tools, and more. As time moved on, you also see IBM’s influence in the way that Java evolved to become what it is today. Personally, I think it would be hard to find any other single company that has continuously invested so much into the technology, community, and ecosystem we simply call “Java.”

We tend to forget just what an amazing piece of technology the JVM provides. We take for granted the sophistication of the just-in-time compilers, the garbage collectors, and the platform independence. All this hard-won value comes from many years of invention and innovation. It might surprise you to know that IBM engineers have been technology leaders in JVM matters since day one – and some of us have been around for all that time!

IBM’s contributions to Java

IBM has had a vested interest in making Java the best runtime for business applications across all of its platforms. Since the beginning, we recognized Java as the game-changing opportunity that it was. The opportunity to build a new platform that brought all the computing vendors together – to have one very large space, rather than many small ones. To create a software platform that could get the best out of the hardware available (however much it changed) and yet preserve our customers’ investments and our own product investments. We saw that Java would allow our customers to innovate in new ways and much more quickly than ever before. And they did – in finance, security, healthcare, communications, travel, logistics, aerospace, construction, and many more industries. It’s no joke to say that IBM’s Java platforms underpin the world’s economy.

Yet IBM does not charge for using its JVM technology. This is simply because to do so undermines the true value of Java as an enabler. Everyone benefits from free, secure, open Java. Now that’s not to say that the developers working on Java and JVMs don’t deserve to get paid – these highly skilled engineers are providing a stable, performant, fundamental platform for protecting and building true revenue opportunities. Recent events have shown that we should not take Java runtimes for granted. Java is so important to the world that it has to remain free of runtime cost in all endeavors, and be free to distribute, change, and improve.

IBM is committed to ensuring that Java remains free by working at OpenJDK, AdoptOpenJDK, and the Eclipse Foundation. Indeed, we provide a commercial support offering around the free AdoptOpenJDK binaries containing Eclipse OpenJ9. IBM’s approach to support (as you’d imagine from a company whose customers are the largest ones around) is pretty focused and serious. At IBM, support means more than regular security fixes – which are free in the community. It means you can pick up the phone or electronic-equivalent and talk to our engineers to get help with diagnosing and fixing your Java runtime issues.

Last year, IBM completed the open sourcing of our industry-leading JVM at the Eclipse Foundation. The Eclipse Foundation, an independent, not-for-profit corporation, thinks about open source the way that makes sense to IBM. The Oracle Java EE 8 and GlassFish code has moved to Eclipse under the Jakarta EE project, where it joins the MicroProfile project as a location to modernize and advance the enterprise platform technologies.

The community has always worked together to propose, critique, and implement the evolution of the Java platforms. The many years of communal experience sharing design ideas, formalizing them through standards, and encouraging multiple implementations has rightly kept Java in a dominant position within our industry. There’s every reason to believe that this approach is the right one to keep the enterprise and language platforms forging ahead into the future.

Now IBM’s Java runtime is 100% open source – you can get the same version of the technology that IBM uses in all of its products and that our customers use too. Of course, if you don’t want to build from source yourself, you can simply download Java Version 8 and beyond from the AdoptOpenJDK website. You can be assured that the download has been built and rigorously tested across multiple platforms in the same way and from the same codebase. IBM is offering several support options for AdoptOpenJDK binaries.

What’s to come

As befits a company like IBM, we have a wide vision for the future of the Java platforms. There are deep technical areas where we envisage the JVM exploiting cloud container capabilities to further enhance its suitability in a modern computing environment, better integration with other languages prevalent in the multi-tier and microservice architectures, and use of machine learning techniques to make the platform smarter and adaptive to ever-changing workloads. Efforts with OpenJ9’s greatly improved memory utilization, fast application start-up, and blazing performance is creating a JVM that can truly be called a cloud-native Java Runtime.

It has been fun wandering down memory lane, but it’s going to be much more fun to help Java grow into something more amazing than ever. If you have a little time, think a bit about the future, think about what you would like in the Java of tomorrow, and how you could get involved to make it become real. The Java community is unique. Let’s work together and keep it a vibrant, innovative ecosystem for free Java.

Tim Ellison
Steve Poole

Free Java with paid support: The IBM perspective

Recently, Oracle has made it clear that they expect users to pay for the privilege of using Java. IBM has a different view. Here are the four things you need to know:

1

Java underpins the world, and it’s in all of our interests to keep it open and free

IBM has a vested interest in making Java the best runtime for business applications across all of its platforms. Since the beginning, IBM recognized Java as the game-changing opportunity that it was. The opportunity to build a new platform that brought all the computing vendors together — to have one very large community, rather than many small ones. To create a software platform that could get the best out of the hardware available (however much it changed), and yet preserve our customers’ investments and our own product investments.

IBM saw that Java would allow our customers to innovate in new ways and much more quickly than ever before. And they did — in finance, security, healthcare, communications, travel, logistics, aerospace, construction, and many more industries. It’s no joke to say that IBM’s Java platforms underpin the world’s economy.

Requiring users to pay for Java undermines the true value of Java as an enabler. Everyone benefits from free, secure, open Java. Now, that’s not to say that the developers working on Java and JVMs don’t deserve to get paid — these highly skilled engineers are providing a stable, performant, fundamental platform for protecting and building true revenue opportunities.

Recent events have shown that we should not take Java runtimes for granted. Java is so important to the world that it must be free to distribute, change, and improve. In addition, free versions of Java binaries, with long-term security updates for Long Term Support (LTS) releases, must continue to be available as a viable option for everyone.

2

IBM is a key player in all of the important Java technologies: all of those technologies are open and free

IBM is committed to ensuring that Java remains open and free by working at OpenJDK, AdoptOpenJDK, and the Eclipse Foundation.

In 2017, IBM completed the open sourcing of our industry-leading JVM at the Eclipse Foundation. The Eclipse Foundation, an independent, not-for-profit organization, thinks about open source in a way that makes sense to IBM. The Oracle Java EE 8 and GlassFish code has also moved to Eclipse under the Jakarta EE project, where it joins the MicroProfile project as a location to modernize and advance the enterprise platform technologies.

Today, IBM’s Java runtime is 100% open source — you can get the same version of the technology that IBM uses in all of its products and that our customers use too. Of course, if you don’t want to build from source yourself, you can simply download Java, Version 8 and beyond from the AdoptOpenJDK website. You can be assured that the download has been built and rigorously tested across multiple platforms from the same codebase. Read this blog for more details.

3

IBM’s commitment to Open Java is such that its own commercial Java offerings are based off the OpenJDK codebase and AdoptOpenJDK binaries

IBM’s approach to support is focused and serious (as you’d imagine from a company whose customers are the largest ones around). At IBM, support means more than regular security fixes, which are free in the community. It means you can pick up the phone or electronic-equivalent and talk to our engineers to get help with diagnosing and fixing your Java runtime issues. For enterprises requiring this level of support, IBM provides a commercial support offering around the free AdoptOpenJDK binaries.

To provide this level of support, IBM needs to be certain that the base quality of the Java runtime, the way the runtime is built and tested, is second to none. As a platinum sponsor of the AdoptOpenJDK community, IBM is working with leading Java communities, other Java vendors, and industry partners to ensure that all the binaries produced by the AdoptOpenJDK community are consistent and thoroughly tested. Whatever your platform of choice, you can be certain that it is built and tested in the same way, and from the same codebase, as all the others.

The AdoptOpenJDK community has had over 6 million downloads to date, so it’s clear that many people agree with their approach.

4

Switching to the IBM-supported offering from AdoptOpenJDK is easy, and gives you the option to greatly improve performance and serviceability

Using AdoptOpenJDK with Eclipse OpenJ9 in place of the Oracle Java SE offering is straightforward. If you opt for the OpenJ9 JVM, instead of HotSpot, you may be surprised to see that your runtime footprint is substantially reduced by 60%, while startup time is improved by 40% (great for cloud bills!) — all with no impact to your throughput. For more details, read the blog “OpenJDK with Eclipse OpenJ9: No worries, just improvements“.

Takeaways

It’s clear that the Java community is working together to ensure that Java remains open and freely available. Here are the key points to take away:

  • The AdoptOpenJDK community provides Java runtimes that are always free to run, have long support life times, and are regularly updated.
  • The AdoptOpenJDK community is backed by many companies, including IBM and Microsoft, and believes that it is in all of our interests to keep Java free.
  • IBM’s commitment to the AdoptOpenJDK initiative is such that its own Java offerings are based off of the AdoptOpenJDK binaries.
  • Switching to AdoptOpenJDK is easy, and the OpenJ9 option gives you greatly improved performance and serviceability.
  • IBM provides commercial support for AdoptOpenJDK, for those who need more than the regular free security updates.

Next steps

Download a binary of OpenJDK with OpenJ9 today. If Docker is more your style, then pull one of the OpenJDK with OpenJ9 Docker images: adoptopenjdk/openjdk8-openj9

If your corporate policies require an enterprise-grade support contract for software, check out the IBM’s support offering for OpenJDK.

Steve Poole

Java licensing has changed, and you could be affected

What has happened?

In June 2018, Oracle announced a major change to how it will license the use of Java® beginning in January 2019. It’s important that you thoroughly understand these changes and what they may mean for you and your business.

What’s changing?

As of January 2019, Oracle no longer provides free security updates to Java 8, and you may incur a licensing cost if you are using Java in a commercial environment. To quote the announcement from Oracle:

Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial, or production use without a commercial license.

The following table shows how that differs pre- and post-January 2019:

Java binary Vendor Free for personal use Free commercial use Free security updates Support contract option
IBM® SDK for Java v8 IBM 1
OpenJDK+OpenJ9 v8 Adopt 2 3
OpenJDK+HotSpot v8 Adopt 2 3
Oracle Java SE v8 (pre-Jan 19) Oracle
Oracle Java SE v8 (post-Jan 19) Oracle X X
  1. Included as part of an IBM product M&S contract
  2. Community-delivered
  3. Through IBM’s support offering for OpenJDK

How will this affect me?

If you downloaded your Java SE binary from Oracle.com (under Java’s Binary Code License, BCL) and are using it in any of your products, devices, or platforms for commercial purposes or within your business, then you are affected by this change in policy. In these instances, you should consider replacing your Oracle.com-sourced Java binary with one from the AdoptOpenJDK community (refer to this blog for more details). If you downloaded your Java binary from IBM Developer, or you received it as part of your IBM product download, you can also continue to use this for free under the terms of the IBM license.

How are my IBM products and middleware affected?

Customers who use the IBM SDK or JRE bundled with their IBM product (for example, WebSphere, Netcool, MQ), including Java SDKs/JREs for Windows, macOS, and Solaris, are not affected by Oracle’s announcement, provided that the IBM Java SDK/JRE is used solely in the context of operating the product. Customers who use the IBM Java SDK/JRE on their Power, LinuxOne, IBM i, and z/OS platforms are also not affected by Oracle’s changes.

Is there an alternative?

Yes! The AdoptOpenJDK community makes available a number of Java binaries that are free to use in both personal and commercial environments, and receive free security updates through a collaborative effort by the community at OpenJDK. In addition to OpenJDK with HotSpot, AdoptOpenJDK provides binaries for OpenJDK with Eclipse OpenJ9, which uses the cloud-, server-, and workstation-optimized JVM from IBM, and is available for Linux® on x86-64 and other architectures like IBM Power® and System/390®, Windows™, and macOS®.

OpenJDK with OpenJ9 contains a high-performance, scalable, Java virtual machine (JVM) implementation that is particularly well-optimized for resource-constrained environments, such as workstations and cloud deployments, where fast startup and ramp up — as well as low memory footprint characteristics — are important. For more details, read the blog “OpenJDK with Eclipse OpenJ9: No worries, just improvements.”

For those who need enterprise-grade support for some or all of their Java deployments, IBM’s low-cost support offering for OpenJDK allows you to raise tickets and get help in resolving issues discovered in or with the Java runtime. IBM’s support offering for OpenJDK also provides industry-leading monitoring capabilities for Java running in your server environments.

What happens next?

We advise that you take the time to understand how you and your business are impacted by Oracle’s changes and to discuss with us what options are available to you.

Where can I find out more information?

We would love to talk to you about your future use of Java and how we can help.

  • If you are an existing IBM customer, please reach out to your IBM product team.
  • Download and test drive an AdoptOpenJDK binary of OpenJDK with OpenJ9 today. If Docker is more your style, then pull one of the Docker images at adoptopenjdk/openjdk8-openj9.
  • Take a look at our very competitively priced support offering for OpenJDK.
  • If you are not an existing IBM customer and would like to understand more about replacing your Java with supported AdoptOpenJDK binaries, please contact Murali Veeravalli.
Rob Lamb

AdoptOpenJDK: An open Java distribution and community you can count on

Oracle’s recent changes to Java licensing have meant that many enterprises are re-evaluating their requirements for a stable Java distribution with reliable support at a reasonable cost.

Well, enterprises need look no further than AdoptOpenJDK as the best alternative available.

AdoptOpenJDK is an open, community-led initiative that provides free, pre-built binaries of the reference implementation of the Java platform from OpenJDK. The AdoptOpenJDK community’s goal is to ensure that these regularly updated downloads of Java are available for everyone all the time.

The AdoptOpenJDK distribution is the most comprehensive in its coverage of operating systems and architectures. With an AdoptOpenJDK binary, you can be confident that it is built and tested exactly the same across all environments.

Read on, and you’ll start to understand the unique strengths and attributes of AdoptOpenJDK.

AdoptOpenJDK is an open community

AdoptOpenJDK is supported by a global set of individuals and organizations, including one of the largest and most active Java User Groups in the world: the London Java Community (LJC). It’s also supported by the likes of Azul, IBM, Ocado, and Microsoft, all of whom are platinum sponsors and active members of the community. With this level of backing and cross-industry collaboration, you can rest assured that Java’s best and brightest are advancing the community’s goals today and will be doing so for quite some time in the future.

Of course, the true litmus test of any community’s stature is the extent to which the industry is utilizing the products and services it provides. As of January 2019, downloads of the AdoptOpenJDK binaries surpassed six million! Couple this with the fact that IBM is already basing most of its Java software on AdoptOpenJDK builds, meaning most Fortune 500 clients are leveraging this distribution to run their business, and you have a thriving community with growing influence and a robust future.

AdoptOpenJDK delivers reliable, enterprise-ready builds

Enterprises typically need to migrate to new major releases in a very deliberate and planned manner. In many cases, enterprises standardize on a specific Long-Term Support (LTS) release for multiple years. The LTS release concept was recently introduced to Java. Oracle plans to deliver an LTS every three years and support it for five years or so.

AdoptOpenJDK enhances this critical enterprise requirement by producing free, well-tested, stable, and secure binaries for Java 8 and follow-on LTS releases for as long as the upstream source at OpenJDK is actively maintained. Oracle is withdrawing commercial support for Java 8 LTS in January 2019 and will cease to provide OpenJDK Java 8 binaries in December 2020. In contrast, the AdoptOpenJDK community is expecting to deliver OpenJDK builds for Java 8 until at least September 2023. During this time, maintenance/security updates will be provided every three months. A similar support strategy is planned for Java 11, the most recent LTS release. For details, visit the AdoptOpenJDK Support website.

The AdoptOpenJDK community’s aim is to ensure that free, regularly updated downloads of Java are available for as long as possible. Contrast this level of support with the Oracle builds available at OpenJDK, which are provided for only the current version of Java (Java 11 at the time of publication). In addition, Oracle will only provide security patches for the first six months of the release, after which users will need to update to the next Java release if they want to continue to have access to security patches. Once a new Java version is released, Oracle will remove builds for the previous release.

Quality is another key component of the AdoptOpenJDK binaries. The community has an abundance of different tests at their disposal (donated by members) to verify the quality of every build, ensuring that applications run and behave as expected. Stable and reliable builds are consistently produced through regression, functional, system, load, application, and performance tests. In addition, build and tests results are completely open, and can be reviewed by the community.

AdoptOpenJDK supports a wide range of platforms and choice of JVM

AdoptOpenJDK delivers free Java binaries on a wider range of platforms than anyone else. From Linux on x86-64 and other architectures, like Power and s390, to Windows and macOS too. The AdoptOpenJDK project builds and extensively tests each release ensuring you get the best Java to run your application.

Looking for a more performant JVM to handle cloud native workloads or run your desktop applications? AdoptOpenJDK has the solution with its Eclipse OpenJ9 offering that delivers fast startup, small footprint, and great peak performance. Learn more about OpenJDK with Eclipse OpenJ9 in this blog, which equates replacing the Hotspot JVM with the OpenJ9 JVM to replacing your car’s engine – you have the same car just with better performance.

What are you waiting for? Give AdoptOpenJDK a try!

The time for strategic decision-making for your Java distribution of the future is now. LTS builds produced by AdoptOpenJDK are:

  • High-quality, reliable, and secure
  • Enterprise-ready and battle-tested
  • Run on the platforms that are important to your business
  • Available and supported with security updates for the length of time your business requires
  • Backed by an open community and ecosystem you can count on

Hopefully, by now, your interest in learning more about AdoptOpenJDK and test-driving one or more of its builds is piqued. If so, download a binary of OpenJDK with OpenJ9 today.

If Docker is more your style, then pull one of the OpenJDK with OpenJ9 Docker images:

docker pull adoptopenjdk/openjdk8-openj9

Do your corporate policies require an enterprise-grade support contract for software? No problem! IBM offers support for both OpenJ9- and HotSpot-based AdoptOpenJDK binaries through the IBM’s support offering for OpenJDK.

So, what are you waiting for? Get started with AdoptOpenJDK today!

Pratik Patel
Billy Korando

OpenJDK with Eclipse OpenJ9: No worries, just improvements

With the January deadline upon us for either migrating off Oracle JDK or paying license fees, you might be wondering what’s the right JDK for your business. Seems like there’s a lot of possibilities but how to pick?

Well, the answer is simple: OpenJDK with Eclipse OpenJ9.

OpenJDK with Eclipse OpenJ9 is built from two major open source communities: OpenJDK and the Eclipse Foundation’s OpenJ9 project. OpenJDK is the reference implementation of the Java platform and provides the base for most implementations of the Java platform. It’s a common place for everyone wanting to develop the class libraries and core APIs to collaborate. It provides a single set of APIs that are tested across multiple JVMs on multiple platforms ensuring that there’s a stable and consistent base for your application to target. Whether it’s the JDK 8 platform level or something newer, OpenJDK provides a consistent experience.

Why “OpenJDK with OpenJ9” then? Well, you definitely want the consistent stable API base that OpenJDK provides. You want the knowledge that your application will just run. You want to know your application will “just work.” But sometimes you want more than you get from Hotspot –- the JVM you get by default with the reference implementation. And the OpenJ9 JVM gives it to you.

Replacing the Hotspot JVM with the OpenJ9 JVM is like replacing your car’s engine – you have the same car just with better performance. OpenJ9 has a pedigree going back over a dozen years and has acted as a center of innovation delivering performance, hardware exploitation, and serviceability across numerous IBM products. Many of the benefits and features built into OpenJ9 continue to be the driving factors and key differentiators for today’s cloud native workloads.

Surprisingly, what matters most to cloud native workloads — fast startup, small footprint, and great peak performance are the same features that matter to desktop users. Desktop users want a stable platform that won’t consume all the memory on their systems, they want applications that start up quickly and are immediately usable, and of course, they want those applications to perform well.

OpenJ9 meets all those needs. The OpenJ9 code base has supported the full range of configurations from mainframe, to cloud servers, and all the way down to Java ME configurations. A maniacal focus on the tiny runtime footprint required to operate in an embedded space continues to this day. The developers continue to scrutinize the footprint of every new feature and ensure that memory is being used efficiently. Some of the design choices made in the embedded space continue to pay dividends today.

One example is how classfile metadata is stored within the VM. OpenJ9 uses a write-once, position independent format which allows metadata to be saved in shared memory just like shared libraries for native applications. This shared area, called the shared classes cache, also benefits startup time by allowing the JIT code to be saved and reused in later runs. The first time an application starts, it saves away some of the jitted code and metadata so that later runs can reuse that code and metadata to provide much faster start and ramp up. Why compile String, Object, ArrayList and all your application classes every time? Well, OpenJ9 doesn’t need to with this technology. Instead of waiting for the code to become “hot” enough to be worth compiling, OpenJ9 can start with the jitted code.

At this point, you’re probably asking yourself what’s the catch? I know I would be. And here’s the thing — there is no catch! OpenJ9 delivers the same (or better!) peak performance as other OpenJDK distributions and it does so while consuming ~60% less memory and also starting ~40% faster. That’s really incredible when you think about it.

Wondering if you can trust these claims? Turns out the benefits have been replicated by lots of users:

You’re probably thinking this is great for people who run Java 11 or whatever the current release is today. While it’s great for those users, it’s also great if you’re still on Java 8. The OpenJ9 community recognizes that not everyone can or even wants to migrate past Java 8 right now. We’ve committed to keeping Java 8 current for our users. We do this by using the same JVM across all the supported Java releases from Java 8 to 11 (LTS) and the current release (soon to be 12) — one source base compiled for each of the releases. That means you get the latest and greatest platform exploitation — new garbage collectors like the software-based concurrent scavenger with ultra-low pauses, better container ergonomics, improved JIT optimizations, and a JVM that keeps up with your hardware — regardless of which Java version you’re running. Our motto is “No LTS JDK release left behind!”

Ready to get the benefits of OpenJ9? Download a binary from AdoptOpenJDK –- the primary clearing house for stable, well-tested JDK binaries for your platform of choice: from Linux on x86-64 and other architectures like Power & s390, to Windows, and Mac OS X too, we’ve got you covered. The AdoptOpenJDK project builds and extensively tests each OpenJ9 release ensuring that you’ve got the best JDK to run your application.

Or if Docker is more your style, then pull one of the AdoptOpenJDK Docker images: docker pull adoptopenjdk/openjdk8-openj9

Do your corporate policies require a support contract for software? Not a problem! IBM offers support for the OpenJ9 builds from AdoptOpenJDK through the IBM’s support offering for OpenJDK.

Great performance, better memory efficiency, and optional support from a major vendor you can count on –- everything you can want in one package.

Dan Heidinga