Re: The Future of the Java Stack (also regarding ELN and RHEL)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 10, 2020 at 12:12:05PM -0400, Robbie Harwood wrote:
> Mikolaj Izdebski <mizdebsk@xxxxxxxxxx> writes:
> > On Thu, Sep 10, 2020 at 3:46 PM Alexander Scheel <ascheel@xxxxxxxxxx> wrote:
> >> Hi Joe,
> >> On Thu, Sep 10, 2020 at 8:52 AM Joe Orton <jorton@xxxxxxxxxx> wrote:
> >> > I'm writing as the Red Hat engineering manager responsible for Maven and
> >> > Ant in RHEL, and on behalf of Mikolaj Izdebski and Marian Koncek from my
> >> > team.  I want to give a broad response to some of the points here:
> >> >
> >> > 1.  The team has two missions in Fedora:
> >> >
> >> > a) We deliver, maintain and support Ant and Maven in Fedora. Our aim is
> >> > to provide developers with the most popular Java build systems which are
> >> > reviewed, tested, and updated through the release lifecycle.
> >> >
> >> > b) We design, develop and document tooling that enables anyone to
> >> > package Java software with a simple, efficient and scalable process. We
> >> > are also active members of Java SIG, collaborating on complex changes
> >> > and guiding new contributors.
> >> >
> >> > 2.  We are committed to maintaining the Ant and Maven modules in
> >> > Fedora.  We have always expected to make them available as default
> >> > streams and in the buildroot so they can be available and consumed by
> >> > non-modular packages, but we completely respect the decisions of FESCo
> >> > to disallow default streams and of other contributors to adopt and
> >> > maintain the non-modular packages.  We are not going to promise to
> >> > commit time and resources to maintain the non-modular packages.
> >>
> >> As a reminder (as in my RHEL devel-list reply): there are no default
> >> module streams in Fedora. There is also no Ursa Major/Prime, so were
> >> they to exist, there would still be no way for non-modular packages to
> >> use them.
> >
> > There are default module streams in Fedora 31.
> 
> Fedora 31 is most likely EOL in about two months.  I really hope you're
> not targeting your future development against it.

This exchange summarizes the situation nicely.

Modularity can be considered an over-complicated hyped-through-the-roof
bundling mechanism.

For a long time Fedora has very strongly discouraged bundling in the sense of
subsumming one package into another to have a custom build of a dependency.

The disapproval of bundling is not because it doesn't work: it does, and in
fact with some crappy libraries it's the least bad solution. The disapproval
is motivated by the fact that bundling doesn't scale and that it subtracts from
the ecosystem. Instead of us all cooperating and each bugfix helping all
users of a given dependency, a maintainer of a bundled library is only helping
themselves and their package.

Bundling is not inherently bad: currently the policy even allows it as
a workaround if using the system-wide package is not feasible. It is a
pragmatic choice to allow it as a last resort. But the effect of bundling
on other packages must be minimized any conflicts or confusion with the
system version avoided.

With Modularity, we threw this accumulated wisdom away.
In two ways: by encouraging private^Wbuild-only dependencies and by
letting bundled^Wmodularized rpms shadow normal rpms.

For Maven packaging the appeal of Modularity is clearly the privatization of
the dependency tree, which obviously undercuts the ecosystem of packages.

The Java ecosystem collapsed so quickly because it was already weak
— hundreds of packages on the shoulders of one person. But even in a stronger
ecosystem, with enough packages modularized, the packaging ecosystem of
mutual cooperation would collapse.

For some other modules, the appeal is the overriding of package deps, which
means that the modular rpms don't have to worry about getting it deps precisely
declared, at the cost of breaking the deps declared in other packages.

If there wasn't Modularity and instead Maven would bundle it's deps into
one huge srpm, the effect on the ecosystem would be the same. As with
bundling, Modularization gives short-term relief at a very high long-term
cost. We should avoid modularization like we avoid bundling.

Zbyszek
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux