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