Stephen Gallagher <sgallagh(a)redhat.com> writes:
My intention was to provide some scope to the problem, because it
seemed that a lot of alternatives being floated were not seeing some
of the more subtle cases that we were trying to address. However, the
biggest problem is that nearly every email to the list has been
started with a "Begging the Question" Fallacy. People have started
from the premise that "Modularity is Bad" and all of the rest of the
conversation has continued from there. I'd like to provide an
opportunity for us as a community to *constructively* state our
grievances with Modularity. The fundamental root cause of some of the
miscommunication is, I believe, that Modularity has problems and that
people have assumed that they are fundamental and unfixable.
Your framing here precludes a complete redesign, and that option needs
to be on the table for any real progress in communication and trust to
be made. If others have "begged" that "modularity is bad", you have
done the same for "modularity is good".
2. Packages moved out of traditional Fedora and into a default
module
stream are not available to the non-modular buildroot. [3]
3. Insufficient guidelines and rules have resulted in some modules
being shipped in a state that makes it difficult or impossible to
build other software for the distribution. In particular, the 'ant'
and 'maven' modules have default streams that own the namespace of
several of their dependencies that have been configured for private
use rather than public to the rest of the distrtibution. [4]
2 and 3 together, with some other factors, create a situation that
there's no incentive for leaf packages to expose their dependencies to
the core distribution. This results in both unnecessary duplication of
work that could have been shared, and bloat (because we didn't need all
the different versions of any particular package foo) that costs not
just storage and builder time but also effort to monitor security-wise.
(You can measure this in many different ways. For instance: does an
ursine package exist? Is it usable? How many modules have a duplicate
of it? How many modules have a newer version of it? etc.)
Thanks,
--Robbie