DevHeads.net

What are the benefits of default modular streams over non-modular packages?

Hello, in this thread (Fedora 32 System-Wide Change proposal: Modules in
Non-Modular Buildroot)

<a href="https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject.org/message/JNTMUOBZHHCEOV7KS7MRNOBO6VGGT7RX/" title="https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject.org/message/JNTMUOBZHHCEOV7KS7MRNOBO6VGGT7RX/">https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject....</a>

I've asked whether it wouldn't be in fact much easier to keep the default
versions of our packages non-modular.

Others have said they are interested in this as well. A huge thread happened but
it hasn't delivered an answer.
Arguments were made that default modular streams are planned to deliver the
exact same experience as non-modular packages, yet it was not said if it
wouldn't be easier to just deliver non-modular packages for default versions.

Maybe it would be helpful to try to reformulate the question:

**What are the benefits of default modular streams over non-modular packages?**

I'll admit that I personally don't see any benefits, but of course that doesn't
mean that they don't exist or that it's not worth having this discussion.

Considering we have 6 default modular streams, let me acknowledge that for the
maintainers who decided to deliver default modular streams instead of
non-modular packages, there clearly are some benefits.
While some of us might not understand them, let's not say there are none. But
even if there are clear benefits for the maintainers of those modules, I'm
asking about the benefits for everybody else.

I'm mainly interested in benefits for:
- Fedora users
- Fedora non-modular packagers
- Fedora QA
- Fedora Release Engineering
- Community Platform Engineering Team
- Fedora downstream

To get the most out of this discussion I think it's useful to set a few rules,
similarly to the official modularity complaint thread:

<a href="https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject.org/thread/CAT3WZ5OJ2N3TPKRHZA3N3PVNSOYX32I/" title="https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject.org/thread/CAT3WZ5OJ2N3TPKRHZA3N3PVNSOYX32I/">https://lists.fedoraproject.org/archives/list/ ... at lists dot fedoraproject....</a>

So let's set some rules:

1. Always assume good faith. If you are not sure, ask clarifying questions.

2. No complaints. This thread is about benefits. Use the complaint thread for
complaints.

3. Any vague speculative benefits will be ignored. "I think that having default
modular streams sends a better message about how we are a progressive
distribution" is an example of a speculative statement. Always be try to be
concrete about who benefits, how and by what means.

4. Any argument based on the already spent money/time/energy to deliver default
modular streams is to be ignored. It's a classic example of a sunk cost fallacy.
"I think we need default modular streams because people have been working really
hard to make them happen" is an example of such argument.

Comments

Re: What are the benefits of default modular streams over non-mo

By Fabio Valentini at 11/14/2019 - 11:22

On Thu, Nov 14, 2019 at 4:57 PM Miro HronĨok < ... at redhat dot com> wrote:
(snip)

Just to make this explicit for the people who don't know how to
determine this themselves (which includes me):
Which six modules do provide a default stream? I can't seem to tell by
looking at any modules' yaml files.

I hope this counts as a clarifying question, and not as a negative
"this is difficult to figure out" criticism ;)

Fabio

Re: What are the benefits of default modular streams over non-mo

By =?UTF-8?B?TWlyb... at 11/14/2019 - 11:36

On 14. 11. 19 17:22, Fabio Valentini wrote:
I've took that number from the document linked in:

<a href="https://pagure.io/fesco/issue/2255#comment-610332" title="https://pagure.io/fesco/issue/2255#comment-610332">https://pagure.io/fesco/issue/2255#comment-610332</a>

It lists the following 6 modules:

dwm:6.2
avocado:69lts
scala:2.10
ant:1.10
gimp:2.10
maven:3.5

It also lists the eclipse module as a potential candidate. I've decide not to
count it, because at the same time, gimp is dropping the default in:

<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1772469" title="https://bugzilla.redhat.com/show_bug.cgi?id=1772469">https://bugzilla.redhat.com/show_bug.cgi?id=1772469</a>

So either way, we are at 6.

I thing the canonical source of this data is:

<a href="https://pagure.io/releng/fedora-module-defaults/tree/master" title="https://pagure.io/releng/fedora-module-defaults/tree/master">https://pagure.io/releng/fedora-module-defaults/tree/master</a>

If I understand the format correctly, the yamls that have the stream key have
default.

[fedora-module-defaults (master)]$ rg -F -g '!tests' 'stream: '
ant.yaml
5: stream: 1.10

dwm.yaml
6: stream: 6.2

gimp.yaml
5: stream: 2.10

scala.yaml
5: stream: 2.10

maven.yaml
5: stream: 3.5

avocado.yaml
5: stream: 69lts

It does count as clarifying question :)