Actually as Trino solves a federation problem, we pull in a lot of dependencies (over 800) and we spent a significant amount of time patching and fixing upstream dependencies like Hadoop, Hive, Parquet etc to migrate to JDK 17 when it was released, and lately to 21. Migration from 11 to 17 was painful due to "strong encapsulation by default". From 17 to 21 was pretty painless - just a bunch of libraries that needed ASM upgrade and some deprecated encryption schemes. To my surprise, different OSS communities are now much more aware of the new JDK versions so testing and fixing happens in advance.
On the "big companies stays legacy" topic, we sell the enterprise edition of Trino (called Starburst Enterprise) which is on-premise, COTS software to the largest (and probably oldest) companies in the world (from a variety of sectors). When we plan to transition to a new JDK we inform our customers several months in advance that this will happen. With JDK 17 we saw some pushback and we delayed the transition for a couple of months, but with JDK 21 the situation was totally different - we announced that this would happen in advance too but this time the feedback was "oh, we've already allowed JDK 21 usage in our infrastructure, go ahead". Which was both surprising and encouraging. Times are changing. On Thu, Feb 22, 2024 at 11:22 AM Romain Manni-Bucau <rmannibu...@gmail.com> wrote: > @Tamás Cservenák <ta...@cservenak.net> if you read carefully I never wrote > "all Java 21 projects are toy projects" ;). Eclipse is also not a topic, it > comes as a distro. Quarkus is still 17+21, trinodb is not something > primarly embedding code, it is more a standalone so more counter examples > from my understanding of what Maven stands for. > And yes, a lot of java 21 code will be thrown away today, I never said 50% > (even less 100% as you meant) but likely > 25%, sure. Same happent for java > 8, 11, 17 so not sure why 21 would be different. > Does not say 21 is not adopted - I literally wrote the opposite, just meant > we should always interpret figures for what they are and identify their > bias instead of biasing them more. > > Please note that --release does NOT solve anything, think to maven as an > ecosystem - plugins - and we still want to run with the contextual java > version I guess - if this hypothesis is wrong please close this thread and > start a new about this minimalistic feature, if we want to drop that we go > in the distro erea, drop plugins support but decision is not taken on the > same points at all - we woud likely dont care of the java version we would > go that path. > > Romain Manni-Bucau > @rmannibucau <https://twitter.com/rmannibucau> | Blog > <https://rmannibucau.metawerx.net/> | Old Blog > <http://rmannibucau.wordpress.com> | Github < > https://github.com/rmannibucau> | > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > < > https://www.packtpub.com/application-development/java-ee-8-high-performance > > > > > Le jeu. 22 févr. 2024 à 11:06, Tamás Cservenák <ta...@cservenak.net> a > écrit : > > > And one more remark regarding "toy projects": > > You seriously mean that these numbers could be skewed by "toy projects"? > > IMHO toy projects, while most probably represented here, are "lost, like > > tears in the rain". > > > > T > > > > On Thu, Feb 22, 2024 at 10:39 AM Tamás Cservenák <ta...@cservenak.net> > > wrote: > > > > > >> lot of java 21 tody is still PoC or toy projects > > > > > > Quarkus, TrinoDB or Eclipse are not toy projects. So they fact there > ARE > > > "toy projects", you should not derive that "all Java 21 projects are > toy > > > projects". > > > > > > T > > > > > > On Thu, Feb 22, 2024 at 10:32 AM Romain Manni-Bucau < > > rmannibu...@gmail.com> > > > wrote: > > > > > >> [joke]this last diagram looks like you are looking for piece[/] > > >> > > >> I'm not sure the weight can be linear like that, it is not because you > > are > > >> old that you will die - lot of java 21 tody is still PoC or toy > projects > > >> so > > >> should be in the weight somehow if we go this way. > > >> > > >> Ultimately your user agent idea was really better than java stat alone > > >> since it is really a cross matrix/time unit we should check. > > >> > > >> Sadly all these stats miss, for my understanding, the dynamic behind > > (like > > >> seeing a random point in a exponential vs linear graph, alone you > don't > > >> know where you are going to). > > >> > > >> From memory, trying to use the last years figures it seems the dynamic > > is > > >> to follow the LTS with some lateness, ie current is 21 but people are > > >> around 11-17. Like a sliding window. > > >> Indeed the public polls I use - the ones you get on twitter from > > intellij > > >> or friends - for that conclusion are biased cause they hit more > "geeks" > > >> than standard work people but I don't have anything better right now > in > > >> terms of time serie. > > >> Anyone has more comparative data about that? > > >> > > >> My proposal/thought was really to align on that dynamic - from the > > latest > > >> to a limit to cover ~>=65% of people - more than fixing some version > in > > >> stone. > > >> > > >> Romain Manni-Bucau > > >> @rmannibucau <https://twitter.com/rmannibucau> | Blog > > >> <https://rmannibucau.metawerx.net/> | Old Blog > > >> <http://rmannibucau.wordpress.com> | Github < > > >> https://github.com/rmannibucau> | > > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > > >> < > > >> > > > https://www.packtpub.com/application-development/java-ee-8-high-performance > > >> > > > >> > > >> > > >> Le jeu. 22 févr. 2024 à 10:17, Tamás Cservenák <ta...@cservenak.net> > a > > >> écrit : > > >> > > >> > For start I "normalized" the Java strings to a form like "Java 8" or > > >> "Java > > >> > 17". This resulted in pretty much similar results as Romain PDF > (Azul > > >> > report). > > >> > > > >> > But then realized, we should consider this: Not every LTS existed at > > the > > >> > same time span (and we discuss the future here, not the past). Here > is > > >> some > > >> > history I collected: > > >> > > > >> > - Java 8: Covers strings like "Java 1.8.0-25" (2014) to "Java > > 1.8.0-401" > > >> > (2024), that is 10 year span. > > >> > - Java 11: Covers strings like "Java 11-ea" (2018) to "Java 11.0.22" > > >> > (2024), that is a 6 year span. > > >> > - Java 17: Covers strings like "Java 17-ea" (2021) to "Java 17.0.10" > > >> > (2024), that is a 3 year span. > > >> > - Java 21: Covers strings like "Java 21-ea" (2023) to "Java 21.0.2" > > >> (2024), > > >> > that is 1 year span. > > >> > > > >> > So, "normalized" and "weighted" (by lifespan) results are these: > > >> > https://gist.github.com/cstamas/d2e5560f24ebe6a667834aa1f44d6fc1 > > >> > > > >> > Weighted pie immediately shows which Java versions are "dead" (are > > >> present, > > >> > but are "sliding out") and which ones are "alive and kicking" (and > > >> adoption > > >> > is quite high). > > >> > > > >> > --- > > >> > > > >> > Refs: > > >> > - https://www.java.com/releases/ > > >> > - https://openjdk.org/projects/jdk/11/ > > >> > - https://openjdk.org/projects/jdk/17/ > > >> > - https://openjdk.org/projects/jdk/21/ > > >> > > > >> > On Thu, Feb 22, 2024 at 8:50 AM Tamás Cservenák < > ta...@cservenak.net> > > >> > wrote: > > >> > > > >> > > Howdy, > > >> > > > > >> > > Maven UA is created like this: > > >> > > > > >> > > > > >> > > > >> > > > https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java#L555 > > >> > > > > >> > > I was hoping also for a list of "Apache Maven ..." lines with > > >> occurrence > > >> > > count. > > >> > > > > >> > > Now am unsure, for example if any other tool would use "Java X" > > >> string in > > >> > > its own UA, is that collected here? > > >> > > > > >> > > But let's cook with what we have :) > > >> > > > > >> > > T > > >> > > > > >> > > > > >> > > On Thu, Feb 22, 2024, 08:03 Mateusz Gajewski < > > >> > > mateusz.gajew...@starburstdata.com> wrote: > > >> > > > > >> > >> Do you have maven version and java version at the same time > > report? I > > >> > >> wonder if old maven is used with old JDK :) > > >> > >> > > >> > >> On Wed, Feb 21, 2024 at 23:23 Brian Fox <bri...@infinity.nu> > > wrote: > > >> > >> > > >> > >> > Hi everyone. I haven't caught up on this thread but Tamas > pinged > > >> me to > > >> > >> get > > >> > >> > some usage data from Central. Attached are the Maven versions > and > > >> JDK > > >> > >> > Version counts as reported by User Agent by distinct IP for the > > >> last > > >> > 30 > > >> > >> > days: > > >> > >> > > > >> > >> > > > >> > >> > > > >> > >> > > > >> > >> > > > >> > >> > On Wed, Feb 21, 2024 at 4:15 PM Hunter C Payne > > >> > >> > <hunterpayne2...@yahoo.com.invalid> wrote: > > >> > >> > > > >> > >> >> I also want to stress that we care about what maven supports > > far > > >> > more > > >> > >> >> than what it requires to build. If it needs JDK 17 to build > but > > >> the > > >> > >> jars > > >> > >> >> are compliant with Java 8, that's fine with me. > > >> > >> >> > > >> > >> >> Hunter > > >> > >> >> > > >> > >> >> On Wednesday, February 21, 2024 at 12:47:33 PM PST, Romain > > >> > >> >> Manni-Bucau <rmannibu...@gmail.com> wrote: > > >> > >> >> > > >> > >> >> Hmm, not sure im ready for a 200M vanilla build tool even if > it > > >> > would > > >> > >> >> have > > >> > >> >> been ok legally... > > >> > >> >> > > >> > >> >> Le mer. 21 févr. 2024 à 21:41, Hunter C Payne > > >> > >> >> <hunterpayne2...@yahoo.com.invalid> a écrit : > > >> > >> >> > > >> > >> >> > I might be wrong but I understood that shipping the JRE/JVM > > >> > >> required a > > >> > >> >> > license and this is why most people don't ship with a JVM > > >> bundled. > > >> > >> But > > >> > >> >> > perhaps that has changed since the Oracle v Google/Alphabet > > >> trial. > > >> > >> >> > Hunter > > >> > >> >> > > > >> > >> >> > On Wednesday, February 21, 2024 at 12:00:54 PM PST, > > Benjamin > > >> > >> Marwell > > >> > >> >> < > > >> > >> >> > bmarw...@apache.org> wrote: > > >> > >> >> > > > >> > >> >> > FWIW, bazel changed its runtime requirement to Java 21. > > >> > >> >> > But they are shipping their own Java Runtime, so their users > > >> won't > > >> > >> >> notice. > > >> > >> >> > [1] > > >> > >> >> > > > >> > >> >> > I think they are the first build tool to do that. > > >> > >> >> > > > >> > >> >> > I say this as a FYI fact only, not implying anything. > > >> > >> >> > Make of it what you want. > > >> > >> >> > > > >> > >> >> > - Ben > > >> > >> >> > > > >> > >> >> > Am Di., 20. Feb. 2024 um 21:50 Uhr schrieb Tamás Cservenák > > >> > >> >> > <ta...@cservenak.net>: > > >> > >> >> > > > > >> > >> >> > > Howdy, > > >> > >> >> > > > > >> > >> >> > > I intentionally used "Maven" here, and not "Maven 4" as I > am > > >> sure > > >> > >> the > > >> > >> >> > > majority of Maven users do not run Maven on the same Java > > >> version > > >> > >> they > > >> > >> >> > > target with their build. We do not do that either. > > >> > >> >> > > > > >> > >> >> > > Some snippets from Herve (who is the ONLY one doing > > >> reproducible > > >> > >> >> checks, > > >> > >> >> > > kudos for that) votes: > > >> > >> >> > > > > >> > >> >> > > Sun, Feb 18, 2024, 9:38 AM > > >> > >> >> > > [VOTE] Release Apache Maven Shade Plugin version 3.5.2 > > >> > >> >> > > Reproducible Build ok: reference build done with JDK 11 on > > >> *nix > > >> > >> >> > > > > >> > >> >> > > Wed, Jan 31, 2024, 5:06 AM > > >> > >> >> > > [VOTE] Release Apache Maven JLink Plugin version 3.2.0 > > >> > >> >> > > Reproducible Builds ok: reference build done on *nix with > > JDK > > >> 21 > > >> > >> and > > >> > >> >> > umask > > >> > >> >> > > 022 > > >> > >> >> > > > > >> > >> >> > > Mon, Jan 8, 2024, 8:29 AM > > >> > >> >> > > [VOTE] Release Maven Plugin Tools version 3.11.0 > > >> > >> >> > > Reproducible Builds ok: reference build done with JDK 8 on > > >> > Windows > > >> > >> >> with > > >> > >> >> > > umask > > >> > >> >> > > > > >> > >> >> > > Mon, Dec 18, 2023, 8:59 AM > > >> > >> >> > > [VOTE] Release Apache Maven Compiler Plugin version 3.12.0 > > >> > >> >> > > Reproducible Builds ok: reference build done on *nix with > > JDK > > >> 21 > > >> > >> and > > >> > >> >> > umask > > >> > >> >> > > 022 > > >> > >> >> > > > > >> > >> >> > > Mon, Dec 18, 2023, 8:59 AM > > >> > >> >> > > [VOTE] Release Apache Maven Compiler Plugin version 3.12.0 > > >> > >> >> > > Reproducible Builds ok: reference build done on *nix with > > JDK > > >> 21 > > >> > >> and > > >> > >> >> > umask > > >> > >> >> > > 022 > > >> > >> >> > > > > >> > >> >> > > Wed, Nov 29, 2023, 8:16 AM > > >> > >> >> > > [VOTE] Apache Maven Build Cache Extension 1.1.0 > > >> > >> >> > > Reproducible Build ok: reference build done on *nix with > JDK > > >> 11 > > >> > >> >> > > > > >> > >> >> > > Sun, Nov 19, 2023, 5:17 PM > > >> > >> >> > > [VOTE] Release Maven Resolver 1.9.17 > > >> > >> >> > > Reproducible Build ok: reference build done with JDK 21 on > > >> *nix > > >> > >> with > > >> > >> >> > umask > > >> > >> >> > > 022 > > >> > >> >> > > > > >> > >> >> > > Sat, Oct 21, 2023, 4:34 PM > > >> > >> >> > > VOTE] Apache Maven 4.0.0-alpha-8 release > > >> > >> >> > > Reproducible Build ok: reference build done with JDK 21 on > > >> *nix > > >> > >> with > > >> > >> >> > umask > > >> > >> >> > > 022 > > >> > >> >> > > > > >> > >> >> > > Mon, Oct 2, 2023, 9:11 AM > > >> > >> >> > > [VOTE] Release Apache Maven 3.9.5 > > >> > >> >> > > Reproducible not fully ok: reference build done with JDK > 17 > > on > > >> > *nix > > >> > >> >> and > > >> > >> >> > > umask 022 > > >> > >> >> > > > > >> > >> >> > > ==== > > >> > >> >> > > > > >> > >> >> > > This CLEARLY shows the tendency: > > >> > >> >> > > - Michael does releases on Java 8 (on windows!), he is a > > known > > >> > >> >> "aligner" > > >> > >> >> > > and windows person :) > > >> > >> >> > > - Olivier used the "minimum" required Java version (for > > build > > >> > >> cache). > > >> > >> >> > > - Unsure why Herve used Java 11 for the Shade plugin... I > > >> mean, > > >> > he > > >> > >> >> could > > >> > >> >> > > use 21 but also 8, but he shot for 11 that was EOL at the > > >> moment > > >> > of > > >> > >> >> > release. > > >> > >> >> > > - The rest is 21. > > >> > >> >> > > > > >> > >> >> > > ==== > > >> > >> >> > > > > >> > >> >> > > So, the question for those refusing anything other than > Java > > >> 8 to > > >> > >> >> _run_ > > >> > >> >> > > Maven (or to revert: for those refusing to run Maven on > > >> "latest > > >> > >> LTS", > > >> > >> >> > that > > >> > >> >> > > is currently 21): > > >> > >> >> > > WHY? > > >> > >> >> > > > > >> > >> >> > > > > >> > >> >> > > Thanks > > >> > >> >> > > T > > >> > >> >> > > > >> > >> >> > > > >> > > --------------------------------------------------------------------- > > >> > >> >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > >> > >> >> > For additional commands, e-mail: dev-h...@maven.apache.org > > >> > >> >> > > > >> > >> >> > > > >> > >> >> > > >> > >> > > > >> > >> > > > >> > >> > > > >> --------------------------------------------------------------------- > > >> > >> > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > > >> > >> > For additional commands, e-mail: dev-h...@maven.apache.org > > >> > >> > > >> > > > > >> > > > >> > > > > > >