+1
Java 8 LTS technically ended a year ago (with “extended” support available 
until 2030).
Android shouldn’t be the boat anchor holding NB back. (Android isn’t even a 
supported platform for Java 8. 
https://www.oracle.com/java/technologies/javase/products-doc-jdk8-jre8-certconfig.html)

There is nothing stopping those that want to maintain a Java 8 compatible port 
of NB, but there is no justification to inflict the “suffering” on the future 
development of the main NB project. Specially without metrics to demonstrate a 
demand for the requirement. Attracting contributors is hard enough. 

Scott

> On Apr 5, 2023, at 4:33 PM, John Kostaras <jkosta...@gmail.com> wrote:
> 
> -1
> 
> Java 8 is also LTS and many out there are still stuck to it. I support
> Jarda, too.
> 
>> On Wed, Apr 5, 2023 at 6:25 PM toni.ep...@eppleton.de <
>> 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
>> 
>> 
>> 

Reply via email to