Java Is Still Free

This is a repeat of the original Google Doc put together by the Java Champions community of independent Java leaders and experts


With the recent changes to Oracle JDK distribution and support, there’s been considerable uncertainty over the rights to use Oracle JDK vs Oracle’s OpenJDK builds vs OpenJDK builds from other providers. There are also plans around free updates, and (new and existing) paid support models available from various vendors to consider. This document has a Shorter Version and a much Longer Version section with all of the detail.

Shorter Version

You can still get the Oracle JDK, Oracle’s OpenJDK builds and OpenJDK by other providers for free (see the callout and the rest of the section for the nuances on this). This is possible because multiple providers offer implementations of the Java SE specification.

Java SE / OpenJDK / Oracle’s OpenJDK Builds / Oracle JDK
The OpenJDK community creates and maintains the (GPLv2+CE) open-source Reference Implementation (RI) of the Java SE Specification as governed by the Java Community Process (JCP) and defined through an umbrella Java Specification Request (JSR) for each feature release.
There are implementations of Java SE from various providers (such as Azul, Eclipse, IBM, Red Hat, Oracle, SAP, and others), the most common of these being Oracle JDK.
Oracle JDK 8 is undergoing the “End of Public Updates” process, which means there are no longer free updates for commercial use after January 2019. However, since Java SE 9, Oracle is also providing Oracle’s OpenJDK builds which are free for commercial use, and there are free OpenJDK builds from other providers like AdoptOpenJDK, Azul, IBM, Red Hat, Linux distros et al.
Providers prove that their implementation meets all the requirements of the Java SE specification by having it pass all the tests of the relevant Technology Compatibility Kit (TCK).

Going forward there are several options to get a JDK. We focus on Java SE 8 (which is going through the end of public updates process as with earlier versions), and Java SE 11 which is the first Long Term Support (LTS) release under the new release cadence.

Staying with Java SE 8

Some people want to continue using Java SE 8 for various reasons.

  1. Oracle will provide public updates of Oracle JDK 8 through at least December 2020 for personal desktop use and January 2019 for commercial use. After that, users can either go onto a paid support plan or use a Java SE 8 / OpenJDK 8 binary distribution from another provider.
  2. You can continue to use Oracle JDK 8 indefinitely without updates.
  3. If you are not using Oracle JDK 8, then your current Java SE 8 / OpenJDK 8 provider will provide updates and/or paid support plans to choose from.
I WANT $FREE AND FREE (AS IN USE) JAVA SE 8, WHAT DO I CHOOSE?
If you want updates of Java SE 8 after January 2019, use an OpenJDK binary distribution from an OpenJDK provider, i.e. Linux distros, AdoptOpenJDK, Azul, IBM, Red Hat, and others.

Getting Java SE 11 (LTS)

You have several options to choose from. Please read them carefully, especially as Oracle JDK is changing from Java SE 11 onwards.

Starting with Java SE 11, Oracle provides their (OpenJDK based) JDK via

  1. Oracle OpenJDK builds — Under the existing Open Source GPLv2+CE license, and
  2. Oracle JDK — Under a paid commercial license (but free for development use), for those who do not wish to use the GPLv2+CE, or who are using an Oracle JDK with an Oracle product or service.

NOTE: Oracle plans to provide updates for its Oracle OpenJDK builds for two quarterly updates and then transition users to the next version, every six months (this includes LTS versions).

You can also get Java SE / OpenJDK binary distributions from a variety of other providers including Linux distros, AdoptOpenJDK, Azul, IBM, Oracle, Red Hat, and others. This includes updates for a variable length of time depending on whether it’s an LTS version or not.

I WANT $FREE AND FREE (AS IN USE) JAVA SE 11+, WHAT DO I CHOOSE?
Use the Oracle OpenJDK build under the Open Source (GPLv2+CE) license and follow the new six-month release cadence OR
Use an OpenJDK binary distribution from an alternative OpenJDK provider, i.e. Linux distros, AdoptOpenJDK, Azul, IBM, Red Hat, and others.

Paid Support

Oracle plans to provide full paid support for Oracle JDK 8 until at least 2025 and Oracle JDK 11 until at least 2026 (details). There is a wide range of paid support options for Java SE / OpenJDK 8 and 11 binaries from Azul, IBM, Red Hat, and others.


The Longer Version

This section deliberately has a lot of detail as there are nuances that need to be clearly explained. Please do yourself and your colleagues a favour by setting aside some proper time to read this in full. You’ll thank yourself for it, seriously.

We’d also like to thank Simon Ritter, Stephen Colebourne, Hendrik Ebbers, Donald Smith, Jonas Konrad and many others for their earlier posts and permission to reuse their material. Appendix I — Signatories, Thanks and References gives a full list of accreditation and folks who are signatories to this document.

Feedback is welcome!

Change Log

This document will be updated over time as new information comes to light or if there is a verified correction to some factual data. Please check back here for updates and/or follow our @Java_Champions Twitter handle.

Version — Date — Comments

1.0.0–17 Sept 2018 1000 UTC — Initial Public Release

Dissemination

The following sheet is tracking known dissemination of this document. Please update if you share this doc!

Introduction

With the recent changes to Oracle JDK distribution and support, there has been considerable uncertainty over the future of Java, over the software lifecycles, and over vendor-provided support. This document summarises the changes Oracle is making, and the options available for users of Java SE.

WHAT DO WE MEAN BY FREE?
In a nutshell, the word “free” has two distinct meanings in software:
“Free as in beer” refers to the cost (i.e. money) of the software (aka $free).
“Free as in speech” refers to what you are allowed to do with the software.
As explained in the Shorter Version, you can still get Java SE binaries “free as in beer” from Oracle and other Java SE / OpenJDK providers.
Although there are proprietary and/or restricted usage implementations of Java SE out there (Azul’s Zing, Oracle’s JDK etc), for a vast majority of users there is always the option of using an OpenJDK binary, which is “free as in speech” as it is GPLv2+CE licensed.

These changes have happened within a short time frame creating a perfect storm of uncertainty as day to day developers, who don’t follow the industry news closely, get caught up. This leads to factually incorrect posts like:

Which are luckily counterbalanced by more accurate posts such as:

This article will cover the main areas of concern and what’s being done about those concerns by the ecosystem. By the end of this post, you should be reassured that Java SE is still being well looked after and that it has a future stronger than ever!

The New Six Month Release Cadence and LTS

Java SE now has a feature release every six months, using a new versioning scheme which was previously announced in 2017. Thanks to improvements in JCP processes, OpenJDK committers can now introduce spec changing features (such as var in Java SE 10) on the six-month cadence.

WHAT DOES LTS MEAN WITH REGARDS TO JAVA / OPENJDK?
Long Term Support (LTS) in OpenJDK is really just an understanding between the various contributors (led by Oracle) that the code line for Java SE 11 / 17 / 23 etc will be maintained for a longer period of time than six months.
Oracle will lead the first six months of an OpenJDK LTS code line, providing updates and producing Oracle OpenJDK builds, but will then afterward only provide updates for Oracle JDK, under a paid support plan.
However, Oracle will work with other OpenJDK vendors to hand over the OpenJDK LTS code line and allow them to continue working on it together to provide updates. Each vendor then has the choice of providing updates and/or paid support for the binaries they produce.
NOTE: This does mean that Oracle’s JDK could differ from the OpenJDK based binaries produced by other providers (this has always been the case). That said, as long as the binaries pass the TCK, you’re assured that those binaries are compatible with the Java SE standard.

Understanding the new versioning scheme (including what LTS means) and how new features are introduced impacts how each version is maintained. By maintenance, we mean the provision of update releases with security patches and important bug fixes.

UPDATES vs SUPPORT
Updates refer to the code patches that have gone into OpenJDK and Oracle JDK. These have typically gone in for free, until vendors decide that there’s an End of Public Updates process.
Support means a commitment to fix bugs and it requires staff to answer users’ problems, and that costs money. To be clear there has never been free support for Oracle JDK or OpenJDK.

Up to and including OpenJDK 8 / Oracle JDK 8, updates were provided by Oracle and other OpenJDK committers within a “feature release”. Feature releases, such as 8u91, 8u111 and 8u131 (on a six-month cadence) were superseded by each subsequent feature release. For example, once 8u111 was released, you would not get updates on 8u91.

Starting with OpenJDK 9 / Oracle JDK 9, the new six-monthly release cycle came into effect and updates now occur between “feature releases”, i.e. Similar to 8u91 -> 8u111, once 12 is released, you will not get updates to 11 by Oracle (However, other OpenJDK committers, likely lead by Red Hat, will provide these).

Oracle Updates Plan

Until Java 8, Oracle provided updates for the Oracle JDK for a 3+ year lifecycle, and usage was permitted in personal as well as commercial settings. The updates provided no support, and support required the purchase of explicit licenses from Oracle. Paid support also entailed longer update cycles.

Starting with Java 9, Oracle has moved to a faster cadence for Oracle JDK and also started producing Oracle OpenJDK builds. Updates will generally be provided for 6 months before they are stopped upon release of the next version. If updates/support are required for a longer duration, or for production use, then it must be purchased from Oracle (i.e. You must be on Oracle JDK). Periodically, releases will be marked “LTS”. These releases will be supported by Oracle through their standard support licenses for an extended period. As of right now, the Oracle update plan for Oracle OpenJDK builds, with updates, is as follows:

Oracle Updates Plan

The idea here is simple. As has been the model of Java SE going way back to the Sun era, Oracle focuses on new innovations and moving Java SE forward. Organizations who wish to remain on legacy versions can do so via commercial support offerings. Of course, for some Java SE users and development shops, such rapid upgrade is not feasible.

OpenJDK Updates Plan

The OpenJDK community works on a free, open-source implementation of the Java SE standard. Oracle contributes heavily to the project, and it is the basis for both Oracle OpenJDK builds and Oracle JDK. OpenJDK 11+ is interchangeable with Oracle JDK for applications that adhere to the Java SE standard and are using a build that has been tested against the TCK. Oracle will continue to contribute to OpenJDK while they provide updates for the corresponding Oracle OpenJDK build version. Once that version is superseded, Oracle will cease contributing to that version and start updating the next one.

Oracle has been highly receptive to the idea of community maintenance (for OpenJDK 6 and 7) and will continue to support handover of OpenJDK to the community to a qualified volunteering entity once they have moved on to working on the next version. Red Hat stepped in to globally lead (and provide regular updates to) OpenJDK 6 and OpenJDK 7 projects after Oracle ended updates for them. After Red Hat stopped updating OpenJDK 6, Azul Systems stepped in to lead the project and they continue to provide updates to this day.

Red Hat intends to apply for the leadership of OpenJDK 8 after Oracle stops updating it in January 2019. It is important to note that while Red Hat leads the OpenJDK 6 and 7 projects, they are not the sole contributors. Other vendors provide patches and fixes from time to time as well. With OpenJDK 8, there will be more contribution than ever before from non-Red Hat companies, such as Amazon, Azul, IBM, and others.

For consistency, the OpenJDK update cycle will be extended for the same versions that are deemed LTS for Oracle JDK. As of right now, OpenJDK support cycle is as follows:

NOTE: These times are subject to change and different providers all have slightly different timeline commitments. Therefore we use the term “At Least”.

OpenJDK Updates Plan

Java SE / OpenJDK Providers

There are now a large number of Java SE / OpenJDK providers who provide either updates and/or paid support options. The following sections provide a lot of detail, if you prefer a shorter read then Stephen Colebourne’s Java SE 11 Options post gives a summary.

UPDATES vs SUPPORT
Updates refer to the code patches that have gone into OpenJDK and Oracle JDK. These have typically gone in for free, until vendors decide that there’s an End of Public Updates.
Support means a commitment to fix bugs and it requires staff to answer users’ problems, and that costs money. To be clear there has never been free support for Oracle JDK or OpenJDK.

Why Would I Choose Commercial Support?

If you need a fix in a timely manner, someone to respond to your user requests, or if you want the reassurance that the binary you use is being backed by a vendor, then Azul, IBM, Red Hat, Oracle et al. all offer choices.

A PHILOSOPHICAL POINT ON PAYING FOR OPEN SOURCE SOFTWARE

The industry at large has settled firmly on Open Source Software as the way forward. Because of its “Free as in speech” nature, OSS licenses allow folks to modify and adapt other people’s software without fear of punitive action.

Many folks also enjoy the “Free as in beer” nature of much OSS software, but this comes at a great cost to the authors! Software developers, like anyone else, need to put a roof over their heads and food on their table. Vendors like Oracle pour vast amounts of money into Java SE (think 10s of $ Millions per year at the very least) and they do need to somehow pay for that cost.

So although you’re certainly not obliged to go with a paid support option with one of the vendors, sometimes it’s worth thinking about how you, the end users, can support the Java SE ecosystem to ensure it has a long lasting future!

Provider Summary

Build yourself from Source

Build from Source [OpenJDK, no commercial support, need to self-build]:

Free Binary Distributions

Free Builds for Linux, Windows, Mac, etc. [OpenJDK, no commercial support]:

Commercially Supported Distributions

Commercially supported [all Java SE compliant]:

Azul Systems [OpenJDK base]:

IBM [OpenJDK base classes + Eclipse OpenJ9 VM]:

Oracle JDK [OpenJDK base]:

Red Hat [OpenJDK base]:

Linux Distros

The various Linux distros will continue to provide OpenJDK for their respective distributions including but not limited to Debian, Ubuntu, CentOS, Fedora, Mint, Alpine et al.

  • Linux Distros do not typically offer paid support (the exception being Red Hat for OpenJDK on RHEL).
  • Please visit your distro homepage for more information.

AdoptOpenJDK

AdoptOpenJDK provides OpenJDK binary distributions (HotSpot and Eclipse OpenJ9) for a very wide range of platforms (Linux, Mac, Windows 32/64, Arm 32/64, z/OS, Solaris, AIX, PPC, s390 and more).

Support Options

  • AdoptOpenJDK doesn’t offer paid support. It simply provides well-tested binaries (some of which are TCK’d) from OpenJDK and Eclipse OpenJ9 upstream projects.
  • IBM offers paid support for OpenJDK (with Eclipse OpenJ9 VM) binaries built at AdoptOpenJDK.

Important Links

Azul

Azul provides OpenJDK binaries (Zulu) as well as a specialised Java platform (Zing).

Support Options

Azul offers an option for all companies that do not want to skip all Java SE versions between LTS releases but cannot switch to the newest version every 6 months. Next, to the support for all LTS releases, where Azul provides 1 more year of support than Oracle, Azul offers support for so-called Medium Term Support (MTS) releases for their Zulu JDK. Here you can buy commercial support for every second Java SE version regardless of if it is LTS or not. The support duration of these versions is different. Azul tries to provide a good time range to prepare a migration to the next version and defines 3 different durations for support of Java SE versions.

Unlike Oracle, the commercial support of Zulu is not defined per CPU but based on the number of systems. A system is defined as a physical or virtual server. The only difference between standard and premium support is the availability of the support. By buying premium support you can call Azul 24x7.

Important Links

IBM

IBM provides native JDK bundles for AIX, Linux (on x86, Power, zSystems), z/OS and IBM i. IBM offers the IBM SDK for Java SE versions for use with IBM products or platforms and for developer use from developerWorks. IBM also provides OpenJDK (with Eclipse OpenJ9) binaries built and tested at AdoptOpenJDK.

Support Options

For Java SE 7 and 8, IBM still provides security updates and bug fixes. The IBM support lifecycle will continue to be updated. Based on the new Java SE release schedule IBM has announced that the non-LTS releases will be available as OpenJDK with OpenJ9 binaries from AdoptOpenJDK.

Important Links

Oracle

Oracle now produces two JDK binaries: the traditional Oracle JDK and an Oracle OpenJDK build.

Support Options

In June 2018, Oracle replaced its legacy “Java SE Advanced” perpetual license support product with a Subscription based offering that includes license and support. One of them targets Java SE on the desktop and the other one Java SE on the server, cloud, and Java SE in general. If you do not use Java SE on the desktop the Java SE Subscription will be the right support model for you. If you use Java SE on the desktop for client applications the “Java SE Desktop Subscription” product is available. If your software uses a Java SE server and Java SE based clients you can subscribe to both offerings.

Commercial support for Java SE applications on the desktop might become quite important for some companies since Oracle will drop several important desktop features from the JDK starting with Java SE version 11. If you are using Java SE on the desktop we highly recommend to read the following articles:

Important Links

Red Hat

Red Hat produces OpenJDK binaries for various platforms that Red Hat Enterprise Linux runs on.

Support Options

Red Hat won’t provide Java SE 9 and 10 releases. The next distribution that Red Hat plans to release is OpenJDK 11 for Red Hat Enterprise Linux 7. Currently, Java SE 8 is the supported release for Red Hat Enterprise Linux and the company will support it until 2023.

Important Links

Java Desktop / Java Web Start / JavaFX

There are a number of changes with Desktop Java SE starting with Oracle JDK 11 that you need to be aware of.

JavaFX / OpenJFX

Starting with Java SE 11, neither the OpenJDK builds or the Oracle JDK binaries include the JavaFX libraries. The JavaFX components will now be delivered as a separate SDK, or as artifacts that can be used via build tools (e.g. Apache Maven, Gradle et al.). As a positive consequence of this decoupling, JavaFX development can now have its own roadmap.

JavaFX is still being developed in OpenJFX, which is a project under the OpenJDK community umbrella. Oracle, other companies and individuals in the wider community are actively developing JavaFX. An automatically synced GitHub mirror is created as well, lowering the barrier for developers to contribute code and issues to JavaFX.

At the moment builds for OpenJFX are only provided by Gluon. As all the OpenJFX source code is 100% open, others can create or distribute binaries as well. At OpenJFX, a similar approach as the one in OpenJDK is followed, where after releasing JavaFX 11, the focus is on JavaFX 12 and so on. JavaFX developers and users are encouraged to use the latest released version of OpenJFX.

Gluon provides a Support Plan for companies who want Long Term Support for JavaFX 11.

Java Packager

The javapackager, which allows bundling applications and its dependencies with (a subset of) the JVM is no longer part of OpenJFX and is removed from Oracle’s JDK and Oracle OpenJDK builds starting with Java 11. A JEP has been submitted for adding a Java Packaging Tool to OpenJDK. While the new Java Packaging Tool will not be ready for the Java 11 release, Gluon is working on a tool allowing Java 11 applications to be packaged into native images.

Java WebStart

If you are using Java Web Start technology to distribute desktop clients you should take care about the current situation as fast as possible since Oracle has removed Web Start from Java.

FAQ

We recognize that the post above may not have the information explained in a manner which answers your exact question. So we have a FAQ.

OpenJDK variants vs each other and vs Oracle JDK

Q. Differences between OpenJDK vs Oracle’s OpenJDK builds vs Oracle JDK?

We’ll just talk about Java 11+ LTS releases here. Oracle JDK and Oracle OpenJDK builds are identical, but are licensed in different ways (commercial and GPLv2+CE respectively).

Oracle JDK / Oracle OpenJDK builds and OpenJDK builds from other providers will be built from the same source for the first six months of updates and should be interchangeable for that period. After six months Oracle JDK / Oracle OpenJDK builds will be built from Oracle’s own fork. Other OpenJDK providers will continue to create binaries from the OpenJDK updates project. Oracle JDK / Oracle OpenJDK and OpenJDK builds from the other providers may therefore differ in small ways. Binaries from various parties may, of course, vary over time.

Q. Differences between OpenJDK from (non-Oracle) provider A vs provider B?

We’ll just talk about LTS releases here. As has been the case with the Java SE 6 and Java SE 7 updates projects, various providers work together upstream in the OpenJDK community, which provides the common repositories, mailing lists, and other infra to share the work. This means the difference between OpenJDK-based binaries are mostly non-core features, like extended monitoring and diagnostic support. Although there may be small differences in the final binaries (perhaps a provider-specific tool etc) they will all at least have the same security and stability baseline as has been true for many years.

Oracle JDK / OpenJDK 8, 11 End of Public Updates by Oracle

With the Oracle JDK 8 and 11 End of Public Updates for Oracle happening soon, some folks are unclear on the ramifications:

Q. If I stay on Oracle JDK 8 / 11, do I have to pay to get security and bug fixes?

For Oracle JDK 8, for personal desktop use, then no. For commercial use after January 2019, then yes. For Oracle OpenJDK builds starting with Java SE 11, after the initial 6 months of updates, then yes.

Q. If I stay on OpenJDK 8 / 11, do I have to pay to get security and bug fixes?

