A post to the Gentoo-devel mailing entitled Gentoo: State of the Union
and the discussion
that followed show that Gentoo is having some growing pains. It's not the
first or the only sign, but the thread covers most of the major signs.
Gentoo now has more than 300 developers and over ten thousand packages in
portage, a size that rivals Debian, and it got there in a fairly short
period of time. Some growing pains are a natural consequence of that
Topics in this discussion include the ease (or lack thereof) of becoming a
Gentoo developer, the usefulness of GLEPs (Gentoo Linux Enhancement
Proposals), separating a development tree from a stable tree, voting,
source management control systems and more.
How easy should it be to become a developer? Anyone should be able to jump
in and contribute, but that doesn't mean they should be granted commit
access right away. Granting commit access too easily creates problems,
usually due to the errors of inexperienced people. If the process is easy
enough, it's only a matter of time before someone with malicious intent
starts mucking with the tree. Currently Gentoo requires prospective
developers to take a quiz. There is generally some mentoring that to help
the person get ready for the quiz. Once a person passes the quiz they
should know enough about how Gentoo works to avoid commit errors. The
malicious are not likely to work that hard and the mentor has a good chance
of weeding them out before they get that far in any case.
The process does get bogged down when there are not enough mentors. Not
every developer makes a good mentor. Even those who are good mentors may
have personality conflicts with some people. This problem is not unique
to Gentoo. Overall, it seems that becoming a Gentoo developer is easy
enough to attract a steady stream of new people, but commit access is
restrictive enough to prevent major problems.
GLEPs may be proposed by users or developers. They get written up the GLEP
editors and posted to the development list for discussion. During the
discussion the GLEP is revised. Some die during the recursive iterations,
some go on to a vote. If the GLEP only affects a single team it will be
voted on by that team. GLEPs with broader implications are voted on by the
Gentoo Council. Even if the GLEP passes, it may not be implemented. This
is not ideal, but at least the trail of dead GLEPs provide insight to bad
ideas and keep them from being proposed over and over and over again.
Gentoo still has much to work out. The project has the advantage of seeing
what works (and what doesn't) in the Debian project. They have the
opportunity of making all new mistakes as the project deals with its growth
and popularity. From an editorial standpoint it can be fun to watch.
to post comments)