Re: Modules without modularity

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

 



V Tue, Jun 13, 2023 at 03:20:06PM -0400, Christopher napsal(a):
> (First the negative... don't worry, it's not all negative)
> I wonder why we need this at all. I believe that modularity has failed
> to gain a foothold in Fedora, just like scl before it, because Fedora
> just doesn't need this. One of the best things about Fedora is the
> dependency-convergence and curated nature of all the packaged
> versions, so that everything works out of the box. The use cases for
> alternative versions are edge cases that the vast majority of users do
> not need or care about. And the ones that most users do care about
> (making sure their application works) are usually satisfied with
> compat packaging, when needed.
> 
> So much (over-?)engineering has gone into such niche use cases, and
> Fedora is arguably no better off for all that effort. Nowadays, it's
> so easy to spin up a VM or container using older versions of things,
> if you need them, or you can use snaps or flatpaks, or
> language-specific version management tools like mvn or rvm, for the
> developer use cases. What is the real benefit to Fedora to continue to
> push down the path of alternative, mutually-exclusive streams that
> affect the entire system? My experience struggling with modularity as
> a casual packager, and as a user, has left a bad taste in my mouth for
> any similar attempts, and I'm highly skeptical of the need of such a
> thing (and bracing for the impact when it all comes crashing down on
> my favorite OS due to unintended consequences).
> 
I agree that for Fedora it's a niche problem and any attempt to introduce
alternative versions never flew long there.

My explanation for it is that what Fedora offers and what Fedora users want is
a self-inforced relation. If Fedora choose a short release cycle with
single-version, well-integrated code base, then naturally any attempt to bring
alternative versions which partion the code is frown. There are different
distributions with a different life cycle, e.g. rolling release, that
incorporates incompatible versions as an inevitable phenomenon. Those
distributions of course have a different vision and different user as well as
packager base. This is not a critique of Fedora. It only illustrates that
different distributions have different priorities.

You can take my proposal as a mental exercise to explore what is possible and
what isn't with the current state of packaging in Fedora. I'm not going to
hide that the proposal more targets to long-lifecycle derivates of Fedora and
I wanted to get a broader audience, especially from Fedora as an upstream.

> (Now the positive)
> That said, I like the simplicity of your approach, using metapackages
> and native RPM tooling to handle the situation. However niche the use
> case is, having such a simple approach means that it's merely a matter
> of documenting some guidelines for packagers to follow if they have
> need of that situation. I still think that the need for that will be
> rare, and wonder how many of these kinds of metapackages would
> actually get created in Fedora. I suspect that it would be very few.
> But the important bit is that if they do get created, they are
> unlikely to affect me unless I want to use them. This is very
> different from modularity, which seemed to have a downstream impact on
> everybody, especially when you were forced to use modularity if your
> dependencies were... which I think was enough to oust a lot of casual
> packagers, because they had to understand a whole new dimension of
> packaging guidelines and tooling. Your approach requires none of that.
> 
> The one downside to your approach, that I think was an early selling
> point of modularity, is that yours kind of requires that the
> alternative streams are built for every Fedora version. I think
> modularity marketed itself as being able to have a module whose
> version lifetimes were longer than OS release cycles (which could
> reduce packager workload for streams that were slow-moving and didn't
> change across Fedora releases). I don't know how much that actually
> happened in practice, though, so I don't know if anybody will care
> about that difference in your approach.

Thanks for the review.

Modularity indeed helped to maintain a single source across all Fedora
releases. However, behind the scene it spawned separate builds and updates for
each Fedora release. (That's something that current JDK proposal tackles
<https://fedoraproject.org/wiki/MoveFedoraJDKsToBecomePortableJDKs>.) Very
contrary, one had to rebuild a module for each new release. Otherwise, the
module disapeared from Rawhide.

My proposal does not bring this feature. I think packagers can leverage
packages.cfg file in dist-git repositories to configure multiple builds with
a single "fedpkg build" command (as it was used in EPEL8 for EPEL8-next
builds).

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
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
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[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