The Debian Project is an association of individuals who have made common cause to create a free operating system. One of the traditional rites of the northern hemisphere spring is the elections for the Debian project leader.
Over a six-week period in the month of March they hold the elections, interested candidates put their names forward, describe their vision for the project as a whole, answer questions from Debian developers, then wait and watch while the votes come in. But what would happen if Debian were to hold an election and no candidates stepped forward? The Debian project has just found itself in that situation this year and is trying to figure out what will happen next.
The Debian project scatters various types of authority widely among its members, leaving relatively little for the project leader. As long as they stay within the bounds of Debian policy, individual developers have nearly absolute control over the packages they maintain, for example:
- Difficult technical disagreements between developers are handled by the project’s technical committee.
- The release managers and FTP masters make the final decisions on what the project will actually ship (and when).
- The project secretary ensures that the necessary procedures are followed.
- The policy team handles much of the overall design for the distribution.
So, in a sense, there is relatively little leading left for the leader to do.
The roles that do fall to the leader fit into a couple of broad areas; the first of those is representing the project to the rest of the world. The leader gives talks at conferences and manages the project’s relationships with other groups and companies. The second role is, to a great extent, administrative:
- the leader manages the project’s money
- appoints developers to other roles within the project
- and takes care of details that nobody else in the project is responsible for
Leaders are elected to a one-year term; for the last two years, this position has been filled by Chris Lamb. The February “Bits from the DPL” by Chris gives a good overview of what sorts of tasks the leader is expected to carry out.
The Debian constitution describes the process for electing the leader. Six weeks prior to the end of the current leader’s term, a call for candidates goes out. Only those recognized as Debian developers are eligible to run; they get one week to declare their intentions. There follows a three-week campaigning period, then two weeks for developers to cast their votes. This being Debian, there is always a “none of the above” option on the ballot; should this option win, the whole process restarts from the beginning.
This year, the call for nominations was duly sent out by project secretary Kurt Roeckx on March 3. But, as of March 10, no eligible candidates had put their names forward. Lamb has been conspicuous in his absence from the discussion, with the obvious implication that he does not wish to run for a third term. So, it would seem, the nomination period has come to a close and the campaigning period has begun, but there is nobody there to do any campaigning.
This being Debian, the constitution naturally describes what is to happen in this situation: the nomination period is extended for another week. Any Debian developers who procrastinated past the deadline now have another seven days in which to get their nominations in; the new deadline is March 17. Should this deadline also pass without candidates, it will be extended for another week; this loop will repeat indefinitely until somebody gives in and submits their name.
Meanwhile, though, there is another interesting outcome from this lack of candidacy: the election of a new leader, whenever it actually happens, will come after the end of Lamb’s term. There is no provision for locking the current leader in the office and requiring them to continue carrying out its duties; when the term is done, it’s done. So the project is now certain to have a period of time where it has no leader at all. Some developers seem to relish this possibility; one even suggested that a machine-learning system could be placed into that role instead. But, as Joerg Jaspert pointed out: “There is a whole bunch of things going via the leader that is either hard to delegate or impossible to do so“. Given enough time without a leader, various aspects of the project’s operation could eventually grind to a halt.
The good news is that this possibility, too, has been foreseen in the constitution. In the absence of a project leader, the chair of the technical committee and the project secretary are empowered to make decisions — as long as they are able to agree on what those decisions should be. Since Debian developers are famously an agreeable and non-argumentative bunch, there should be no problem with that aspect of things.
In other words, the project will manage to muddle along for a while without a leader, though various aspects of processes could slow down and become more awkward if the current candidate drought persists. One might well wonder, though, why there seems to be nobody who wants to take the helm of this project for a year. Could the fact that it is an unpaid position requiring a lot of time and travel have something to do with it? If that were indeed to prove to be part of the problem, Debian might eventually have to consider doing what a number of similar organizations have done and create a paid position to do this work. Such a change would not be easy to make. But, if the project finds itself struggling to find a leader every year, it’s a discussion that may need to happen.