Re: Componentized linux?
On Tue, 2004-03-02 at 03:53, Chad Walstrom wrote:
> On Mon, Mar 01, 2004 at 12:10:16PM +0000, Colin Watson wrote:
> > (Yes, this makes release management in general a very difficult
> > problem, since you lose most of your degrees of freedom in the
> > versions available for release.)
> I would counter that release management may be simpler, in that specific
> goals for release are more granular. Each component would have its own
> release cycle and release manager. Teams of developers are more focused
> on releasing software that interests them.
Release management for-each-sub-project may be simpler, but as someone
else mentioned, we would have a much greater need for parallel installs
and _that_ has would presumably make it (at least the distribution as a
whole) more complex.
It might be useful to work toward untangling the dependencies as much as
possible, and 'componentizing' would almost certainly assist with
identifying where the inter-component dependencies are, which is a good
> For this flexibility, you would increase complexity; this fact cannot be
> ignored. Mathematically, it looks quite scary, but would it really be
> that horrible in a practice? There are already numerous back-port
> projects out there, allowing people to install Gnome 2.4 or Apache 2 on
> woody. Developers WANT their software to run on multiple releases of
> Debian. This is also an undeniable fact. People WANT to run a stable
> Core and have newer software.
It's very appealing from a me-as-user point of view. I've been meaning
to set up a base-stable (for net, security, etc) + chroot unstable (for
desktop) but haven't yet gotten there. A more modularized Debian would
provide greater flexibility in a similar way...
> Implementation, on the other hand, does not match Debian's current
> paradigm. It would be a big change internally to allow the use of
> components. I'm not sure how Ian is going to make it work for Progeny
> with the existing Debian and Fedora archives.
Does progeny use both Debian _and_ Fedora as a base? If so I had no
> deb http://http.us.debian.org/debian x11-4.3 sid
This reminded me - there is talk (and hopefully plenty of action) to
break up the monolithix XFree distribution into base libs, drivers, etc.
This componentization seems to be the theme of the day.
Where I used to work, we ended up with a monolithic code base and at one
point split out "lib". We were using Aegis at the time, and created a
lib project which seemed to make sense. We realised after a long time
that the overhead of adding functions to "lib" was way too high, and so
no one did any more (since they had to create an extra 'change' which
was too much overhead for too little immediate gain for that one
Nevertheless, the library became more stable, and after the initial
effort of untangling its dependencies so it didn't depend on anything
higher, this probed to be beneficial.
We wanted to create more layers, each layer depending only on
functionality from the layer below, but "we always had another deadline
and not enough willingness to stop for a few weeks to do it".