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

Re: RFC: OpenRC as Init System for Debian

On Fri, Apr 27, 2012 at 08:49:24AM +0200, Adrian Knoth wrote:
> On Thu, Apr 26, 2012 at 02:03:17PM -0400, Jonas Smedegaard wrote:
> > I believe Debian still supports running locally compiled kernels which 
> > do not depend on udev, and that some setups do not require udev either 
> > (not everyone use fibre channel).
> And then, there is this statement about the core distro:
>    "There are a number of folk in the Linux ecosystem pushing for a
>     small core of tightly coupled components to make the core of a modern
>     linux distro. The idea is that this “core distro” can evolve in sync
>     with the kernel, and generally move fast. This is both good for the
>     overall platform and very hard to implement for the “universal”
>     distros."

I hope I'm not alone in feeling quite uneasy about the implications
of the above.

One of the definining characteristics of the Linux ecosystem, including
Debian, has been that the system has been made up of a set of loosely-
coupled compoments with well-defined interfaces.  This is in stark
contrast to, e.g. Windows, MacOS and other proprietary systems, which
have extremely tight coupling between their components, and where being
able to swap out one component for another is almost unheard of.  Given
that this loose coupling has enabled experimentation with a wide
variety of different solutions to problems, and allowed the evolution
of a diverse range of different packages to solve a very wide variety
of needs, it could be considered one of the defining factors in the
success of Linux.  Quite why we would want to replace this with a
one-size-fits-all solution beggars belief.

Given the ongoing debate regarding the different init systems we might
want to adopt long-term, I think this is perhaps one of the less
discussed factors, but perhaps one of the more important ones.  Both
systemd and upstart are technically superior to all the alternatives,
systemd perhaps more so.  But while the technical advantages are nice,
these come at the cost of reducing the amount of diversity in the
system, and our ability to replace pieces which don't fit our needs
due to the tight coupling.

While sysvinit is clearly inferior, it gives us (Debian) something the
others do not: control over our own destiny, and the ability to
modify every aspect of it and the init scripts to fit our needs.  Both
systemd and upstart are largely influenced by third parties.  As a
trivial example: systemd creates user session information in
/run/user/$user .  I brought up with lennart the fact that this would
only permit one session per user.  He rejected out of hand the fact
that more than one session would ever be needed, because Gnome only
allowed one session per user.  So the limitations of Gnome in this
respect have led to a fundamental limitation in systemd's session

We could patch and work around this type of brokenness easily enough.
But given the rapid speed at which systemd is growing and swallowing
up more and more functionality previously served by different tools,
would we have the ability and will to continue to patch every bit that
didn't fit our needs, and keep that working over time?  If we can't,
we'll potentialy end up with a technically superior system... which
meets the needs of Gnome/Fedora and other distributions, rather than
our own.  And when the primary maintainers have shown themselves to
be less than willing to accommodate even this simplest of requests
(as above; a single tempnam call would have been sufficient), would
we be committing ourselves to a less than desirable fate?


  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux    http://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-    GPG Public Key      F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800

Reply to: