I very much agree with specifying where you're willing to spend your time,
as opposed to just what you'd like to see.

- TomEE 10: I'm happy to contribute to the development of that as I can.
I'm currently working on the concurrency changes needed for EE10.
- TomEE 9: I'm happy to contribute towards maintaining this until a little
after TomEE 10 is released. If we discontinued this now, I think users
would potentially avoid actually doing their migration from javax to
jakarta. I don't see any way we can discontinue this until there is a GA
TomEE 10 release.
- TomEE 8: I agree we need to determine what its lifespan is, and this is
to a certain extent determined by all of the components we use. I suspect
CXF may be tricky in this area - as 3.4.10 is the last 3.4 release, and I'm
not sure what is involved in 3.5.x or it is suitable for EE8 etc. If we
don't determine a lifespan for TomEE 8, there's a real danger that people
will try and stick with it forever rather than migrate to newer versions.
I'd be happy to help maintain this branch for a short time
- Older branches: I wouldn't want to contribute to these any more, and
would be in favor of marking them as discontinued.

The EOL policy you've suggested is really clear, and I think it strikes a
reasonable balance with what's achievable from a maintenance perspective,
while giving time for users to upgrade. While I don't necessarily object to
releases from older branches, if there was a strong desire to do so, I do
think the responsible thing to do is clearly list every single CVE in each
library that hasn't been patched on the download page. I personally
strongly prefer the policy of not releasing software where there are CVEs
in any of the components, however.

Jon

On Wed, Feb 8, 2023 at 8:07 PM David Blevins <david.blev...@gmail.com>
wrote:

> Great thread to start, Richard!
>
> My request to everyone who responds: please be clear on where you’re
> willing to spend your time.  If we get a lot of +1s for an option, but not
> enough people actually volunteering to do the work, it really isn’t an
> option.
>
> Here’s my perspective on each branch:
>
>  - TomEE 9.  We need to keep that CVE patched and actively released.  If
> we don’t then people on TomEE 8 looking to migrate away won’t actually have
> a safe place to migrate to.  I’d be willing to put contribution time into
> CVE patches and doing or reviewing releases on TomEE 9 till TomEE 10 is
> released + 6 months so people have time to migrate from 9 to 10.  We would
> either need to upgrade to Tomcat 10.1 to make this work or volunteer time
> in Tomcat to maintaining 10.
>
>  - TomEE 8.  I’d be willing to review patches, help with release releases,
> etc for this year, so people have time to migrate.  As it will negatively
> impact our TomEE 10 work and people will mostly likely not take advantage
> unless forced, I’d want to have a clear end-of-life date that we set now.
> I think Dec 31st, 2023 is a good date.  That date would be communicated as
> best effort — if a dependency like say CXF stops maintaining the version we
> need, the actual end of life date for TomEE 8 would be shorter.  This would
> all have to be documented and visible when people download TomEE 8.  I
> wouldn’t be willing to put time into TomEE 8 open-ended, without an agreed
> end-of-life date.  Not as critical, but we might also be smart to do just
> one release a quarter or something to minimize impact.
>
>  - TomEE 7 & TomEE 1.7.  These are already effectively discontinued.  I
> think we should actually label them discontinued.  I definitely would not
> be willing to review patches or release binaries for those branches.
>
>
> # General End-of-life policy thoughts
>
> I had in the past leaned against officially calling a branch discontinued,
> but I think I’m swayed the other way on that.  Nobody wants to do the
> javax-to-jakarta transition and given the opportunity to put it off,
> everyone will.  In my experience, people don’t like to upgrade even when
> there are no breaking changes — the fear of one being hidden in there
> somewhere is enough to stop a lot of people.  In absence of a clear “this
> is going away” date, a lot of people will either hold off upgrading or not
> be able to get the internal support for doing an upgrade.
>
> If I had to take a stab at a default end-of-life policy, I’d probably
> recommend something like this:
>
>  - We maintain the latest stable (final) release branch indefinitely while
> the next branch is in development (non-final)
>  - When the development branch becomes final and becomes the new latest
> stable, we immediately announce the previous latest stable will be
> end-of-life in 6 months so people know to use the time to migrate.
>  - Any end-of-life date can be extended (e.g. TomEE 8) if someone shows up
> willing to do the work and commits to a new end-of-life date (which can
> again be extended if there are volunteers)
>  - If we cannot patch all the CVEs in a branch, we likely should have a
> policy against releasing it and that may shorten the end-of-life date
>
> Thoughts on all the above?
>
>
> -David
>
>
> > On Feb 7, 2023, at 10:59 AM, Richard Zowalla <r...@apache.org> wrote:
> >
> > Hi all,
> >
> > I wanted to bring this thing to the list, which appeared in a slack
> > chat today.
> >
> > Back in October 2021 we had a discussion on how we want to handle our
> > three active branches (8.x, 9.x and main/10.x) in terms of maintainance
> > [1]. We already agreed in another thread, that we are not activley
> > maintain 7.0.x or 7.1.x (but are open for contributions) anymore.
> >
> > Now, we have a 9.0.0 released, which passes the TCK (which by itself is
> > really a great achievement!) and we are dived into the EE10 work to
> > have the momentum.
> >
> > However, we missed to find consensus on the different proposals and
> > arguments and didn't make a decision or a vote back than. Currently, I
> > am seeing, that we are doing work on three different branches and
> > porting things back and forth ;-) - the situation is a bit agile (lol)
> > and it is really difficult to keep track (even if it only affects
> > common dependency updates).
> >
> > At the moment, we have:
> >
> > - 8.x (EE8)
> > - 9.x (EE9)
> > - 10.x/main (EE10)
> >
> > Keeping up with three diverging code bases is challenging ;-)
> >
> > In addition, the situation is complicated by the fact, that the Tomcat
> > project decided to EOL their 10.0.x line, which is targeting EE9 and
> > won't get any fixes in the future.
> >
> > I think, that we should discuss our prorities in maintaining the
> > different branches, ie. how much "love" (or energy) we want to give
> > each branch (if someone steps up and keeps up porting changes, I
> > wouldn't be against it).
> >
> > Personally, I think, that we should keep up our efforts in maintaining
> > 8.x (as it is the last javax version and industry will need some more
> > adoption time before moving to jakarta), ie fixing build improvements,
> > bug & cves but put the vast majority of our energy into the EE10 work
> > (+ related projects). I don't think, that we have the energy to
> > backporting a lot of things to the 9.x branch (aside from CVE fixes,
> > which might be difficult to the eoling of some libs)) though - but
> > again: If someone steps up and has the energy to do that, I won't
> > object :-)
> >
> > Any thoughts or ideas on a strategy?
> >
> > Gruß
> > Richard
> >
> >
> >
> >
> >
> >
> > [1] https://lists.apache.org/thread/z953f2th5kqc3brjvcjmjwwo93hcd970
> >
>
>

Reply via email to