Not necessarily. As was the case with Java SE 6 and Java SE 7, Oracle works with the OpenJDK community to transition the leadership of OpenJDK update projects to other contributors. This has worked well for over a decade. It is very likely Red Hat will continue this leadership in OpenJDK 8 and OpenJDK 11 updates with help from Oracle and other parties. This means important patches will get selectively backported. You then have the choice of taking downstream OpenJDK based binaries from a variety of providers for free, or as part of a paid support offering. In particular, there is an OpenJDK Vulnerability group which deals with 0-day exploits and CVE’s and ensures that fixes get out as quickly as possible.

Q. Will Oracle’s JDK 8 and 11 still be available for download (last public release)? For example, a company has software that only runs on Oracle’s JDK 8 and they provision a new machine after January 2019?

You can still download older versions of the Oracle JDK up to the point where the public updates stop. There is no reason to expect these archives to be removed. Moreover, Oracle JDK 8 continues to be free for personal desktop use through at least 2020.

Q. If someone is using Oracle JDK 8 to run commercial software, after January 2019 do they need to purchase a license?

No. The user can continue to use Oracle JDK 8 indefinitely without paying. The only cost is if they want to get updates beyond Jan 2019, in which case they will need to purchase an “Oracle Java SE subscription”. This follows the usual “End of Public Updates” process which has been in practice for well over a decade. Also, note that Oracle JDK 8 continues to be free for personal desktop use through at least 2020.

Q. What happens to Oracle Java Web Start after January 2019? Does it continue to run or at what point do you need to purchase a license?

Since Web Start is part of Oracle JDK 8 it will continue to work and can be used indefinitely without cost. As above if you need updates (bug fix and security patches) you will need to purchase a “Java SE subscription”. If your end users are consumers, they are covered for free until at least 2020 as Oracle JDK 8 will continue to be free for personal desktop use until at least the end of 2020. Oracle has stated that they will continue to support (i.e. provide commercial updates for) Java Web Start at least until March 2025.

There is also IcedTea-Web as an alternative and Karakun is working on an OSS replacement for Web Start.

Appendix I — Signatories, Thanks and References

Special thanks go to the following folks who paved a road with their earlier blog posts. Many of the links and material in this document were cribbed and collated (with permission) from these sources.

Java Champions — A Community Body of Java Experts

  1. Simon Ritter (Deputy CTO — Azul) — Eliminating Java Update Confusion
  2. Stephen Colebourne (Joda-Time author) — Java is still available at Zero Cost and Java 11 Options.
  3. Hendrik Ebbers (Co-founder Karakun) — Do I need to pay for Java now?
  4. Johan Vos (Co-founder Gluon) — JavaFX Release and Support Plans
  5. Martijn Verburg — Lead Author / Facilitator of this document
  6. Many others!

Oracle via Donald Smith (Senior Director of Product Management)

  1. Faster and Easier User and Redistribution of Java SE
  2. Extension of Oracle Java SE 8 Public Updates and Java Web Start support
  3. The future of JavaFX and other Java Client Roadmap Updates
  4. Update and FAQ on the Java SE Release Cadence
  5. A Quick Summary on the new Oracle Java SE Subscription
  6. Oracle JDK Releases for Java 11 and later

Other notable folks

  1. Jonas Konrad — Java Support

The following Java ecosystem folks back this document as a fair and balanced record of the state of Java SE / OpenJDK and plans for free updates and/or paid support.

Person / Credentials

Martijn Verburg

AdoptOpenJDK co-lead, Java Champion, London JUG Leader, Member of JCP Executive Committee, Jakarta EE Steering Committee Member, CEO @ jClarity

Hendrik Ebbers

Java Champion, JUG Dortmund Leader, JSR EG member, Co-founder of Karakun

Ivar Grimstad

Java Champion, Malmö JUG Leader, JCP Executive Committee Member, EE4J PMC Lead, Jakarta EE WG Member

Markus Eisele

Java Champion

Heinz Kabutz

Java Champion, The Java Specialists’ Newsletter, JCrete Founder

Ivan St. Ivanov

Java Champion, Bulgarian JUG Leader, jPrime Conference Organizer, Virtual JUG Leader, VIDA Software co-founder and senior programmer

Stephen Colebourne

Java Champion, Creator Joda and ThreeTen projects

