64% of developers report that Java 8 remains the most often used release

February 5, 2020 | in Ecosystems, Open Source
| By Brian Vermeer

Welcome to our annual JVM ecosystem report! This report presents the results of the largest annual survey on the JVM ecosystem, showing results from the survey gathering over 2000 responses in the second half of 2019. We would like to thank everyone who participated and offered their insights on Java and JVM-related topics.

This report is split into six posts:

  1. JVM ecosystem report 2020 – Introduction
  2. 36% of developers switched from Oracle JDK to an alternate OpenJDK distribution, over the last year
  3. 64% of developers report that Java 8 remains the most often used release
  4. Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM
  5. Spring dominates the Java ecosystem with 60% using it for their main applications
  6. IntelliJ IDEA dominates the IDE market with 62% adoption among JVM developers

We also have a lovely handcrafted pdf report which contains all of this information in one downloadable place.

DOWNLOAD THE JVM ECOSYSTEM 2020 REPORT!

Which Java SE version do you use in production for your main application?

The introduction to Java 9 brought significant structural changes to the JDK. Last year, we saw evidence that these changes were possibly holding people back from moving beyond Java 8. This year, the numbers are a little different. The number of people working with Java 8 in production is still very high; however, with the first Long Term Support (LTS) version of Java, Java 11, released in September 2018, the landscape is slowly changing. A quarter of the developers who participated in this survey, are now running Java 11 in production.

What are the reasons why you have not moved to a more recent version?

Although the new release cadence was introduced over 2 years ago we still do not see significant adoption. Many people are not able or willing to migrate every 6 months in order to stay up to date. 51% of respondents say that their current setup is working fine, so change is not needed. As the cost of migration seems to be too high, a lot of companies are reluctant to adopt changes so rapidly.

The biggest question is, are developers and companies to blame for staying put on an older version? In fact, migrating every six months, doesn’t necessarily give you any real return on investment. Nonetheless, it is possible that we have to wait a bit longer to see the effects of users migrating to more recent versions.

Some of the reasons participants explained in the ‘other’ category include, application servers or libraries not supporting the latest versions of the JDK fast enough.

What is your approach to adopting new JDK releases in production?

The plan for most people (55%) is to stick with long term releases. That is hardly surprising as these versions are released every 3 years, similar to the cadence people are already familiar with in the JDK ecosystem. Still, 22% of the respondents report that they plan to decide whether or not to upgrade on a release-by-release basis to see if the newly introduced features are important enough to justify migrating.

Comparing the numbers from 2018 to this year’s numbers, it is interesting to see the shift in the approach of JDK adoption. In 2018 the number of indecisive developers was higher, as was the number of people who stated they would decide to upgrade on a release-by-release basis.

How well do you understand the new 6-month release model and the updated support statements made about each release?

With the new 6-month Java release model, features become fully or partially available to developers
at a faster pace, between LTS releases. This means that the official support for a non-LTS release lasts only until the next version becomes available, that is every six months. Every three years or so — similarly to the old cadance — a version is marked as LTS and there are support options available for an extended period of time, until the next LTS version arrives.

It’s also important to note that, according to the maintainers of Java, the non-LTS versions are not alpha or beta versions — they are fully supported, production-ready versions of Java.

When we asked the community how well they understand this new release model, the responses were rather positive. Looking at the overall results, it’s safe to say that the majority of Java users have a very good understanding of the new release cadence with more than half of them rating themselves with a score of 7 out of 10 or higher.

How quickly do you apply critical JDK security updates?

In order to keep a system healthy, applying critical JDK security updates is essential. However, 17%
of respondents claim that they do not apply any security patches. Scary, isn’t it? Nonetheless, it is a relief to see that the vast majority of developers (61%) do take security seriously and apply security updates within a month of release.

We also want to give a big shout-out to the 15% of the respondents who apply security updates almost immediately after release. Awesome job!

There’s more to this report! Which section do you want to read next? 

  1. JVM ecosystem report 2020 – Introduction
  2. 36% of developers switched from Oracle JDK to an alternate OpenJDK distribution, over the last year
  3. 64% of developers report that Java 8 remains the most often used release
  4. Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM
  5. Spring dominates the Java ecosystem with 60% using it for their main applications
  6. IntelliJ IDEA dominates the IDE market with 62% adoption among JVM developers
 

DOWNLOAD THE JVM ECOSYSTEM 2020 REPORT!