Dne středa 5. dubna 2023 22:32:18 CEST, John Kostaras napsal(a):
> -1
> 
> Java 8 is also LTS and many out there are still stuck to it. I support
> Jarda, too.

Thank you John. There is a reason why JDK8 is LTS, right? When I was working 
with your organization I could see how important backward compatibility is. I 
could see the environment you were working in and also the previous (not based 
on NetBeans Platform) solution  - I could see that it was maintained for way 
more years than a "normal developer" can imagine.

I was proud to see your group selecting the NetBeans Platform and I got even 
more motivated to keep the promise of backward compatibility because of that! 
Dropping ability of the NetBeans Platform to run on JDK8 needlessly (yes, I am 
absolutely convinced it is needless; as we can find a way to "Run on JDK8, use 
JDK11 APIs!" - http://wiki.apidesign.org/wiki/AlternativeImplementation - 
without dropping JDK8 support fully) is against everything I have always been 
promoting as an API designer.

-jt

PS: I am sorry to see you changed your vote. However I can understand that - 
there is a lot of pressure (public as well as private) and one almost feels 
like an enemy being on the side of backward compatibility. 

> 
> 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





---------------------------------------------------------------------
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