Bug#727708: On diversity
On Thu, 2014-01-16 at 17:52 +0000, Ian Jackson wrote:
> * Debian is a forum for cooperation and technical development.
> * Debian, as a piece of software, tries to be all things to all
> people (within reason).
> This flexibility and tolerance for divergence has made Debian an
> extremely attractive target for everyone to work within, work on, and
> derive from. I think it has been key to the success of the project.
I think the divergence has gone too far in things like non-Linux ports.
They have had an overall negative effect on people working on Linux
within Debian and people creating derivatives.
> I passionately believe that we need to retain this aspect of our
> community, even if that causes us extra work; and even if it causes
> friction with those who would like to make the world nice and simple
> by only supporting certain goals, certain use cases, or certain
> Now let me apply that to init systems:
Even if you start from the assumption that diversity is positive, you
can't justify support for any particular system without analyzing costs
and possible alternative goals. Is support for multiple init systems
more important than having a good SELinux policy for each package? Being
able to compile packages with several different compilers? Just fixing
more known bugs in existing packages? You could come up with hundreds of
possible goals that would all have at least some positive effect; just
saying that diversity is good can't allow you to pick some and reject
> If you think that the difference between upstart and systemd, or
> between either of those and systemd, is not important, then perhaps
> you could conclude that it was OK to impose a particular decision on
> all of our users and all of our downstreams.
I think there are important differences: upstart is significantly worse
than systemd in several areas.
> But I think the differences /are/ important.
Do you actually believe that upstart has some nontrivial technical
advantages over systemd, such that it would be a noticeably better
alternative even when considering only some specific use case? IIRC you
did not identify any when saying you preferred upstart earlier, and
mainly based your opinion on the assumption that upstart would be more
likely to get ported.
Even the upstart proponents do not seem to have significant arguments
about upstart having better functionality, and there don't seem to be
all that many people who would have a reasonably informed opinion that
upstart would be technically better even for just their particular use.
To me it looks like the main reason Upstart is still alive at all is
that Ubuntu don't want to pay the cost of the conversion to the better
system and don't want to admit that "their" alternative was inferior.
If the differences are mainly just "it's worse" rather than tradeoffs
where each software has clear technical advantages, it's unlikely
diversity would give any significant benefits.
> That means that we need to be the venue where systemd proponents, and
> upstart proponents, and openrc proponents, can make the best system
> they can.
I do not believe it is possible to create such a venue. The result of
the kind of "everything must be supported" policies you seem to favor
would be a venue where nobody is able to create a system they would be
happy with. Or possibly only sysvinit/openrc proponents would be happy
with, if everything is dumbed down to the level where those systems can
> Naturally that will involve some compromises. That's an unavoidable
> cost of trying to be the best place for everyone to pursue their own
"The best place for everyone to pursue their own goals" is
self-contradictory. You need to choose whose goals matter most; if you
don't, it'll require so many compromises that it's not only not "the
best place" for most, it outright sucks. Everyone can maintain their own
leaf package, but not everyone can design how boot and service
management should work.
> I think in this case those compromises are absolutely essential. Not
> just from a technical point of view because of the advantages of one
> system over another. But also to ensure that Debian continues to be
> the place where serious and dynamic people come to do their stuff.
Debian has been successful in some ways, but I don't think it is "the
place where serious and dynamic people come to do their stuff". For
example, none of the newer init systems come from Debian itself; I think
that reflects how hard it is to create the kind of progress I'd
associate with the word "dynamic" within Debian. Debian mainly
integrates serious new developments long after they've been used