Hi All.

> * raise the Java requirements in 3.x to Java 17.
+1 fine w/ me. FWIW, my day job is migrating from Java 11 to 17 ATM.

> * deprecate some modules in 2.x and drop them in 3.0.x, restore them if a 
> user requests it in 3.1.x.
This feels arbitrary. First, we say 100k downloads, but then we say:
- "a big company with an internal Maven repo counts 1"
  Count my day job in this category and our _large_ repo with _many_
products and _many_ maintained versions.
- except "+ some modules under the line that are deemed important" by
what criteria? What's the point of setting an arbitrary "bar" if we
are going to make _further_ arbitrary exceptions?
It's just simpler to have no bar since all decisions will be
arbitrary; for example not having mongodb4 will be a problem for me
looking ahead and probably for the user who just reported an issue in
that code.
Each module should be evaluated and kept if anyone says "-1, please keep it".

Gary

On Sat, Sep 9, 2023 at 3:15 AM Piotr P. Karwasz <piotr.karw...@gmail.com> wrote:
>
> Hi all,
>
> In a Slack discussion Volkan proposed (among other things) to:
>
>  * raise the Java requirements in 3.x to Java 17. It is the same
> requirement as Spring Boot 3.x has, so I don't see a reason to lower
> the bar. Besides Java 21 will be an LTS.
>  * deprecate some modules in 2.x and drop them in 3.0.x, restore them
> if a user requests it in 3.1.x.
>
> While the number of downloads is not the only criterium (a big company
> with an internal Maven repo counts 1, a student's project that tries
> multiple version counts more), these are the stats for last month:
>
>  1  log4j-bom                         35178445
>  2  log4j-api                         30598923
>  3  log4j-core                        15567816
>  4  log4j-to-slf4j                    14036879
>  5  log4j-slf4j-impl                   8675173
>  6  log4j-1.2-api                      3454601
>  7  log4j-jul                          2120049
>  8  log4j-web                          1964937
>  9  log4j-layout-template-json         1760437
> 10  log4j-slf4j2-impl                  1013605
> 11  log4j-jcl                           566636
> 12  log4j-appserver                     245029
> 13  log4j-iostreams                     209990
> 14  log4j-spring-boot                    87578
> 15  log4j-spring-cloud-config-client     38332
> 16  log4j-jakarta-web                    37351
> 17  log4j-jpl                            20295
> 18  log4j-flume-ng                       14055
> 19  log4j-taglib                         13989
> 20  log4j-couchdb                        12781
> 21  log4j-mongodb4                        4623
> 22  log4j-kubernetes                      2618
> 23  log4j-jpa                             1252
> 24  log4j-mongodb3                        1143
> 25  log4j-docker                          1122
> 26  log4j-cassandra                        898
> 27  log4j-jakarta-smtp                     741
> 28  log4j-jdbc-dbcp2                       708
> 29  log4j-to-jul                           297
>
> I propose to have a bar at 100k, so we keep everything up to
> `log4j-iostreams` + some modules under the line that are deemed
> important.
>
> I would keep `log4j-to-jul`, mainly because it is a third
> implementation of the Log4j API and I used it at work, when I didn't
> get the permission to use Log4j Core. NB: the `2.x` version of
> `log4j-to-jul` will still work with the `3.x` version of `log4j-api`,
> but it might require a modularized version to be fully compatible.
>
> The stats of `log4j-appserver` are unexpected. I guess the Jetty 9.x
> support drives it (Jetty 9.x reached EOL) more than the Tomcat
> support. So we could even deprecate this one and create a
> `log4j-tomcat` module or drop it entirely (I will pick up the Tomcat
> part in my `eu.copernik` modules).
>
> Piotr
>
> PS: The downloads of the 3.x modules split from `log4j-core` are not
> that great either. In the third column I renormalize them so that
> `log4j-core` has 15M downloads:
>     log4j-core                 78627  15567816
>  1  log4j-jdbc                    55     10890
>  2  log4j-layout-jackson          55     10890
>  3  log4j-jndi                    44      8712
>  4  log4j-script                  44      8712
>  5  log4j-kafka                   40      7920
>  6  log4j-jms                     39      7722
>  7  log4j-csv                     38      7524
>  8  log4j-jeromq                  37      7326
>  9  log4j-smtp                    37      7326
> 10  log4j-layout-jackson-json     33      6534
> 11  log4j-layout-jackson-xml      30      5940
> 12  log4j-layout-jackson-yaml     24      4752

Reply via email to