Free software communities are often described as being meritocracies -
those who do the most, best work rise to positions of relative power and
influence. The truth tends to be a bit more complicated than that;
though. Politics and social "coolness" play a role in any community; free
software is not exempt from the forces which act on any group of people.
Projects dominated by a single company can also have a tendency to
prioritize corporate control over merit. Even so, in a project of any
size and independence, at least a shadow of the meritocratic ideal can be
seen. Solid contributions lead to respect and influence.
That does not keep people from wanting to tweak the system, however. A
number of projects, for example, would like to find ways to broaden the
definition of merit beyond simple contributions of code. Finding ways to
motivate documentation writers, artists, and reviewers is a common topic of
discussion, for example. There is also interest in making the meritocracy
more fair; that, in turn, can lead to an attempt to codify the merit system
into a formally-described system.
The Debian Developer gauntlet is one longstanding example of a formal
system; nobody can reach developer status without having gone through the seven-step process
of convincing the project of their skills, commitment to free software, and
more. This process is not perfect; in particular, it can take a very long
time for a prospective new package maintainer to be accredited by the
project. But it does help ensure that Debian maintainers are committed and
able to do the job.
Now the Fedora Project is considering a formal
system of its own - but this project, it seems, is not satisfied with
just approving maintainers. Instead, the proposal currently under
discussion would create a full seven levels of developer "merit." These
levels would be:
- FD0: the "probationary" level for new developers. This level grants
the ability to modify one's own packages and to access the source code
management system in a read-only mode.
- FD1: a proper package maintainer. This level adds the privileges of
orphaning one's own packages and subscribing to the glamorous
fedora-maintainers mailing list.
- FD2: Adds the ability to work with packages not specifically protected
against outside access.
- FD3 and FD4: at this level, developers can invite others to
fedora-maintainers and take ownership of orphaned packages. (The
proposal does not give any additional privileges to FD4). Attainment
of these levels might be necessary to be eligible to sit on the
- FD5 is the "sponsor" level which can bring other developers into the
system. Sponsors can control access to packages maintained by
developers they sponsor, give unowned packages to anybody, etc.
- FD6 is the "elder sponsor" level.
Developers who just want to maintain a few packages but who are not
otherwise interested in influencing the direction of the project are likely
to operate at the FD1 or FD2 levels. The proposal suggests that many Red
Hat engineers would find their homes at those levels.
There is a rough set of proposed rules on how promotion through the ranks
would be handled. Some criteria would be established:
Example: FD3 requires 17 quality reviews or 9 owned packages and
shows clear competence in package guidelines. FD4 requires a
history of giving opinions or helping others when needed in
addition to other technical requirements...
Sponsor-level developers would have the power to promote anybody, possibly
with a requirement that a certain number of other high-level developers
agree. There is an interesting suggestion that promotion to the top level
could require votes from a relatively large number of lower-level
developers - promotion from below, in other words. There is a brief
mention of a demotion process as well, though it is short on details.
This whole system may seem rather bureaucratic, and perhaps it is. The
proposal is clear on why the project might want to impose this on itself:
As the project grows, you can't possibly know all contributors on
the other side of the project. Viewing that member's stat page
gives you a convenient snapshot of what they are working on, who
they work with, who sponsored, who promoted, etc.
Fedora is a project which is trying to open itself up in a hurry. Its
developers want to let outsiders come in and take responsibility for pieces
of the distribution, but they are understandably reluctant to throw the
doors open wide. So they need a process; the proposal discussed here
is a starting point for the development of that process. By taking this
approach, Fedora would appear to be breaking new ground in an attempt to
formalize how the meritocracy works. It will be interesting to see how
this experiment works out.
to post comments)