welcome back,
it might be worth mentioning that:
- From Apache NetBeans 19, the minimum JDK required to build and run
the IDE will be JDK 11.
is how we operate since NetBeans 12.x, nobody has to wait for NetBeans
19 for that. I am only pointing this out since some vetoes come from
members of the PMC who were mostly inactive in the recent years, so this
doesn't surprise me that some details were missed.
If you take a look at the readme or download page you should see the
requirements of the IDE.
Apache is not the make-a-wish foundation. If there is enough interest in
JDK 8, put some skin into the game and branch a LTS release (this is
fully compatible with the proposal!). The fact that the vetoes come from
PMCs in the backseat, blocking a proposal carefully written and thought
out from active members (PMCs!) should rise some red flags about the
health/sustainability of this project. Not to mention that I think this
is fairly disrespectful for everyone who put extra hours into this to
keep NetBeans above water.
Neil has been our release manager for the past releases and knows
NetBeans, the release process and it's problems very well. He has full
support of the active PMCs (as visible in this thread) and is getting
vetoed by essentially inactive members - unbelievable.
thanks,
michael
On 05.04.23 18:25, toni.ep...@eppleton.de wrote:
-1
I agree with Jarda. Having the portability for platforms like Android is
important, and I support the proposed alternative.
Von: Jaroslav Tulach <jaroslav.tul...@gmail.com>
Datum: Mittwoch, 5. April 2023 um 17:13
An: dev <dev@netbeans.apache.org>
Betreff: Re: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)
-1
Background: http://wiki.apidesign.org/wiki/Portability
Alternative:
- I will maintain what ever needs to be maintained to keep JDK 8 CI tests
running
- From Apache NetBeans 19, the minimum JDK required to build and run
the IDE will be JDK 11.
- The minimum JDK to run and test the NetBeans Platform and modules up to
VSCode & Jackpot remains JDK 8.
- Usage of JDK11, JDK17, etc. API is possible in dedicated modules via http://
wiki.apidesign.org/wiki/AlternativeImplementation
Justification:
Writing in Java (a language designed to write once and run everywhere) greatly
increases portability. However there is another axis hurting portability - the
supported JDK version. Of course, should a library be widely used, it has to
support as oldest JDK as possible. These days it is JDK8 - the primary reason
being that Android supports JDK8 - as such, should a library aspire to be used
on Android (as well as regular Java), it needs to stick to version eight.
There's transitivity of non-portability - the portability of the final
application cannot be bigger than portability of the least portable library
used. This applies also to 3rd party dependencies a framework or library has:
again their non-portability may negatively affect portability of such framework
or library.
Of course, writing portable libraries is harder. It requires more work from
the API author, more self-control, more suffering. However such suffering is
justifiable. There is usually a single API writer, but there are many users to
it. What matters is to simplify and improve experience of those API users -
own author suffering doesn't matter that much.
# Proposed policy
* Apache NetBeans 18 will be the last release to support running the
platform on JDK 8.
* From Apache NetBeans 19, the minimum JDK required to build and run
the IDE or platform will be JDK 11.
* Future releases will take an "LTS-1" strategy for building and
running (and CI testing) of the IDE and platform. Three JDKs will be
supported at any one time - the current JDK, plus the previous two LTS
releases. eg. NetBeans 20 and 21 (Nov 2023 / Feb 2024) will support
JDK 11, 17 and 21. NetBeans 22 (May 2024) will support JDK 17, 21 and
22.
## Background
The Apache NetBeans IDE has officially required JDK 11 to build and
run since NetBeans 13 in March 2022. The platform (and unofficially
the IDE) have continued to support running on JDK 8 - all modules
requiring a higher JDK must currently be optional. Various tests have
continued on JDK 8.
This situation is causing issues as workarounds must be found for
currently non-optional features that have dependencies or other
requirements for running on a higher JDK (eg. Maven indexing / Lucene
[1]). It's causing delays, complications and missed testing time in
integration of new features (eg. problems merging support for EE 10
[2]). Supporting an increasing range of JDKs is causing increasing
workload, both for people and CI. Meeting the challenges of deprecated
(for removal) features in the JDK is also complicated by the
additional JDK requirements.
## Notes
* Apache NetBeans users will continue to be recommended to use the
current or latest LTS JDK to run the IDE. The IDE will continue to
support users developing projects for/with JDK 8, for as long as
nb-javac and other dependencies allow.
* This proposal specifically doesn't address when the default bytecode
level across the codebase is increased. This can happen when required,
but non-optional modules would be free to adopt the minimum JDK as
they need to.
* Optional modules may continue to require a runtime JDK higher than
the minimum. Should it become necessary, build time optional modules
might be considered - eg. a build on the minimum JDK may exclude
modules that will not run on that JDK at runtime.
* Some modules that are of independent use (eg. lookup, utilities,
etc.) might be nominated and advertised to continue JDK 8 support for
the time being. This is not expected to cover the runtime container as
a whole - https://netbeans.apache.org/tutorials/nbm-runtime-container.html
* Once NetBeans 19 is released, the NetBeans 18 release branch could
be used to backport and release JDK 8 supporting fixes, subject to any
PMC members wanting to manage those releases.
* The term "platform" is used in reference to the whole framework of
modules that we release (eg. via Maven), not just the platform
cluster.
[1] https://github.com/apache/netbeans/pull/4999
[2] https://github.com/apache/netbeans/pull/4692
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
For additional commands, e-mail: dev-h...@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists