Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-12 Thread Matthias Bläsing
Hi,

Am Dienstag, dem 11.04.2023 um 11:27 + schrieb Glenn Holmer:
> My hope is that the JDK8 gang will see
> the error of their ways and come back to the fold after losing the vote.

please lets stay civil here.

I think it is clear, that there is disagreement, but that does not
mean, that one of the groups is better or worse. I think that both
camps "JDK 8 should stay" and "JDK 8 is dead" have their points and I
also think that the difference is mostly in the weighing of the
arguments and drawing conlusions from that.

Greetings

Matthias

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Geertjan Wielenga
Yes, they're loading a ton of org.netbeans.modules.cnd modules, which
may be keeping them on older versions of NetBeans Platform, meaning
that they can't move to later JDKs anyway.

Gj

On Tue, Apr 11, 2023 at 2:19 PM Neil C Smith  wrote:
>
> On Tue, 11 Apr 2023 at 13:07, Geertjan Wielenga
>  wrote:
> > INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
> > org.openide.util.lookup [8.25.1 20221005-cd0c929e4999]
>
> Thanks.  Old style spec versions (although more recently compiled!)
> So that module is currently 8.54.  I think it was 8.34 prior to Apache
> donation - 
> https://github.com/emilianbold/netbeans-releases/blob/master/openide.util.lookup/manifest.mf#L4
>
> I'm not sure they're a concern for us right now!
>
> I wonder if they use aspects of old C support?
>
> Best wishes,
>
> Neil
>
> -
> 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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Neil C Smith
On Tue, 11 Apr 2023 at 13:07, Geertjan Wielenga
 wrote:
> INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
> org.openide.util.lookup [8.25.1 20221005-cd0c929e4999]

Thanks.  Old style spec versions (although more recently compiled!)
So that module is currently 8.54.  I think it was 8.34 prior to Apache
donation - 
https://github.com/emilianbold/netbeans-releases/blob/master/openide.util.lookup/manifest.mf#L4

I'm not sure they're a concern for us right now!

I wonder if they use aspects of old C support?

Best wishes,

Neil

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Geertjan Wielenga
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
org.openide.util.lookup [8.25.1 20221005-cd0c929e4999]
org.openide.util [8.39.1 20221005-cd0c929e4999]
org.openide.modules [7.43.1 20221005-cd0c929e4999]
org.netbeans.api.annotations.common/1 [1.24.1 20221005-cd0c929e4999]
org.openide.filesystems [8.12.1 20221005-cd0c929e4999]
org.openide.awt [7.62.1 20221005-cd0c929e4999]
org.netbeans.api.progress/1 [1.38.1 20221005-cd0c929e4999]
org.openide.dialogs [7.38.1 20221005-cd0c929e4999]
org.netbeans.modules.queries/1 [1.39.1 20221005-cd0c929e4999]
org.openide.nodes [7.39.1 20221005-cd0c929e4999]
org.openide.windows [6.71.1 20221005-cd0c929e4999]
org.netbeans.swing.tabcontrol [1.51.1 20221005-cd0c929e4999]

On Tue, Apr 11, 2023 at 1:58 PM Neil C Smith  wrote:
>
> On Tue, 11 Apr 2023 at 12:43, Geertjan Wielenga
>  wrote:
> > To Karl's question -- the cool new look and feels are not included in
> > the latest Microchip MPLAB X IDE, so it's quite an old version of the
> > NetBeans Platform, ...
>
> Not necessarily.  You have to actively opt in to those.  I implemented
> as a default in the IDE branding, not the platform, where even
> shipping them is optional.
>
> Is View / IDE log there?  If so, what are the versions at the top of
> the log - product and module versions should have the NB version and
> git hash for anything we've released in the last few years.
>
> Best wishes,
>
> Neil
>
> -
> 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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Neil C Smith
On Tue, 11 Apr 2023 at 12:43, Geertjan Wielenga
 wrote:
> To Karl's question -- the cool new look and feels are not included in
> the latest Microchip MPLAB X IDE, so it's quite an old version of the
> NetBeans Platform, ...

Not necessarily.  You have to actively opt in to those.  I implemented
as a default in the IDE branding, not the platform, where even
shipping them is optional.

Is View / IDE log there?  If so, what are the versions at the top of
the log - product and module versions should have the NB version and
git hash for anything we've released in the last few years.

Best wishes,

Neil

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Geertjan Wielenga
I'd say those that are arguing for JDK 8 are representing the
traditional NetBeans focus on compatibility and supporting the full
range of Java LTS versions.

However, unless they step in to actively work on that with others,
that is not sustainable given the sheer number and pace of Java
releases versus the number of people willing and able to continue to
support that.

To Karl's question -- the cool new look and feels are not included in
the latest Microchip MPLAB X IDE, so it's quite an old version of the
NetBeans Platform, which they may therefore be completely happy with
and not need to upgrade anyway and so not have any issues with us
dropping JDK 8 -- and by the time they upgrade their NetBeans Platform
version, they'd probably do the same with their JDK version (which
I'll find out when I meet with them).

Gj

On Tue, Apr 11, 2023 at 1:27 PM Glenn Holmer
 wrote:
>
> On 4/11/23 05:55, Geertjan Wielenga wrote:
> > Well, what we're trying to do here is keep the whole project together
> > and not branch, which comes down to forking.
>
> When there's an irreconcilable argument about the direction of a
> project, it's the only solution. My hope is that the JDK8 gang will see
> the error of their ways and come back to the fold after losing the vote.
>
> --
> Glenn Holmer (Linux registered user #16682)
> "After the vintage season came the aftermath -- and Cenbe."
>
>
>
> -
> 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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Glenn Holmer
On 4/11/23 05:55, Geertjan Wielenga wrote:
> Well, what we're trying to do here is keep the whole project together
> and not branch, which comes down to forking.

When there's an irreconcilable argument about the direction of a
project, it's the only solution. My hope is that the JDK8 gang will see
the error of their ways and come back to the fold after losing the vote.

--
Glenn Holmer (Linux registered user #16682)
"After the vintage season came the aftermath -- and Cenbe."



-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Karl Tauber
Can you see in the installed MPLAB app what NetBeans Platform version 
they use?


Karl


On 11.04.2023 13:02, Geertjan Wielenga wrote:

I download and installed MPLAB X IDE by Microchip today, probably one
of the most widely used NetBeans Platform applications, where I see
this:

Product Version: MPLAB X IDE v6.05
Updates: Updates available
Java: 1.8.0_345; OpenJDK 64-Bit Server VM 25.345-b01
Runtime: OpenJDK Runtime Environment 1.8.0_345-b01
System: Mac OS X version 10.15.7 running on x86_64; UTF-8; en_EN (mplab)

I have a meeting this evening with Vincent Sheard, Associate Director,
Development Tools at Microchip.

Of course, as far as we can tell, they have not contributed anything
to Apache NetBeans and are essentially profiting from the work we're
doing for free.

Still, will be good to hear from them what their perspective is
(possibly they're going to move away from JDK 8 anyway or even from
NetBeans itself to something in a browser, etc).

Also, if the vote succeeds, and we announce our intentions in the
blog, etc, be aware that organizations may pop up and indicate their
concerns etc -- in which case, they'll need to start contributing here
actively, whether on the JDK 8 branch or in the main line.

Those who do not contribute cannot complain.

Gj

On Tue, Apr 11, 2023 at 12:55 PM Geertjan Wielenga
 wrote:


Well, what we're trying to do here is keep the whole project together
and not branch, which comes down to forking.

Gj

On Tue, Apr 11, 2023 at 12:19 PM Glenn Holmer
 wrote:


On 4/10/23 10:19, László Kishalmi wrote:

There is a way to support old software, and that is called branching.
It is that simple.


If the JDK8 gang had the courage of their convictions, they'd have
forked by now instead of pulling the whole project down. They could call
it DeadBeans.

--
Glenn Holmer (Linux registered user #16682)
"After the vintage season came the aftermath -- and Cenbe."



-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Geertjan Wielenga
I download and installed MPLAB X IDE by Microchip today, probably one
of the most widely used NetBeans Platform applications, where I see
this:

Product Version: MPLAB X IDE v6.05
Updates: Updates available
Java: 1.8.0_345; OpenJDK 64-Bit Server VM 25.345-b01
Runtime: OpenJDK Runtime Environment 1.8.0_345-b01
System: Mac OS X version 10.15.7 running on x86_64; UTF-8; en_EN (mplab)

I have a meeting this evening with Vincent Sheard, Associate Director,
Development Tools at Microchip.

Of course, as far as we can tell, they have not contributed anything
to Apache NetBeans and are essentially profiting from the work we're
doing for free.

Still, will be good to hear from them what their perspective is
(possibly they're going to move away from JDK 8 anyway or even from
NetBeans itself to something in a browser, etc).

Also, if the vote succeeds, and we announce our intentions in the
blog, etc, be aware that organizations may pop up and indicate their
concerns etc -- in which case, they'll need to start contributing here
actively, whether on the JDK 8 branch or in the main line.

Those who do not contribute cannot complain.

Gj

On Tue, Apr 11, 2023 at 12:55 PM Geertjan Wielenga
 wrote:
>
> Well, what we're trying to do here is keep the whole project together
> and not branch, which comes down to forking.
>
> Gj
>
> On Tue, Apr 11, 2023 at 12:19 PM Glenn Holmer
>  wrote:
> >
> > On 4/10/23 10:19, László Kishalmi wrote:
> > > There is a way to support old software, and that is called branching.
> > > It is that simple.
> >
> > If the JDK8 gang had the courage of their convictions, they'd have
> > forked by now instead of pulling the whole project down. They could call
> > it DeadBeans.
> >
> > --
> > Glenn Holmer (Linux registered user #16682)
> > "After the vintage season came the aftermath -- and Cenbe."
> >
> >
> >
> > -
> > 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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Geertjan Wielenga
Well, what we're trying to do here is keep the whole project together
and not branch, which comes down to forking.

Gj

On Tue, Apr 11, 2023 at 12:19 PM Glenn Holmer
 wrote:
>
> On 4/10/23 10:19, László Kishalmi wrote:
> > There is a way to support old software, and that is called branching.
> > It is that simple.
>
> If the JDK8 gang had the courage of their convictions, they'd have
> forked by now instead of pulling the whole project down. They could call
> it DeadBeans.
>
> --
> Glenn Holmer (Linux registered user #16682)
> "After the vintage season came the aftermath -- and Cenbe."
>
>
>
> -
> 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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Glenn Holmer
On 4/10/23 10:19, László Kishalmi wrote:
> There is a way to support old software, and that is called branching.
> It is that simple.

If the JDK8 gang had the courage of their convictions, they'd have
forked by now instead of pulling the whole project down. They could call
it DeadBeans.

--
Glenn Holmer (Linux registered user #16682)
"After the vintage season came the aftermath -- and Cenbe."



-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Neil C Smith
On Tue, 11 Apr 2023 at 07:41, Geertjan Wielenga
 wrote:
> Could a consensus solution be that for all JDK 8 - compatibility
> related items, any/all work related to that, we assign those issues to
> Svata -- and we try this for one release and see how that goes? If it
> fails, then in the release after that, we should all then have
> consensus to move away from JDK 8.
>
> This does not solve the question of when we'll stop supporting a
> particular JDK release -- except that it sounds like "forever, as long
> as someone turns up to continue to support that release and in fact
> does so".

Unfortunately this assumes that the workload for continuing to support
JDK 8 (or any future legacy JDK) is something that is neatly
encapsulated and doesn't permeate everything.

We've had at least 4 different threads I can think of on this since
the beginning of this year alone.  This is the culmination of a lot of
discussion, but no further sign of resolution.  There are 3 -1's on
this thread.  There is no requirement for people to express support,
but there are 16 people supporting this here alone (7x PMC, 3x
committers, 6x community).  That does not include the PMC and
community members who have +1'd the basis of this proposal on other
threads already (I'm not aware of any other -1?).  As pointed out
above, ASF consensus is not unanimity, it is finding "widespread
agreement".  If this situation was reversed, would we take a proposal
with only 3 people supporting it against a large proportion of our
community as sign of widespread agreement to take a course of action?

I agree with Michael and Laszlo, the right (as in, at ASF) and only
feasible option is to vote and resolve this now, and I intend to
proceed with that as originally planned.  Because the alternative, the
thought of spending another 3 months engaged in yet more draining and
damaging discussion, knocking more chunks out of each other, just
makes me want to walk away today.

Best wishes,

Neil

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-11 Thread Geertjan Wielenga
Hi all,

Could a consensus solution be that for all JDK 8 - compatibility
related items, any/all work related to that, we assign those issues to
Svata -- and we try this for one release and see how that goes? If it
fails, then in the release after that, we should all then have
consensus to move away from JDK 8.

This does not solve the question of when we'll stop supporting a
particular JDK release -- except that it sounds like "forever, as long
as someone turns up to continue to support that release and in fact
does so".

Gj

On Mon, Apr 10, 2023 at 8:32 PM Michael Bien  wrote:
>
> On 10.04.23 06:20, Michael Bien wrote:
> >
> > Don't let maven distract us here, I only kept mentioning it since that
> > was the area I have been working on. The whole java ecosystem moves
> > on: Jetty, Jakarta EE, Spring, Jenkins, Maven, Lucene, (...)
>
> Since I just read the news in my RSS reader:
>
> ecj, the eclipse compiler did also move from JDK 11 to JDK 17 a few
> weeks ago.
>
> recommended reading (linked comment and PR itself):
>
> https://github.com/eclipse-jdt/eclipse.jdt.core/issues/886#issuecomment-1479528341
>
> best regards,
>
> -mbien
>
>
>
> -
> 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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Michael Bien

On 10.04.23 06:20, Michael Bien wrote:


Don't let maven distract us here, I only kept mentioning it since that 
was the area I have been working on. The whole java ecosystem moves 
on: Jetty, Jakarta EE, Spring, Jenkins, Maven, Lucene, (...)


Since I just read the news in my RSS reader:

ecj, the eclipse compiler did also move from JDK 11 to JDK 17 a few 
weeks ago.


recommended reading (linked comment and PR itself):

https://github.com/eclipse-jdt/eclipse.jdt.core/issues/886#issuecomment-1479528341

best regards,

-mbien



-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8) - proceed with vote

2023-04-10 Thread Michael Bien

On 10.04.23 12:45, Neil C Smith wrote:

Seriously, we're left with vote this week (maybe with amendment) or
punt the decision for another 3 months to happen with NB20.  I'm
curious what people who've +1'd this so far would prefer to do after
taking into account your points / suggestions?  I *really* don't want
to be the only one making that call, whichever way it falls.


+1 for proceeding with the vote soon

the way I see this is that the option of a NB LTS release would solve 
most if not all concerns while being compatible with the proposed 
policy. Both things are fairly independent from each other, so I don't 
see how delaying the release policy vote would help here.


Everything what could be said probably has been said by now at some 
point already, the lazy consensus did also not result in an alternative 
proposal.


best regards,

michael



Thanks,

Neil

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread László Kishalmi
Well, there is no hatred here, it is a heated debate.

It's just beyond my understanding that people with 20+ years of software
development experience don't see branching as a viable option.

It seems we could not have convinced some of us on our proposal, that's sad.

I'm getting tired of this debate, and I think I'm not alone with that.
Let's do an official vote then.

On Mon, Apr 10, 2023 at 10:41 AM Svata Dedic 
wrote:

> On 10. 04. 23 19:35, Scott Palmer wrote:
> > Note that the one example we have been given so far of "Microchip IDE",
> if
> > it is what I think it is "MPLAB X IDE" (
> > https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide),
> then
> > it seems to have Windows 10, Ubuntu 16.04, macOs 10.15 as minimums.  Java
> > 11 runs on those platforms, and a JRE has been distributed with the
> product
> > since 5.40.  So I continue to search for a real case for Java 8 support.
>
> Minor correction: the actually distributed JRE is:
> OpenJDK Runtime Environment (Zulu 8.64.0.19-CA-linux64) (build
> 1.8.0_345-b01)
>
> -S.
>
>
> -
> 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
>
>
>
>


Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Scott Palmer
On Mon, Apr 10, 2023 at 1:41 PM Svata Dedic 
wrote:

> On 10. 04. 23 19:35, Scott Palmer wrote:
> > Note that the one example we have been given so far of "Microchip IDE",
> if
> > it is what I think it is "MPLAB X IDE" (
> > https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide),
> then
> > it seems to have Windows 10, Ubuntu 16.04, macOs 10.15 as minimums.  Java
> > 11 runs on those platforms, and a JRE has been distributed with the
> product
> > since 5.40.  So I continue to search for a real case for Java 8 support.
>
> Minor correction: the actually distributed JRE is:
> OpenJDK Runtime Environment (Zulu 8.64.0.19-CA-linux64) (build
> 1.8.0_345-b01)
>
> -S.
>

I didn't mean to suggest the distributed JRE was currently Java 11.  I
implied that it could easily be Java 11.  I.e. moving to Java 11 seems to
not be an issue.  Azul's OpenJDK build of JDK 11 has the same license terms
I believe.

Scott


Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Neil C Smith
On Mon, 10 Apr 2023, 17:45 Jaroslav Tulach, 
wrote:

> Thank you Sváťa for writing this email. It open another "can of worms" in
> the "lazy consensus" thread - in my opinion clearly rendering the "lazy
> consensus" as obsolete.
>

In Apache projects, "consensus" means *widespread agreement among people
who have decision power*. It does not necessarily mean "unanimity".

The project uses documented voting rules to build consensus when discussion
is not sufficient.

https://community.apache.org/apache-way/apache-project-maturity-model.html

It doesn't render it obsolete, it just leads to the next stage of any
decision process if that's the only option.

Best wishes,

Neil


Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Svata Dedic

On 10. 04. 23 19:35, Scott Palmer wrote:

Note that the one example we have been given so far of "Microchip IDE", if
it is what I think it is "MPLAB X IDE" (
https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide), then
it seems to have Windows 10, Ubuntu 16.04, macOs 10.15 as minimums.  Java
11 runs on those platforms, and a JRE has been distributed with the product
since 5.40.  So I continue to search for a real case for Java 8 support.


Minor correction: the actually distributed JRE is:
	OpenJDK Runtime Environment (Zulu 8.64.0.19-CA-linux64) (build 
1.8.0_345-b01)


-S.


-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Scott Palmer
Just to be clear, there is no "hate" on my part.  I know the "tone" is hard
to communicate via email.  I just disagree that Java 8 support should
continue in the main codebase.
When I suggest that a Java 8 compatible fork is how to proceed, I wish you
all the best of success with it.  If you have that need I see no reason why
you shouldn't be able to pursue it.

I don't see the case for Java 8 going forward with new NB releases, and I
disagree that that main code should be muddied with any "ifs" to support
Java 8.  I just don't see that it is worth it.  In fact I see it as a net
negative to keep dragging out the life of Java 8.  We should
actively promote moving forward rather than staying in the past.  Draw the
line, maintain a Java 8 fork if necessary, keep the rest of the code Java
11+ with a policy that is clear about when that support will no longer be
guaranteed and how the minimum version is decided. Clean and simple.

This is particularly important for an open source project that needs to
attract developers.  Nobody *wants* to maintain ancient code.

Note that the one example we have been given so far of "Microchip IDE", if
it is what I think it is "MPLAB X IDE" (
https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide), then
it seems to have Windows 10, Ubuntu 16.04, macOs 10.15 as minimums.  Java
11 runs on those platforms, and a JRE has been distributed with the product
since 5.40.  So I continue to search for a real case for Java 8 support.


Scott

On Mon, Apr 10, 2023 at 12:46 PM Jaroslav Tulach 
wrote:

> Thank you Sváťa for writing this email. It open another "can of worms" in
> the "lazy consensus" thread - in my opinion clearly rendering the "lazy
> consensus" as obsolete.
>
> I still need a bit of time to think about using your email strategically,
> but in any case I'm happy. I am no longer the only one who gets all the
> hater!
>
> Thank you Sváťo!
> -jt
>
> ...
>


Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Antonio

Hi,

So are these "hundreds of people" Oracle customers, Toni customers, both 
Oracle and Toni customers or any other kind of users, say open source 
projects?


Thanks,
Antonio

On 8/4/23 14:04, Jaroslav Tulach wrote:

You have met hundreds of people using NetBeans Platform in your career (more
than I met) and you know how important backward compatibility is for their
decisions and their trust in the NetBeans Platform.


-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8) - What is the alternative JDK 8 exit strategy?

2023-04-10 Thread Michael Bien
What is actually the JDK 8 exit strategy of those who vetoed? Since so 
far none was given.


options:
 a) there is none, the NetBeans project ends when JDK 8 ends (or before 
that; this would explain frgaal etc)
 b) NetBeans waits until JDK 8 ends, and is then migrated in big bang 
fashion to JDK 3x (assuming it is still possible), expecting the same 
jump from NB users



If we actually care about users, we do have to give them an upgrade path 
too. The pragmatic way of doing this is to have some NetBeans releases 
which require JDK 8 (we have them already), then have a few releases 
which require JDK 11 and after that some which require JDK 17 and so 
forth. The fact that the steps are small is a feature of the new release 
model! Waiting for the killer-feature before upgrade would be a mistake 
for long running projects.



beside providing an upgrade path, this will also:
 - improve UX
 - allow NB to get rid of EOL libs
   - which reduces virus scanner complains we are periodically getting 
from admins
   - and also reduces the probability of an actual security issue 
without us having an upgrade path available
 - and it will keep the project somewhat interesting for contributors 
(this is a non-technical reason but it shouldn't be ignored since 
NetBeans is a community effort now)


The OpenJDK release train isn't waiting for NetBeans, we have to make a 
decision very soon or it leaves.


Neil's proposal is c) and is fully compatible with the notion of long 
running NB LTS releases which keep supporting JDK 8 if there is 
sufficient interest for it.


Don't get me wrong, a) is actually a perfectly valid strategy. I have 
seen it often in projects which know they move on from java or expect to 
be replaced by other projects in future before the support contract 
ends. But this doesn't work for long running endeavors since those would 
run into b) and that would be very short sighted.


best regards,
michael


On 10.04.23 01:16, Svata Dedic wrote:
Please remember that the published proposal not only covered JDK8's 
fate, which we argue about right now, but also the idea to drop JDK11 
in 2024. So take my


* -1 (at the moment) for JDK8 phase out with NB19;
* and ANOTHER -1 to the JDK11 plans as presented in this thread (but 
that should be discussed separately anyway, not hidden in dropping 
JDK8 thread)


Summary:
- I do not think that dropping JDK8 now is a good idea
- I do not think that sufficient relevant data for the decision was 
collected; I think that we did not even start to collect it.

- I do think we can find and reach a reasonable compromise.
- I propose some action items to make the decision better informed and 
based.
- I offer coding help with compatibility bridges, analysis and/or 
migration of the code.


TL;DR:

I'd like to offer some coding support to retain JDK8 as well - but 
(which IMHO did not happened really during past heated exchanges) need 
to agree on support scope before committing. I'd like to emphasize 
that *runtime* compatibility should be treated separately from 
*development* environment requirements. I would also (now) ask to 
restrict from advocating language goodies - as there are different 
options to achieve that, not necessarily requiring the change of the 
codebase runtime requirements.


I will quite from Ernie Rael's post (quoting stats from 2022):

even though Java 11 had been available for more than a year. Since
then, the balance has shifted between these two LTS release versions.
More than 48% of applications are now using Java 11 in production (up
from 11.11% in 2020) with Java 8 a close second, capturing 46.45% of
applications using the version in production.


There was an idea to basically tell users with requirements for older 
JDKs (now 8, 11 in 2024) they should use the last released platform 
(NB18) that supports their environment. This really mean to *abandon 
the users*, as they will not receive any new features or bugfixes. 
While maintenance effort surely requires work if we still support 
JDK8, porting features (albeit selectively) back to old platform 
requires even usually much more effort. The offer that platform users 
do that for us may seem formally correct, but in reality it requires 
deep knowledge of many parts of the IDE, not just knowledge of the 
'system parts' affected by JDK differences. Exemplified on myself, 
although I could be able to assist to develop bridges for different 
JDK versions for features determined as necessary for the new codebase 
(with possible graceful degradation or function disable on old 
runtimes), I sincerely doubt I would be able to assist with 
backporting a user-facing feature. I believe this is a general case, 
as the 'domain knowledge' is far more scarce than the knowledge of 
system libraries.
So the seemingly positive approach, it turns out to be rather 
offensive in its implications to platform users, which is an outcome I 
do not like.


This could be eventually barely acceptable in case of 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Jaroslav Tulach
Thank you Sváťa for writing this email. It open another "can of worms" in
the "lazy consensus" thread - in my opinion clearly rendering the "lazy
consensus" as obsolete.

I still need a bit of time to think about using your email strategically,
but in any case I'm happy. I am no longer the only one who gets all the
hater!

Thank you Sváťo!
-jt


Dne po 10. 4. 2023 1:16 uživatel Svata Dedic 
napsal:

> Please remember that the published proposal not only covered JDK8's
> fate, which we argue about right now, but also the idea to drop JDK11 in
> 2024. So take my
>
> * -1 (at the moment) for JDK8 phase out with NB19;
> * and ANOTHER -1 to the JDK11 plans as presented in this thread (but
> that should be discussed separately anyway, not hidden in dropping JDK8
> thread)
>
> Summary:
> - I do not think that dropping JDK8 now is a good idea
> - I do not think that sufficient relevant data for the decision was
> collected; I think that we did not even start to collect it.
> - I do think we can find and reach a reasonable compromise.
> - I propose some action items to make the decision better informed and
> based.
> - I offer coding help with compatibility bridges, analysis and/or
> migration of the code.
>
> TL;DR:
>
> I'd like to offer some coding support to retain JDK8 as well - but
> (which IMHO did not happened really during past heated exchanges) need
> to agree on support scope before committing. I'd like to emphasize that
> *runtime* compatibility should be treated separately from *development*
> environment requirements. I would also (now) ask to restrict from
> advocating language goodies - as there are different options to achieve
> that, not necessarily requiring the change of the codebase runtime
> requirements.
>
> I will quite from Ernie Rael's post (quoting stats from 2022):
> > even though Java 11 had been available for more than a year. Since
> > then, the balance has shifted between these two LTS release versions.
> > More than 48% of applications are now using Java 11 in production (up
> > from 11.11% in 2020) with Java 8 a close second, capturing 46.45% of
> > applications using the version in production.
>
> There was an idea to basically tell users with requirements for older
> JDKs (now 8, 11 in 2024) they should use the last released platform
> (NB18) that supports their environment. This really mean to *abandon the
> users*, as they will not receive any new features or bugfixes. While
> maintenance effort surely requires work if we still support JDK8,
> porting features (albeit selectively) back to old platform requires even
> usually much more effort. The offer that platform users do that for us
> may seem formally correct, but in reality it requires deep knowledge of
> many parts of the IDE, not just knowledge of the 'system parts' affected
> by JDK differences. Exemplified on myself, although I could be able to
> assist to develop bridges for different JDK versions for features
> determined as necessary for the new codebase (with possible graceful
> degradation or function disable on old runtimes), I sincerely doubt I
> would be able to assist with backporting a user-facing feature. I
> believe this is a general case, as the 'domain knowledge' is far more
> scarce than the knowledge of system libraries.
> So the seemingly positive approach, it turns out to be rather offensive
> in its implications to platform users, which is an outcome I do not like.
>
> This could be eventually barely acceptable in case of JDK8, I do not see
> reasonable to set minimum JDK to 11 at all. The reason is that while
> JDK8 has support cycle of 11 years (2015 released, 2026 EOLed by RH /
> IBM), JDK 11 has a super short shorter cycle despite being LTS (2021-24)
> and JDK17 just 6 years (2021-2027). From this perspective, forcing the
> users to upgrade JDK 8 > JDK 11 by NB19 in 2023, and then again to JDK17
> by (even if ve move OUR deadlines) right during 2024 given the *upstream
> support ceases for 11* in 10/2024, is ... a very bad idea.
>
> I've read the thread again, and I must think there's a lot of heated
> feelings, but very little of hard data. Let me say I understand (some
> of) the urge to upgrade and I'd like myself to be able to use some
> JDK11+ APIs in NB platform (but also pretty sure that other upgrade
> proponents are interested in *different* sets of APIs). But there are
> different perspectives - so important IMHO that I am willing to offer my
> personal time to support older JDKs, too.
>
> In fact, *we  all* (IMHO and me explicitly included) never went as far
> as to write down the fact and consolidate the info to get the overall
> picture. The consolidated list is important so the maintenance burden
> could become more obvious even to nonbelievers - or, in other hand, the
> JDK8 preservation may turn not such high barrier, and JDK11 features not
> as critical to outweigh the JDK8 drop for the whole codebase. We do not
> have AFAIK such an overview. We did not even start to collect such 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread László Kishalmi
On Mon, Apr 10, 2023 at 7:26 AM Karl Tauber  wrote:

> +1
>
> On 10.04.2023 14:08, Svata Dedic wrote:
> > I am advocating not to drop JDK8 as runtime for NetBeans (extended)
> > Platform, as that decision affects NetBeans-based applications.
> > Microchip IDE, that mining analytic stuff we had presentation a long
> > time ago (but that still IMHO lives), and possibly others.
> >
> > Changing the _runtime_ requirements for NetBeans platform affects
> > application builders - they are often being forgotten in discussions.
>
> Do we know that those applications are planing to upgrade to
> newer/future NetBeans Platform versions? If none of them plan to
> upgrade, then the whole discussion is useless...
>

+1, also what do they get from JDK8 updates? Last time half of the change
was patching some tests, there were a few security patches for jars signed
with SHA1 and the update of TZ data.
I'd imagine, no one is upset that the Virtual Thread feature was not
backported...



> I think, if a project/application decides to stay with Java 8 because it
> is to risky or to expensive to upgrade to Java 11+, why should they
> upgrade to a newer NetBeans Platform version? Any upgrade has some risks
> and costs. Isn't it more likely that they newer upgrade to latest
> NetBeans Platform version?
>
>
> Or the other way around:
> if a project decides to stay on 9 year old Java 8, why can't they stay
> on NetBeans Platform from 2023?
>
>
> We can't stay forever on Java 8 just because some NB platform
> applications still use Java 8 and "maybe" want upgrade to latest NB
> version.
>
>
Also what would happen if Karl decides to pull the plug on Java 8 for
FlatLAF? Just think about it...

There is a way to support old software, and that is called branching.
It is that simple.


Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Karl Tauber

+1

On 10.04.2023 14:08, Svata Dedic wrote:
I am advocating not to drop JDK8 as runtime for NetBeans (extended) 
Platform, as that decision affects NetBeans-based applications. 
Microchip IDE, that mining analytic stuff we had presentation a long 
time ago (but that still IMHO lives), and possibly others.


Changing the _runtime_ requirements for NetBeans platform affects 
application builders - they are often being forgotten in discussions.


Do we know that those applications are planing to upgrade to 
newer/future NetBeans Platform versions? If none of them plan to 
upgrade, then the whole discussion is useless...



I think, if a project/application decides to stay with Java 8 because it 
is to risky or to expensive to upgrade to Java 11+, why should they 
upgrade to a newer NetBeans Platform version? Any upgrade has some risks 
and costs. Isn't it more likely that they newer upgrade to latest 
NetBeans Platform version?



Or the other way around:
if a project decides to stay on 9 year old Java 8, why can't they stay 
on NetBeans Platform from 2023?



We can't stay forever on Java 8 just because some NB platform 
applications still use Java 8 and "maybe" want upgrade to latest NB version.


And if they really need to upgrade to a future Java 11+ based NB 
platform, they can upgrade their application to Java 11+ too...



Karl

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Matthias Bläsing
Hi,

Am Montag, dem 10.04.2023 um 13:02 +0200 schrieb Geertjan Wielenga:
> My feeling on this discussion is that, yes, it’s unfortunate that we’re
> getting to fruitful discussion only at this late stage — but better late
> than never and without this useful thread we wouldn’t have been getting
> where we’re getting at all.
> 
> Could one way forward be to do a Zoom call with all those invested in this
> (and then bring everything decided back to this mailing list) during the
> coming week, unless we can already predict that that will not bring us
> further.

I see no basis for a discussion. There are two people saying, that they
would help with working on JDK 8 support, but that does not answer how
people not wanting to stay in the past shall be included. Lets stay
with the example already establieshed: maven indexer. I was so fed up
with this dicussion, that I did the prototype, not the two people that
advocated JDK 8 support is a good idea. So why should I expect this to
get better in the future?

Given that "#4795 Use frgaal compiler to compile NetBeans" was reopend.
I have a serious WTF moment. I'm denied access to modern API, but the
author wants a backporting compiler? All this accomplishes is getting
us further away, from what is Java in my mind. I verifies concerns that
were raised by others for previous PRs.

At some point NetBeans was cool from me, because it did not reinvent
the wheel (Swing vs. SWT). Reality makes me reconsider this.

What I'm missing to the "API stability" and "Compatibility" axis is the
sustanibilty axis. Seriously arguing for using older, most probably
unmaintained libraries will not fly with me. Lucene as one such example
is a beast and learning it once is enough, learning it twice, once for
serious interest and once for NetBeans JDK 8 support is useless (for
me). And the "let then run NetBeans in degraded mode on JDK 8" idea
won't fly, because it will cause strage issue, which are not triaged by
the JDK 8 interested people.

Greetings

Matthias

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Svata Dedic

On 10. 04. 23 5:40, Laszlo Kishalmi wrote:


It is also being said that "The IDE will continue to support users 
developing projects for/with JDK 8, for as long as nb-javac and other 
dependencies allow." . I think the team would understand if we keep our 
Gradle Tooling library on JDK8 level for the foreseeable future.




Correction: I am not advocating that NetBeans IDE supports JDK8 target 
for the compilation - that I assumed for granted from the previous 
discussion.


I am advocating not to drop JDK8 as runtime for NetBeans (extended) 
Platform, as that decision affects NetBeans-based applications. 
Microchip IDE, that mining analytic stuff we had presentation a long 
time ago (but that still IMHO lives), and possibly others.


Changing the _runtime_ requirements for NetBeans platform affects 
application builders - they are often being forgotten in discussions.


Maintenance releases running on JDK8 are not possible, if the core parts 
of NetBeans start to extensively use JDK11+ APIs 'just for joy from the 
new'.


-S.



-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Geertjan Wielenga
My feeling on this discussion is that, yes, it’s unfortunate that we’re
getting to fruitful discussion only at this late stage — but better late
than never and without this useful thread we wouldn’t have been getting
where we’re getting at all.

Could one way forward be to do a Zoom call with all those invested in this
(and then bring everything decided back to this mailing list) during the
coming week, unless we can already predict that that will not bring us
further.

Gj

On Mon, 10 Apr 2023 at 12:46, Neil C Smith  wrote:

> On Mon, 10 Apr 2023 at 00:16, Svata Dedic 
> wrote:
> > Please remember that the published proposal not only covered JDK8's
> > fate, which we argue about right now, but also the idea to drop JDK11 in
> > 2024. So take my
> >
> > * -1 (at the moment) for JDK8 phase out with NB19;
> > * and ANOTHER -1 to the JDK11 plans as presented in this thread (but
> > that should be discussed separately anyway, not hidden in dropping JDK8
> > thread)
>
> Thank you for your input, and for doing so in a detailed way that
> doesn't try to sideline the issues people have raised.  I've
> personally been wanting to see your input on this for the weeks,
> months actually, that this conversation has been ongoing.  This would
> have been more useful to consider prior to this thread and the policy
> being written.  It's certainly not been written as *my* preferred way
> forward (it isn't) but trying to find a way between all the
> viewpoints, and with some feedback from the people making them.
>
> Adding all this on the last day of this thread / day before opening a
> vote thread now gives us a dilemma.  Do we allow this discussion to
> continue to try and find further compromise before voting?  We need a
> decision before NB18 freeze (well, before 18-rc1 anyway), so that
> would likely lead to a need to delay that.  Or do we punt the decision
> for 3 months?
>
> There was no intention to "hide" the JDK 11 part.  Minimum JDK policy
> is literally the title of this thread.  Multiple people have suggested
> moving (back) to an LTS-1 plan when finally dropping JDK 8 in both
> recent and past discussions.  It's close I believe to how NetBeans
> operated pre-ASF?
>
> I do think the two things must be decided together.  While I disagree
> with a lot of Jaroslav's arguments, trust of users, and particularly
> platform developers, is key.  Part of that is being clear about what
> they can realistically expect from us in future, and time to plan for
> that.  That is one reason for pushing the decision to be made before
> we announce 18-rc1, and included in that announcement.  Dropping in
> NB19 without pre-announcing is wrong IMO.  Announcing with rc1 is an
> extra impetus for any affected users to test things that impact them.
>
> Another reason would be the same reason I pushed for the release
> schedule - so we don't have to keep repeating these long, draining,
> and in this matter damaging, discussions every time!
>
> > - I do not think that sufficient relevant data for the decision was
> > collected; I think that we did not even start to collect it.
>
> That depends!   Certainly enough data on dependencies, or problems in
> delivering features and fixes, had been collected to prompt the
> conversations in the first place.
>
> But the relevant data is primarily internal, not external.  ASF is
> community over code.  We rely on what our contributors want to put
> their time into.  And we cannot promise to deliver what they are not
> willing to.  And, yes, I realise you are, but one active contributor
> still does not an IDE make! :-)
>
> If any outside platform user is actually bothered about this, they
> should be actively contributing and supporting what they care about,
> or paying one of the contributors to care for them!  As Michael put
> it, "skin in the game".  I've spent two decades working with
> open-source, but it's certainly not to put my free time into doing
> somebody else's job for them.
>
> > I'd like to offer some coding support to retain JDK8 as well - but
> > (which IMHO did not happened really during past heated exchanges) need
> > to agree on support scope before committing.
>
> If that is to happen, that will also involve someone who cares about
> that joining the release team .. from NB18!
>
> > I'd like to emphasize that
> > *runtime* compatibility should be treated separately from *development*
> > environment requirements.
>
> I asked a few times previously whether that means you could support an
> LTS-2 approach to runtime once JDK 8 is dropped?  Or do you think
> whatever runtime policy we have should not be linked to the JDK
> release schedule, and why?
>
> > I would also (now) ask to restrict from
> > advocating language goodies
>
> No-one has argued that as a reason AFAIK!  This is primarily
> dependencies, ecosystem, infrastructure, time for (or impossibility of
> in some cases) delivering via optional bridges ...
>
> > This really mean to *abandon the
> > users*, as they will 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-10 Thread Neil C Smith
On Mon, 10 Apr 2023 at 00:16, Svata Dedic  wrote:
> Please remember that the published proposal not only covered JDK8's
> fate, which we argue about right now, but also the idea to drop JDK11 in
> 2024. So take my
>
> * -1 (at the moment) for JDK8 phase out with NB19;
> * and ANOTHER -1 to the JDK11 plans as presented in this thread (but
> that should be discussed separately anyway, not hidden in dropping JDK8
> thread)

Thank you for your input, and for doing so in a detailed way that
doesn't try to sideline the issues people have raised.  I've
personally been wanting to see your input on this for the weeks,
months actually, that this conversation has been ongoing.  This would
have been more useful to consider prior to this thread and the policy
being written.  It's certainly not been written as *my* preferred way
forward (it isn't) but trying to find a way between all the
viewpoints, and with some feedback from the people making them.

Adding all this on the last day of this thread / day before opening a
vote thread now gives us a dilemma.  Do we allow this discussion to
continue to try and find further compromise before voting?  We need a
decision before NB18 freeze (well, before 18-rc1 anyway), so that
would likely lead to a need to delay that.  Or do we punt the decision
for 3 months?

There was no intention to "hide" the JDK 11 part.  Minimum JDK policy
is literally the title of this thread.  Multiple people have suggested
moving (back) to an LTS-1 plan when finally dropping JDK 8 in both
recent and past discussions.  It's close I believe to how NetBeans
operated pre-ASF?

I do think the two things must be decided together.  While I disagree
with a lot of Jaroslav's arguments, trust of users, and particularly
platform developers, is key.  Part of that is being clear about what
they can realistically expect from us in future, and time to plan for
that.  That is one reason for pushing the decision to be made before
we announce 18-rc1, and included in that announcement.  Dropping in
NB19 without pre-announcing is wrong IMO.  Announcing with rc1 is an
extra impetus for any affected users to test things that impact them.

Another reason would be the same reason I pushed for the release
schedule - so we don't have to keep repeating these long, draining,
and in this matter damaging, discussions every time!

> - I do not think that sufficient relevant data for the decision was
> collected; I think that we did not even start to collect it.

That depends!   Certainly enough data on dependencies, or problems in
delivering features and fixes, had been collected to prompt the
conversations in the first place.

But the relevant data is primarily internal, not external.  ASF is
community over code.  We rely on what our contributors want to put
their time into.  And we cannot promise to deliver what they are not
willing to.  And, yes, I realise you are, but one active contributor
still does not an IDE make! :-)

If any outside platform user is actually bothered about this, they
should be actively contributing and supporting what they care about,
or paying one of the contributors to care for them!  As Michael put
it, "skin in the game".  I've spent two decades working with
open-source, but it's certainly not to put my free time into doing
somebody else's job for them.

> I'd like to offer some coding support to retain JDK8 as well - but
> (which IMHO did not happened really during past heated exchanges) need
> to agree on support scope before committing.

If that is to happen, that will also involve someone who cares about
that joining the release team .. from NB18!

> I'd like to emphasize that
> *runtime* compatibility should be treated separately from *development*
> environment requirements.

I asked a few times previously whether that means you could support an
LTS-2 approach to runtime once JDK 8 is dropped?  Or do you think
whatever runtime policy we have should not be linked to the JDK
release schedule, and why?

> I would also (now) ask to restrict from
> advocating language goodies

No-one has argued that as a reason AFAIK!  This is primarily
dependencies, ecosystem, infrastructure, time for (or impossibility of
in some cases) delivering via optional bridges ...

> This really mean to *abandon the
> users*, as they will not receive any new features or bugfixes.

*If* this proposal passed, then there is the option to use the
release180 branch for backporting bug fixes to JDK 8 support.  Or even
features, although why we'd do that is questionable to me, it is an
option.  I agree with Matthias, the work to continue supporting JDK 8
needs to go to those who want it.  That branch can be as active as you
or anyone else wants it to be.  Any outside user is free to contribute
(or sponsor someone to contribute) a backport too.

> So far, the major +1s were
> not based on technical details, but rather on emotions or feelings -
> "new is good", or at least the thread reads.

That's either a deeply unfair 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-09 Thread Michael Bien

On 10.04.23 06:20, Michael Bien wrote:

Hi Svata,

thanks for your detailed response, my reply is inline


On 10.04.23 01:16, Svata Dedic wrote:


I would also (now) ask to restrict from advocating language goodies


agreed. This whole discussion is almost exclusively about APIs and 
bytecode levels. Language features come just as side effect of a JDK 
upgrade as bonus on top.



Please remember that the published proposal not only covered JDK8's 
fate, which we argue about right now, but also the idea to drop JDK11 
in 2024.


and



There was an idea to basically tell users with requirements for older 
JDKs (now 8, 11 in 2024) they should use the last released platform 
(NB18) that supports their environment. This really mean to *abandon 
the users*, as they will not receive any new features or bugfixes. 
While maintenance effort surely requires work if we still support 
JDK8, porting features (albeit selectively) back to old platform 
requires even usually much more effort. The offer that platform users 
do that for us may seem formally correct, but in reality it requires 
deep knowledge of many parts of the IDE, not just knowledge of the 
'system parts' affected by JDK differences. Exemplified on myself, 
although I could be able to assist to develop bridges for different 
JDK versions for features determined as necessary for the new 
codebase (with possible graceful degradation or function disable on 
old runtimes), I sincerely doubt I would be able to assist with 
backporting a user-facing feature. I believe this is a general case, 
as the 'domain knowledge' is far more scarce than the knowledge of 
system libraries.
So the seemingly positive approach, it turns out to be rather 
offensive in its implications to platform users, which is an outcome 
I do not like.


This could be eventually barely acceptable in case of JDK8, I do not 
see reasonable to set minimum JDK to 11 at all. The reason is that 
while JDK8 has support cycle of 11 years (2015 released, 2026 EOLed 
by RH / IBM), JDK 11 has a super short shorter cycle despite being 
LTS (2021-24) and JDK17 just 6 years (2021-2027). From this 
perspective, forcing the users to upgrade JDK 8 > JDK 11 by NB19 in 
2023, and then again to JDK17 by (even if ve move OUR deadlines) 
right during 2024 given the *upstream support ceases for 11* in 
10/2024, is ... a very bad idea.


I actually disagree here. The worse situation would be to have to 
upgrade from 8 to 21 or take an even larger leap, since we waited so 
long that there are no other LTS releases available under the "new" 
OpenJDK release model.


The "new" OpenJDK release model has several LTS releases at the same 
time. They are shorter, but the migration risk is lower once a project 
escaped JDK 8 - since it was the last big release (by design!).


We can build all clusters and run CV tests on JDK 21 right now already 
btw (#5653) and made progress with some high priority issues, e.g. 
#4952, #4904. Neil's/Geertjan's installers ship with the latest JDK, I 
am also always running NB on a recent JDK for testing purposes. There 
is always the possibility to encounter migration specific issues, but 
I don't see us missing a deadline any time soon because of that - I 
think we can say with good confidence that NetBeans is working fine on 
JDK 11+. (the majority of tests are now also running on JDK 11)


We should move to JDK 11 ASAP since time is running out as you pointed 
out. I don't see any reason to wait longer just so that we forced to 
skip LTS versions.





I've read the thread again, and I must think there's a lot of heated 
feelings, but very little of hard data. Let me say I understand (some 
of) the urge to upgrade and I'd like myself to be able to use some 
JDK11+ APIs in NB platform (but also pretty sure that other upgrade 
proponents are interested in *different* sets of APIs). But there are 
different perspectives - so important IMHO that I am willing to offer 
my personal time to support older JDKs, too.


In fact, *we  all* (IMHO and me explicitly included) never went as 
far as to write down the fact and consolidate the info to get the 
overall picture. The consolidated list is important so the 
maintenance burden could become more obvious even to nonbelievers - 
or, in other hand, the JDK8 preservation may turn not such high 
barrier, and JDK11 features not as critical to outweigh the JDK8 drop


this is not about JDK 11 features specifically. The proposal is about 
an upgrade policy. This goes beyond JDK 11. Even if JDK 11 would be 
not super interesting feature wise, it is simply a step to the next 
LTS release. If it is a boring step - even better for everyone involved.


I don't get why fighting the "new" OpenJDK release model is considered 
a viable option here.



for the whole codebase. We do not have AFAIK such an overview. We did 
not even start to collect such a list, instead of that, the general 
tone of the discussion was exagerrated "march forward, kill all the 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-09 Thread Michael Bien

Hi Svata,

thanks for your detailed response, my reply is inline


On 10.04.23 01:16, Svata Dedic wrote:


I would also (now) ask to restrict from advocating language goodies


agreed. This whole discussion is almost exclusively about APIs and 
bytecode levels. Language features come just as side effect of a JDK 
upgrade as bonus on top.



Please remember that the published proposal not only covered JDK8's 
fate, which we argue about right now, but also the idea to drop JDK11 
in 2024.


and



There was an idea to basically tell users with requirements for older 
JDKs (now 8, 11 in 2024) they should use the last released platform 
(NB18) that supports their environment. This really mean to *abandon 
the users*, as they will not receive any new features or bugfixes. 
While maintenance effort surely requires work if we still support 
JDK8, porting features (albeit selectively) back to old platform 
requires even usually much more effort. The offer that platform users 
do that for us may seem formally correct, but in reality it requires 
deep knowledge of many parts of the IDE, not just knowledge of the 
'system parts' affected by JDK differences. Exemplified on myself, 
although I could be able to assist to develop bridges for different 
JDK versions for features determined as necessary for the new codebase 
(with possible graceful degradation or function disable on old 
runtimes), I sincerely doubt I would be able to assist with 
backporting a user-facing feature. I believe this is a general case, 
as the 'domain knowledge' is far more scarce than the knowledge of 
system libraries.
So the seemingly positive approach, it turns out to be rather 
offensive in its implications to platform users, which is an outcome I 
do not like.


This could be eventually barely acceptable in case of JDK8, I do not 
see reasonable to set minimum JDK to 11 at all. The reason is that 
while JDK8 has support cycle of 11 years (2015 released, 2026 EOLed by 
RH / IBM), JDK 11 has a super short shorter cycle despite being LTS 
(2021-24) and JDK17 just 6 years (2021-2027). From this perspective, 
forcing the users to upgrade JDK 8 > JDK 11 by NB19 in 2023, and then 
again to JDK17 by (even if ve move OUR deadlines) right during 2024 
given the *upstream support ceases for 11* in 10/2024, is ... a very 
bad idea.


I actually disagree here. The worse situation would be to have to 
upgrade from 8 to 21 or take an even larger leap, since we waited so 
long that there are no other LTS releases available under the "new" 
OpenJDK release model.


The "new" OpenJDK release model has several LTS releases at the same 
time. They are shorter, but the migration risk is lower once a project 
escaped JDK 8 - since it was the last big release (by design!).


We can build all clusters and run CV tests on JDK 21 right now already 
btw (#5653) and made progress with some high priority issues, e.g. 
#4952, #4904. Neil's/Geertjan's installers ship with the latest JDK, I 
am also always running NB on a recent JDK for testing purposes. There is 
always the possibility to encounter migration specific issues, but I 
don't see us missing a deadline any time soon because of that - I think 
we can say with good confidence that NetBeans is working fine on JDK 
11+. (the majority of tests are now also running on JDK 11)


We should move to JDK 11 ASAP since time is running out as you pointed 
out. I don't see any reason to wait longer just so that we forced to 
skip LTS versions.





I've read the thread again, and I must think there's a lot of heated 
feelings, but very little of hard data. Let me say I understand (some 
of) the urge to upgrade and I'd like myself to be able to use some 
JDK11+ APIs in NB platform (but also pretty sure that other upgrade 
proponents are interested in *different* sets of APIs). But there are 
different perspectives - so important IMHO that I am willing to offer 
my personal time to support older JDKs, too.


In fact, *we  all* (IMHO and me explicitly included) never went as far 
as to write down the fact and consolidate the info to get the overall 
picture. The consolidated list is important so the maintenance burden 
could become more obvious even to nonbelievers - or, in other hand, 
the JDK8 preservation may turn not such high barrier, and JDK11 
features not as critical to outweigh the JDK8 drop


this is not about JDK 11 features specifically. The proposal is about an 
upgrade policy. This goes beyond JDK 11. Even if JDK 11 would be not 
super interesting feature wise, it is simply a step to the next LTS 
release. If it is a boring step - even better for everyone involved.


I don't get why fighting the "new" OpenJDK release model is considered a 
viable option here.



for the whole codebase. We do not have AFAIK such an overview. We did 
not even start to collect such a list, instead of that, the general 
tone of the discussion was exagerrated "march forward, kill all the 
old stuff, let the (IT) God sort it 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-09 Thread Laszlo Kishalmi

Dear Svata,

First of all, I would like you thank you for offering work to support 
keep JDK8 alive!


Though reading through your mail, I'd wonder how JDK was able to evolve 
beyond Java 8 it had 80+ percent usage in 2018.


The secret  is that they forked/branched JDK. As you mentioned there are 
still maintenance releases for JDK8. In the model Neil offered no one is 
prevented to do maintenance releases for NetBeans 18 (or any previous 
version of Apache NetBeans if he/she wishes). It seems there are people 
willing to put work on that. That's really good and appreciated. "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.", that would make the maintenance work easier.


It is also being said that "The IDE will continue to support users 
developing projects for/with JDK 8, for as long as nb-javac and other 
dependencies allow." . I think the team would understand if we keep our 
Gradle Tooling library on JDK8 level for the foreseeable future.


On the you "offer coding help with compatibility bridges, analysis 
and/or migration of the code" could be your next side-gig. Companies 
using aged software shall pay the price. (You can still buy OS/2 named 
Arca OS  at the base price of $129, for a 6 months support). So you can 
think of, with this change we open a possibility to monetize your 
NetBeans knowledge.


On the data to be collected, well it would nice to see such a data, 
though I do not think that should affect the decision. However you can 
use such data to track the importance of keeping the JDK8 (JDK11) 
support alive. That should erode with time.


On 4/9/23 16:16, Svata Dedic wrote:
Please remember that the published proposal not only covered JDK8's 
fate, which we argue about right now, but also the idea to drop JDK11 
in 2024. So take my


* -1 (at the moment) for JDK8 phase out with NB19;
* and ANOTHER -1 to the JDK11 plans as presented in this thread (but 
that should be discussed separately anyway, not hidden in dropping 
JDK8 thread)


Summary:
- I do not think that dropping JDK8 now is a good idea
- I do not think that sufficient relevant data for the decision was 
collected; I think that we did not even start to collect it.

- I do think we can find and reach a reasonable compromise.
- I propose some action items to make the decision better informed and 
based.
- I offer coding help with compatibility bridges, analysis and/or 
migration of the code.


TL;DR:

I'd like to offer some coding support to retain JDK8 as well - but 
(which IMHO did not happened really during past heated exchanges) need 
to agree on support scope before committing. I'd like to emphasize 
that *runtime* compatibility should be treated separately from 
*development* environment requirements. I would also (now) ask to 
restrict from advocating language goodies - as there are different 
options to achieve that, not necessarily requiring the change of the 
codebase runtime requirements.


I will quite from Ernie Rael's post (quoting stats from 2022):

even though Java 11 had been available for more than a year. Since
then, the balance has shifted between these two LTS release versions.
More than 48% of applications are now using Java 11 in production (up
from 11.11% in 2020) with Java 8 a close second, capturing 46.45% of
applications using the version in production.


There was an idea to basically tell users with requirements for older 
JDKs (now 8, 11 in 2024) they should use the last released platform 
(NB18) that supports their environment. This really mean to *abandon 
the users*, as they will not receive any new features or bugfixes. 
While maintenance effort surely requires work if we still support 
JDK8, porting features (albeit selectively) back to old platform 
requires even usually much more effort. The offer that platform users 
do that for us may seem formally correct, but in reality it requires 
deep knowledge of many parts of the IDE, not just knowledge of the 
'system parts' affected by JDK differences. Exemplified on myself, 
although I could be able to assist to develop bridges for different 
JDK versions for features determined as necessary for the new codebase 
(with possible graceful degradation or function disable on old 
runtimes), I sincerely doubt I would be able to assist with 
backporting a user-facing feature. I believe this is a general case, 
as the 'domain knowledge' is far more scarce than the knowledge of 
system libraries.
So the seemingly positive approach, it turns out to be rather 
offensive in its implications to platform users, which is an outcome I 
do not like.


This could be eventually barely acceptable in case of JDK8, I do not 
see reasonable to set minimum JDK to 11 at all. The reason is that 
while JDK8 has support cycle of 11 years (2015 released, 2026 EOLed by 
RH / IBM), JDK 11 has a super short shorter cycle despite being LTS 
(2021-24) and JDK17 just 6 years 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-09 Thread Svata Dedic
Please remember that the published proposal not only covered JDK8's 
fate, which we argue about right now, but also the idea to drop JDK11 in 
2024. So take my


* -1 (at the moment) for JDK8 phase out with NB19;
* and ANOTHER -1 to the JDK11 plans as presented in this thread (but 
that should be discussed separately anyway, not hidden in dropping JDK8 
thread)


Summary:
- I do not think that dropping JDK8 now is a good idea
- I do not think that sufficient relevant data for the decision was 
collected; I think that we did not even start to collect it.

- I do think we can find and reach a reasonable compromise.
- I propose some action items to make the decision better informed and 
based.
- I offer coding help with compatibility bridges, analysis and/or 
migration of the code.


TL;DR:

I'd like to offer some coding support to retain JDK8 as well - but 
(which IMHO did not happened really during past heated exchanges) need 
to agree on support scope before committing. I'd like to emphasize that 
*runtime* compatibility should be treated separately from *development* 
environment requirements. I would also (now) ask to restrict from 
advocating language goodies - as there are different options to achieve 
that, not necessarily requiring the change of the codebase runtime 
requirements.


I will quite from Ernie Rael's post (quoting stats from 2022):

even though Java 11 had been available for more than a year. Since
then, the balance has shifted between these two LTS release versions.
More than 48% of applications are now using Java 11 in production (up
from 11.11% in 2020) with Java 8 a close second, capturing 46.45% of
applications using the version in production.


There was an idea to basically tell users with requirements for older 
JDKs (now 8, 11 in 2024) they should use the last released platform 
(NB18) that supports their environment. This really mean to *abandon the 
users*, as they will not receive any new features or bugfixes. While 
maintenance effort surely requires work if we still support JDK8, 
porting features (albeit selectively) back to old platform requires even 
usually much more effort. The offer that platform users do that for us 
may seem formally correct, but in reality it requires deep knowledge of 
many parts of the IDE, not just knowledge of the 'system parts' affected 
by JDK differences. Exemplified on myself, although I could be able to 
assist to develop bridges for different JDK versions for features 
determined as necessary for the new codebase (with possible graceful 
degradation or function disable on old runtimes), I sincerely doubt I 
would be able to assist with backporting a user-facing feature. I 
believe this is a general case, as the 'domain knowledge' is far more 
scarce than the knowledge of system libraries.
So the seemingly positive approach, it turns out to be rather offensive 
in its implications to platform users, which is an outcome I do not like.


This could be eventually barely acceptable in case of JDK8, I do not see 
reasonable to set minimum JDK to 11 at all. The reason is that while 
JDK8 has support cycle of 11 years (2015 released, 2026 EOLed by RH / 
IBM), JDK 11 has a super short shorter cycle despite being LTS (2021-24) 
and JDK17 just 6 years (2021-2027). From this perspective, forcing the 
users to upgrade JDK 8 > JDK 11 by NB19 in 2023, and then again to JDK17 
by (even if ve move OUR deadlines) right during 2024 given the *upstream 
support ceases for 11* in 10/2024, is ... a very bad idea.


I've read the thread again, and I must think there's a lot of heated 
feelings, but very little of hard data. Let me say I understand (some 
of) the urge to upgrade and I'd like myself to be able to use some 
JDK11+ APIs in NB platform (but also pretty sure that other upgrade 
proponents are interested in *different* sets of APIs). But there are 
different perspectives - so important IMHO that I am willing to offer my 
personal time to support older JDKs, too.


In fact, *we  all* (IMHO and me explicitly included) never went as far 
as to write down the fact and consolidate the info to get the overall 
picture. The consolidated list is important so the maintenance burden 
could become more obvious even to nonbelievers - or, in other hand, the 
JDK8 preservation may turn not such high barrier, and JDK11 features not 
as critical to outweigh the JDK8 drop for the whole codebase. We do not 
have AFAIK such an overview. We did not even start to collect such a 
list, instead of that, the general tone of the discussion was 
exagerrated "march forward, kill all the old stuff, let the (IT) God 
sort it later".


Also note that we can *lower* the guarantees: e.g. not run JDK8 tests 
every commit, to reduce the resource consumption for the test matrix. 
But such negotiation didn't really happen. So far, the major +1s were 
not based on technical details, but rather on emotions or feelings - 
"new is good", or at least the thread reads.


First of all, the 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-08 Thread Neil C Smith
On Sat, 8 Apr 2023 at 13:05, Jaroslav Tulach  wrote:
> ...is going to break the promise me, you
> and the NetBeans team was giving NetBeans Platform users since 1997!

Aside from wondering how dropping JDK 7 support was not breaking the
same promise, my message to Toni would be roughly the same as
Michael's .. stop making promises you expect others to keep for you.
ASF is a do-ocracy, not a do-not-ocracy.

The proposal is also already more conservative than some people are
pushing for, and designed to advertise in advance what we're doing, in
order to support and foster trust of platform users.  They're a high
priority for me too, although I'm also contributing because I'd like
it to have a future ...

> I cannot let that "just" happen. ...

If the Apache NetBeans project does not listen to its most active
current contributors (eg. [1]), or find other people prepared to take
on their workload, then it has no future!  That really is of no use to
platform users.  And I'm not prepared to let that "just" happen
without trying to do something about it.

If you can propose an alternative that in particular Matthias, Michael
and Laszlo would all support, and that addresses their concerns, then
maybe we might actually be able to find a consensus way forward!

https://github.com/apache/netbeans/graphs/contributors

Best wishes,

Neil

-
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





Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-08 Thread Jaroslav Tulach
Thank you Toni for stepping out and publicly sharing your experience as a long 
time NetBeans Platform consultant.

You have met hundreds of people using NetBeans Platform in your career (more 
than I met) and you know how important backward compatibility is for their 
decisions and their trust in the NetBeans Platform.

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 going to break the promise me, you 
and the NetBeans team was giving NetBeans Platform users since 1997!

I cannot let that "just" happen. Thank you for your vote and for helping me 
not be alone in this "NetBeans Platform heritage" fight. Thank you!
-jt

Dne středa 5. dubna 2023 18:25:22 CEST, toni.ep...@eppleton.de napsal(a):
> -1
> 
> I agree with Jarda. Having the portability for platforms like Android is
> important, and I support the proposed alternative.
> 
> 
> 
> Von: Jaroslav Tulach 
> Datum: Mittwoch, 5. April 2023 um 17:13
> An: dev 
> 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 

Re: AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-06 Thread Michael Bien

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 
Datum: Mittwoch, 5. April 2023 um 17:13
An: dev 
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 

AW: [Lazy Consensus] Minimum JDK build and run policy (dropping JDK 8)

2023-04-05 Thread toni.ep...@eppleton.de
-1

I agree with Jarda. Having the portability for platforms like Android is 
important, and I support the proposed alternative.



Von: Jaroslav Tulach 
Datum: Mittwoch, 5. April 2023 um 17:13
An: dev 
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
>
> -
>