OpenJDK for Bookworm and beyond
Hi all,
OpenJDK 11 has been the default JDK in the last two releases, and a more
recent version for Bookworm is highly expected. The current LTS version
is OpenJDK 17, released in September 2021 one month after Bullseye. The
next LTS version will be OpenJDK 21 (the LTS cadence has been shortened
from 3 to 2 years) to be released in September 2023, again shortly after
the Debian release which can be expected in July or August 2023 if the
rhythm of the previous releases is kept. This scenario is likely to
continue in the future since the Debian and Java releases are now
synchronized on the same 2 years cycle.
The first point is to plan when we'll switch the default JDK to OpenJDK
17. The transition has progressed well, with 113 bugs fixed already, but
there are still 36 bugs left to fix [1] (this is a much smoother
transition than the jump from OpenJDK 8 to 11 where we had to deal with
over 500 bugs). There are no critical issues, the build tools and the
main packages all work fine. So I suggest that we switch without waiting
for the remaining bugs to be fixed. I propose to switch on October 31th
for Halloween, such that the switch will unleash compatibility
nightmares and runtime horrors haunting those who have ignored the bug
reports for months ;) That'll leave sufficient time to address the
remaining issues before the release.
Another point is how to deal with the next LTS, OpenJDK 21. For Bullseye
the Security Team agreed to ship OpenJDK 17 as a "technology preview" in
addition to OpenJDK 11, with no promise it would be as well supported as
OpenJDK 11. In practice, thanks to Matthias and Moritz prompt uploads,
the OpenJDK 17 updates landed in stable-security on average 8 days after
the GA release, which is as good as the OpenJDK 11 updates. Popcon
reports 4524 installs of OpenJDK 17 with a steady growth, and 51690
installs of OpenJDK 11. Assuming OpenJDK 17 users also have OpenJDK 11
installed that's about 8% of the Java users interested in the latest LTS
JDK. This is a significant share of users and it shows the extra effort
involved in maintaining an additional JDK is worth it.
If the Security Team agrees I think we should continue with this
strategy in Bookworm and ship OpenJDK 21 in addition to OpenJDK 17. The
first OpenJDK 21 EA release will be available in December well before
the freeze in March, so that fits with the Bookworm release timeline.
Last point, we still have OpenJDK 8 in unstable to help with the
bootstrapping of some packages that can't build directly with the latest
JDK (more specifically, Kotlin and Scala). Similarly I think we should
preserve OpenJDK 11 in unstable after the transition to OpenJDK 17.
Emmanuel Bourg
[1]
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=default-java17;users=debian-java@lists.debian.org
Reply to: