Re: Deficiencies in Debian
gregor herrmann <firstname.lastname@example.org> writes:
> [cc and reply-to/m-f-t email@example.com]
> On Thu, 10 May 2007 12:32:26 -0700, Russ Allbery wrote:
>> There are other things
>> that *are* signs of fundamental deficiencies in the project,
> Would you mind to elaborate on this point, I'm really interested in
> your opinion.
The biggest problem with most open source / free software projects that
I've been involved in is the bottleneck around evaluating and accepting
infrastructural improvements. It's a very hard problem and I'm not saying
that Debian is necessarily much worse off than many other projects, but we
also have this problem in spades.
The problem basically reduces to this: The core infrastructure is very
important and therefore requires close monitoring and rigorous evaluation
of what goes into it. It also can be subtle and complex and evaluating
changes can be hard. There is always a core of people who understand the
core infrastructure and feel confident in their ability to make changes,
but due to the nature of dissemination of knowledge in a project, those
people are also the best-positioned to make many other changes in a
project and therefore are inevitably overloaded. And any changes
single-track through the same people.
As a result, there's usually little or no training of the next generation
of people who can make infrastructure changes, less documentation than
would be desirable of how things work, and few resources to evaluate
changes and explain what would make them work. People who want to
contribute to that central infrastructure get discouraged and frustrated
and go away because no one has resources to show them what they might be
doing wrong or, even if everything is great, even resources to simply
commit and deploy their work. The people who do have the knowledge feel
pulled in too many directions and tend to burn out. From the outside, the
result looks like stagnation and arbitrary control of the center. From
the inside, the result looks like stress, overwhelming workloads,
impatient and frustrated people, and an impression that other people lack
the care and caution required around the central infrastructure.
I think this problem, in various different forms, is behind most of the
major issues that are brought up in every DPL cycle and from time to time
on -vote and -project.
There isn't any silver bullet solution. If there was, we probably would
have taken it already. Some projects do better with it than others.
Linux does a relatively good job here. I'm heavily involved in some other
projects that are doing much worse than Debian (INN, for instance, in
large part because I'm currently putting more of my time into Debian).
Oh, and by "infrastructure," I mean generically whatever is at the core of
the project. For Debian, this is things like the buildd network,
ftp-master, Debian admin, central infrastructure packages, etc. For
software projects, it's more often the core, trickiest code or the
infrastructure on which everything else is built. For Usenet hierarchy
administration, it's core policies around what newsgroups get created. It
varies a lot.
I think Debian does very well here in some areas and not as well in
others, but Debian suffers from those structural flaws around finding a
way to train the next group, relieve load and stress on core contributors,
and still ensure that changes to the infrastructure are audited with the
detail and care that is indicated. There have been improvements by fits
and starts in the past few months, and I don't think any of this is news
In a workplace environment, this sort of thing is often addressed by
putting mentoring and staff development on the performance goals of senior
staff and freeing up time that they're supposed to dedicate to training
and documentation. Debian doesn't have that luxury, and I don't know
what, if anything, we can effectively do at a project organization level
to accomplish a similar goal.
Russ Allbery (firstname.lastname@example.org) <http://www.eyrie.org/~eagle/>