----- Original Message -----
From: "Fabio Valentini" <decathorpe(a)gmail.com>
To: "Development discussions related to Fedora"
<devel(a)lists.fedoraproject.org>
Sent: Friday, November 15, 2019 10:58:04 AM
Subject: Re: What are the benefits of default modular streams over non-modular packages?
~snipping long thread~
Another issue is that the modular Java packages are now getting
built
with OpenJDK 11, while the non-modular default is still OpenJDK 8, and
nobody is left to drive an OpenJDK 8 → 11 transition in fedora
forward. We're basically the only holdout on Java 8 still, with even
debian stable (!) defaulting to OpenJDK 11 now. This will probably
lead to all kinds of fun incompatiblities between modular (Java 11)
and non-modular (Java 8) packages. And I've not even mentioned the
myriad of other, slightly incompatible changes between modular and
non-modular Java packages ... *SIGH*
I think, assuming the proper -target / -release flags are used in
all modular packages, this will largely be a non-issue. Java does its
best to allow building packages with newer JDK versions while still
allowing older JREs to run the code. That's not the case if -target and
-release flags are missing. It also only really affects the consumers
of Java _libraries_ built with JDK11. Almost nobody will notice if Maven
was built with JDK 11. However this issue has been discussed elsewhere,
and we've determined that we'll be fine (TM):
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
I do agree that we will need to migrate to JDK 11, but that'll take
time. Perhaps we need Miro's fine management skills and strict policy
enforcement to get us there a la python2->python3 migration.
> Perhaps this stuff is obvious to others already. In RHEL8 while
we have
> certainly hit various problems with modularity at least I don't recall
> my teams hitting major issues with default streams being available for
> non-modular packages.
Maybe the dogtag-pki team can offer some opinions here? I know that
they've had to deal with this on both RHEL and fedora.
Most of the RHCS team's perceived shortcomings of Modularity have come from
general issues, not ones stemming particularly from default streams. A
portion has probably been because we did this the wrong way and committed
to shipping it in RHEL before it was stabilized in Fedora. As has been
mentioned before on this list, we have some version of Ursa {Prime,Major}
in RHEL and we don't have large, conflicting efforts to maintain ursine build
trees in parallel to modular ones like Fedora has.
I've aired most of our opinions on this list in other threads. I don't think
it is worth reiterating here. But I will say we have much more leniency
when it comes to packaging there than we do here.
---
My personal opinion is that modules in Fedora are broken because of
politics and a lack of policy that exacerbates the technical problems.
Mostly that's because people are refusing to collaborate and work
together to solve problems, preferring to build their own silos. That'll
drive contributors away and vastly increase technical debt in the long run,
which we do really need to avoid to have a healthy community.
Default modular streams shadowing non-modular packages is one such
problem, especially when they ship libraries.
My 2c.
- Alex