On 24.02.24 23:42, Jorge Solórzano wrote:
Hi Maven Developers,

A lot has been told already from both sides, but please, please, let's
focus on how to improve the current status and define how and what Java
version will be required for Maven, not on trivial discussions about using
var or virtual threads.

Most developers would love to use the latest and greatest JDK, while
Enterprises want stability for deployments, here, we need to change the
mindset as the OpenJDK release cadence is not going to slow down.

Yes true, but I don't want to make their problems to our problems.

If they are stuck to JDK 8 they can use Maven 3.9.X problem solved.


The Java ecosystem is moving forward and Maven should not get stuck with a
10 years old JDK version.

Yes I agree here.


This proposal suggests the introduction of a *Long-Term Support (LTS)*
version of *Maven 3.10.x *targeting *Java 8* and *Maven 4.0* targeting*
Java 17.*

As Tamas already asked why 3.10.. 3.9.6 is already JDK 8..



*Advantages of Maven 3.10.x (Targeting Java 8):*

    1.

    *Stability and Compatibility:* Maven 3.10.x will provide stability and
    compatibility for projects still reliant on Java 8. Many enterprises and
    legacy projects continue to utilize Java 8 due to its stability and
    extensive support. By maintaining a Maven version specifically for Java 8,
    these projects can benefit from ongoing support without being forced to
    migrate to newer Java versions prematurely.

newer JDK version are not stable? and as I mentioned before I don't want
to make their problem to our problem...If they are stuck with JDK 8 use
Maven 3.X done.



    2.

    *Extended Support Period:* As an LTS version, Maven 3.10.x will receive
    extended support and bug fixes, ensuring reliability for projects in
    production environments. This extended support period is crucial for
    enterprises with long-term projects that require stability and minimal
    disruption.

An LTS version of Maven? Who should support that ? In which way ? such
thing will have a big impact on the project meaning someone (or maybe
more than one person) has to do work on that to support old state... If
an enterprise wants to have that support they should start to pay for
that support... enterprise level support without paying... I would say
no to that...


    3.

    *Security Patches:* Security vulnerabilities are a significant concern
    for software projects. With an LTS version like Maven 3.10.x, users can
    expect timely security patches to address any potential vulnerabilities,
    thus enhancing the overall security posture of their projects.

Same as before...

In particular this: "expect timely security patches to " who can
guarantee that? We are an open source project... you can not force
anyone in the project to work on particular issue at a particular time..



    4.

    *Maintaining Legacy Codebases:* Many organizations have substantial
    investments in legacy codebases built on Java 8. Maven 3.10.x enables these
    organizations to continue maintaining and evolving their existing projects
    without the need for an immediate migration to newer Java versions,
    reducing migration overheads and risks.

They can stuck at Maven 3.9.X with JDK 8 ... so no problem at all.



*Advantages of Maven 4.0 (Targeting Java 17):*

My suggesting here is JDK21... because JDK 17 is also older version...
and Maven 4 GA is not yet there which is fine.. so we are talking about
the future...


    1.

    *Compatibility with Latest Java Features:* Maven 4.0 targeting Java 17
    will empower developers to leverage the latest features and enhancements
    introduced in newer Java versions. This compatibility fosters innovation
    and enables developers to build modern, high-performance applications.
    2.

    *Performance Improvements:* Newer Java versions often come with
    performance optimizations and improvements. By targeting Java 17, Maven 4.0
    can take advantage of these enhancements, resulting in faster builds and
    improved developer productivity.

JDK 21 even more ...virtual threads for example could be an interesting
thing for many things in Maven itself but that is a different story.


    3.

    *Support for Modern Development Practices:* Maven 4.0 can incorporate
    support for modern development practices, tools, and frameworks that are
    aligned with Java 17 and beyond. This includes improved support for
    modularization, enhanced APIs, and better integration with contemporary
    development ecosystems.

what are modern dev practices related to a JDK version?

    4.

    *Community Engagement and Contribution:* Introducing Maven 4.0 targeting
    Java 17 will attract developers interested in exploring the latest
    technologies and contributing to the Maven ecosystem. This increased
    community engagement can lead to faster innovation, broader platform
    support, and overall ecosystem growth.

JDK 21 will attract even more... latest technology? JDK 17 is not the
latest...


*Conclusion:* In conclusion, the proposal is to introduce LTS versions of
Maven, namely Maven 3.10.x targeting Java 8 and Maven 4.0 targeting Java
17, presents a balanced approach to cater to the diverse needs of the Java
development community. By providing stability, compatibility, and extended
support for legacy projects with Maven 3.10.x, and enabling compatibility
with the latest Java features and development practices with Maven 4.0,
this versioning strategy ensures that both current and future projects can
thrive within the Maven ecosystem.


Please, maintain a constructive argument, since we need to move forward.
Thank you!


Best regards.


Kind regards
Karl Heinz Marbaise


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to