Trisha Gee

Java Champion, Sevilla Java User Group Leader, JCP Executive Committee Member, Java Developer Advocate for JetBrains

Josh Long

Java Champion, Spring Developer Advocate for Pivotal, best-selling book author and prolific speaker worldwide

Gail Anderson

Java Champion, Oracle Developer Champion, co-founder Anderson Software Group, Inc.

Justin Lee

Java Champion, JSR EG Member

Andres Almiray

Java Champion, JCP EC Member, Oracle Developer Champion, Hackergarten worldwide

Enrique Zamudio

Java Champion, JVMMX (Mexico City JUG), author of j8583, jAlarms, Ceylon to Javascript compiler

Alan Williamson

Java Champion, author, podcaster, CTO of MacLaurin Group

Maurice Naftalin

Java Champion, Oracle Developer Champion, author

Mark Heckler

Java Champion, Spring Developer Advocate for Pivotal, conference speaker, & published author

Kirk Pepperdine

Java Champion, jCrete cofounder, Performance tuning advocate, co-founder jClarity

Matt Raible

Java Champion, Web Developer, and Developer Advocate at Okta. Classic VWs Enthusiast.

Henri Tremblay

Java Champion, Montréal JUG & Devoxx4kids Québec leader, EasyMock and Objenesis lead developer, conference speaker

Cay Horstmann

Java Champion, author of “Core Java”

David Heffelfinger

Java Champion, Apache NetBeans Committer, Technical Author, Jakarta EE Consultant and Instructor.

Josh Juneau

Java Champion, Apache NetBeans Committer, Jakarta EE Mojarra Committer, Technical Author, Podcaster

Jonathan Giles

Java Champion, Dukes Choice Award winner, Microsoft Cloud Developer Advocate, Co-founder Gluon

Ben Evans

Java Champion, former JCP EC Member, co-founder jClarity, author of “Java in a Nutshell” & “Optimizing Java”

Johan Vos

Java Champion, Oracle Developer Champion, Gluon co-founder

Thor Henning hetland

Java Champion, Principal at Capra Consulting. Community leader Cantara, javaBin, JavaZone, Oslo Software Architecture and more..

Simone Bordet

Java Champion, JUG Torino co-leader, Jetty team member

Holly Cummins

Java Champion, Author of Enterprise OSGi in Action

Daniel Bryant

Java Champion, co-author of Continuous Delivery in Java, and leader within the LJC

Mohamed Taman

Java Champion, Oracle Developer Champions, JCP member, EGJUG leader, Sr. Enterprise Architect / Sr. Software Engineer @WebCentric Belgrade, Serbia. International speaker, Books Author of “JavaFX essentials”, “Getting started with clean code, Java SE 9”, and “Hands-On Java 10 Programming with JShell”. Won Duke’s choice 2015, 2014 awards, & JCP outstanding adopt-a-jar participant 2013 awards

Simon Maple

Java Champion, Oracle Developer Champion, Virtual JUG leader, Director of Developer Relations, Snyk.

Oliver Gierke

Java Champion, Spring Data Project Lead at Pivotal Software, Inc.

Jean-Michel Doudoux

Java Champion, author of “Développons en Java”

Michael Kölling

Java Champion, Creator of BlueJ and Greenfoot, author of ‘Objects First with Java’.

Mert Çalışkan

Java Champion, Director of OpsGenie Academy, Published Author, Speaker

Leonardo M R Lima

Java Champion, JSR Spec Lead

Cesar Hernandez

Java Champion, Senior Software Engineer at Tomitribe, Eclipse Foundation Committer, Guatemala Java User Group member, Speaker and board member of Latin America Virtual JUG JEspañol.

Rustam Mehmandarov

Java Champion, Chief Engineer, Leader of JavaZone, board member and former leader of javaBin — Norwegian Java User Group.

Paul Bakker

Java Champion, Senior Software Engineer at Netflix

Geir Magnusson Jr

Java Champion, Member Apache Software Foundation, CTO at fuboTV

Jorge Vargas

Java Champion, JUG Leader JavaUP — Mexico — Speaker and member of JUG JEspañol.

Bruno Souza

Java Champion, JUG Leader of SouJava

Ian F. Darwin

Java Champion, Developer, Author, Trainer