LWN.net Logo

Membership structures in Debian and Ubuntu

August 2, 2010

This article was contributed by Raphaƫl Hertzog

Debian and Ubuntu have a set of official membership roles that can be granted to regular contributors. Those roles come with rights that enable the contributors to do their work and to participate in the project governance (elections and other official decision-making processes). It's also a way for the distributions to acknowledge the work done: most contributors are proud of the status they reached.

The membership structure plays an important role in the development of a distribution: it defines the kind of contributors that are welcome in the project, it sets expectations of the project towards its contributors and defines their rights. In the end, this shapes the project's ability to recruit new contributors to keep the project alive and kicking. This article introduces the existing statuses in Debian and Ubuntu, and defines the — sometimes confusing — jargon associated with them.

The Debian case

Debian only has two types of official members: Debian Developers (DD) and Debian Maintainers (DM). The rights of the developers are codified in the Debian Constitution while those of the maintainers have been defined in a general resolution of 2007. The Debian Maintainer status is still mostly documented in a wiki page. The integration of this new status in Debian's official processes has been slow to come largely because it was introduced — at that time — without enough negotiation with the involved parties. Nowadays, it is preferred that people get the DM status before applying for DD.

DM is a very limited role: maintainers can only upload packages that already have their name on them (either in the Maintainer or Uploaders field) and a specific flag (DM-Upload-Allowed: yes) that only Debian Developers can add. They have no other rights and limited access to Debian's resources.

Besides those official roles, there are also maintainers of packages that have no official status within Debian except that they are listed in the "Maintainer" field of the package. They are doing the maintenance work but all uploads are done by a Debian Developer after verification of the work done (this is called "sponsorship" and is the only way to start with official packaging work). Once the DD trusts the maintainer, the developer will typically ask the maintainer to apply for DM status in order to be relieved from the sponsorship work.

In the end, that makes three different kind of package maintainers and a lot of confusion when you discuss membership issues... in particular when the New Maintainer process is the path that you follow to become a Debian Developer. Don't be fooled by the names when reading Debian's documentation!

Developer roles in Ubuntu

Ubuntu has had, from the start, an official Ubuntu Member status that includes all contributors: developers of course, but also documentation writers, artists, translators, etc. This status notably grants the right to vote in elections of the Community Council, the right to participate on Planet Ubuntu, and an @ubuntu.com email alias.

For developers, the situation is more complicated: the wiki page lists no less than five different statuses. Initially, developers were split between Ubuntu Core Developers and the MOTU (Masters Of The Universe). The latter were responsible of the universe/multiverse sections of the archive while the former also had upload rights for the main/restricted sections. But, inspired by the Debian Maintainers concept and facing concrete problems in terms of archive management, they changed their infrastructure to offer more fine-grained control of package uploads.

Ubuntu can now grant upload permissions on a package-per-package basis, but it can also delegate the right to grant upload permissions with the same granularity. This lead to the new Per-Package Uploader status, which is simply an Ubuntu Member with upload rights on a limited set of packages where they have a specific expertise. The more generic Ubuntu Developers status now encompasses members of various development teams that have been delegated the right to manage upload permissions on a (usually large) package set (the current teams are Ubuntu Desktop, Mythbuntu, Kubuntu, and Edubuntu). Those teams can define their own policy to add new members provided they follow the basic rules defined by the Developer Membership Board (see this wiki page).

Ubuntu Contributing Developer is an intermediate status for someone who is not yet ready for one of the other developer statuses but who has still shown enough commitment to be an Ubuntu Member.

All those statuses can be obtained in a similar way: you prepare a wiki page listing your past contributions, you collect testimonials from existing members that you have worked with, you add yourself in the agenda of the next meeting of the board (or council) that grants the status that you seek, and you attend the meeting. The members of the board will decide whether you are ready for the status (or not) based on what you provided in the wiki, based on your answers during the meeting (and on a mailing-list for developers), and based on what others have to say about you.

The most important boards are usually elected by the community while others are commonly appointed by the community council. Those governance bodies include Canonical employees but not as many as one would expect: two out of eight in the Developer Membership Board, two out of eight in the Community Council, but all six members of the Technical Board. The last figure is not surprising given that the members of the technical board are appointed by Mark Shuttleworth. The community does not get to choose, it can only approve the choice by a confirmation vote. The founder of the distribution clearly wants to keep control on the technical directions of the project. He's also the only person to have a permanent seat on both the Community Council and the Technical Board.

Comparison of the statuses between Debian and Ubuntu

The following table summarizes the rights given to each developer role in the two projects (Put the mouse over the abbreviations to know what they are referring to).

Rights Debian Ubuntu
DM DD UM PPU/UD MOTU UCD
Package maintenance via sponsorshipYN/AYYYN/A
Official email alias-YYYYY
Participate in votes for members-YYYYY
Participate in votes for developers-Y-YYY
Upload rights restricted to pre-approved packagesY--Y--
Upload rights restricted to a section of the archive----Y-
Unlimited upload rights-Y---Y
Number of contributors (as of 2010-07-27)117904462278563

Please note that the number of contributors are not 100% accurate for Ubuntu. A contributor can have multiple statuses (direct membership to a launchpad group) granted over time (while gaining experience). The problem has been mostly avoided by calculating differences between number of members of the various groups but it's not perfect and it can't be: some MOTU are also PPU for packages in main and it's legitimate (but I only counted them as MOTU and not as PPU). Another limitation is that members of some administrative teams are included indirectly in many teams and thus appear in the count while they should not.

Anyway, this simple table makes it obvious that Ubuntu's structure offers a broader choice of statuses. They acknowledge the work of all contributors from the start while still giving the most critical rights only to those who have proven that they deserve them. Despite this difference, Debian still has a significant advantage in terms of number of developers. That number does not tell the whole story though: the Ubuntu contributors include many Canonical employees (e.g. 36 out of 63 core developers have a @canonical.com email registered on their launchpad account) that are likely to spend more time working on the distribution than the average Debian member. But even if comparing person-hours would be a challenging thought experiment, in practice it's of not much interest if both projects continue to cooperate and more and more of the contributions flow in both directions.

Debian is aware of the shortcomings of its structure. Changes to better accommodate non-packagers have been discussed several times already. The last efforts in that direction were unfortunately perceived as a solution ready to go rather than a proposal to be discussed, and the project got quickly buried by a general resolution (GR). Even if that resolution invited for further discussion and a new proposal, the truth is that when someone's initiative is "corrected" by way of GR, it usually kills any motivation to go forward.

Possible evolution?

On the Ubuntu side, the infrastructural changes were completed recently and they don't expect any further change in the near future. They do plan, however, to expand usage of those new features so that more teams benefit from the possibility to control upload rights on packages that are relevant to them, and so that more individuals developers apply to become Per-Package Uploaders on packages that they know very well.

On the Debian side, a recent discussion on the debian-project list brought back the topic of the bad terminology and it was agreed that the "New Maintainer process" should be renamed into something else ("New Developer process" has been suggested). But Christoph Berg — Debian Account Manager and hence heavily involved in the New Maintainer Team — suggested that Debian would be better off implementing the long-awaited membership changes before trying to update all the documentation. It would certainly imply some more vocabulary updates. Later in the discussion, he confirmed that membership reform is at the top of the TODO list of the new maintainer team (just after the rewrite of the nm.debian.org website).

What can be expected from this reform? The following answers are my own guesses based on my experience of Debian, but the project hasn't decided anything yet.

  • First of all: a new status for contributors who are not packagers. The tricky part will be defining the process to follow and the rights granted.

  • Changes to the technical implementation of the DM status. The current implementation does not allow to give upload rights to a single DM if two are listed as Uploaders of the same package (and both might not have the same experience for that package). Furthermore, it suffers from annoying restrictions like the inability to upload new binary packages.

  • A change of the Debian constitution to integrate those new statuses is almost unavoidable.

  • Other more invasive changes have been proposed like replacing the NM process by a simple designation from other DD, but it's unlikely to happen. The NM process can already be greatly simplified by the application manager if the applicant can show good testimonials from other developers and if he has a track record of real contributions (e.g. as witnessed by changelog entries in Debian packages).

Almost two years have elapsed since the previous efforts in that direction, the new maintainer team has recruited new members and is in a general better shape. DebConf is approaching (August 1-7) and has traditionally been a good place to discuss important reforms. Hopefully, the next episode of this saga will have a better outcome.


(Log in to post comments)

Membership structures in Debian and Ubuntu

Posted Aug 2, 2010 17:09 UTC (Mon) by keybuk (subscriber, #18473) [Link]

Just to correct a misunderstanding in the article regarding the Ubuntu Technical Board. A year ago, the board decided to place all of its seats up for reconsideration and placed an open call for nominations. Developers were free to both nominate themselves and to nominate others they would like to have seen stand:

https://lists.ubuntu.com/archives/ubuntu-devel-announce/2...

The existent Technical Board at that point, including Mark, selected candidates from those nominations; in practice we received few enough nominations that we were able to place the majority on the ballot. This ballot included a non-Canonical member.

The current Technical Board was chosen by condorcet voting amongst the developers.

It's unfortunate that the board is all-Canonical and we'd certainly love to have non-Canonical members of the board as we have in the past (Matthew Garrett was a long-standing independent member).

Membership structures in Debian and Ubuntu

Posted Aug 2, 2010 19:39 UTC (Mon) by jspaleta (subscriber, #50639) [Link]

Can you point me to a wikipage or some other resource which documents the election process and the requirements that all nominees must meet? Do nominees to the technical board need to be Ubuntu members or is it more restrictive than that?

-jef

Membership structures in Debian and Ubuntu

Posted Aug 3, 2010 18:31 UTC (Tue) by keybuk (subscriber, #18473) [Link]

The current governance information should be on the Ubuntu website and/or wiki, if it's out of date, wrong or missing, please file a community bug.

Membership structures in Debian and Ubuntu

Posted Aug 3, 2010 18:40 UTC (Tue) by jspaleta (subscriber, #50639) [Link]

How do I know if its out of date or missing? I'm assuming I'm just incompetent at finding it.

Can you please point me to the requirements for individuals seeking nomination to the Technical Board? Are you also unable to find it? If this is a bug, I'd like confirmation from at least one other person before filing. Its how I roll... make an effort to confirm with another person... then file...to lower the chances that its a user error on my part.

-jef

Membership structures in Debian and Ubuntu

Posted Aug 5, 2010 17:12 UTC (Thu) by keybuk (subscriber, #18473) [Link]

Living, breathing, member of the Ubuntu Developer community. (As mentioned in the mail I linked to above). And obviously respected enough to be accepted by a vote amongst that community.

I don't think we need any more complex or stringent requirements, do you?

Membership structures in Debian and Ubuntu

Posted Aug 5, 2010 17:23 UTC (Thu) by jspaleta (subscriber, #50639) [Link]

I have no opinion as to what should or should not be required. It is entirely inappropriate for me to comment on whether the procedure is adequate or not...especially when I don't believe I have a clear picture of how it is meant to work.

I was simply asking for the...canonical...documented reference that lists any requirements expected of nominees because what I could find on the wiki isn't particularly clear on the matter and I didn't want to make an assumption as to what is required. If a mailinglist post is the reference of merit.. so be it.

-jef

Membership structures in Debian and Ubuntu

Posted Aug 2, 2010 22:04 UTC (Mon) by rhertzog (subscriber, #4671) [Link]

Scott, that information comes straight from https://wiki.ubuntu.com/TechnicalBoard and has been confirmed by Martin Pitt (he's a member of the board, he should know). I asked him to confirm because it was somewhat in contradiction with https://wiki.ubuntu.com/CommunityCouncil/Restaffing and I wondered what the real rules were.

Thanks for clearing up though. There's still some room to improve the documentation apparently. :-)

Technical Board Membership (Canonical + Debian)

Posted Aug 3, 2010 12:01 UTC (Tue) by sladen (subscriber, #27402) [Link]

  1. If one scrapes the Launchpad database it is possible to discover that 100% of the current Ubuntu Technical Board have a past/current relationship with Canonical.
  2. If one scrapes the db.debian.org database it is possible to discover that 100% of the current Ubuntu Technical Board have a past/current relationship with Debian.
...if would appear that both Debian and Canonical have had an equal success in infiltrating the Ubuntu Technical Board!

Technical Board Membership (Canonical + Debian)

Posted Aug 3, 2010 12:45 UTC (Tue) by rhertzog (subscriber, #4671) [Link]

:-)

And two out of the seven members of the Debian Technical Committee work or have worked for Ubuntu/Canonical (Steve Langasek and Ian Jackson). But there's no common member between Ubuntu's TB and Debian's TC.

http://www.debian.org/intro/organization

Technical Board Membership (Canonical + Debian)

Posted Aug 3, 2010 18:33 UTC (Tue) by keybuk (subscriber, #18473) [Link]

Though Bdale Garbee has an honorary non-member role on the Ubuntu Technical Board

Membership structures in Debian and Ubuntu

Posted Aug 3, 2010 20:02 UTC (Tue) by markshuttle (subscriber, #22379) [Link]

The general pattern of delegation of responsibility in Ubuntu is as follows:

When we identify an area of the project ("Foo") that needs more focused and specialist governance we try to create *two* teams: one of Foo Members who have made a substantial and sustained contribution in that area, and one governance group, like a Foo Council.

The Foo Members team is created as a member in Ubuntu Members, so anybody who is added to Foo Members becomes an Ubuntu Member by virtue of that. We try to populate that initially with folks who meet the requirements for membership and are known to understand that area well: they are typically people who are voices for calm and competence, and heavy lifters in the area Foo.

We then seek nominations for the Foo Council. Anybody can nominate anyone, including themselves.

The group who is delegating authority then puts together a shortlist of the nominations. We *always* retain the right to shortlist, i.e. we do not put forward all nominees to the poll. Shortlisting means we exercise a level of judgment on the candidates who get to be considered. We then generally put the shortlist to a poll.

The poll can take many forms. Sometimes we nominate a single candidate, and the poll is a vote of confidence; we would not appoint someone who fails that test. Sometimes, it's a runoff, when we nominate m+n folks for m seats, and then we generally use Condorcet voting.

The structure isn't always this straightforward, but the pattern is consistent. For example, the LoCo structure is richer than this, because you have a LoCo council and then LoCo leadership teams per loco. The Forums governance structure has a Council, Moderators and Members. IRC has a Council, global ops, channel-specific ops, and members. The development structures are more complex because as Raphael described we have several different ways to delegate upload and commit permissions. But in each case you'll see the same basic pattern: the delegator nominates leaders who are put to some sort of poll of pre-identified contributors in the relevant area.

In my capacity as founder and head of the project, I play the role of nominating candidates for the two most senior bodies: CC and TB.

I'm on record as having a strong desire to see Canonical balanced by non-Canonical voices on both groups. In the CC we have been able to achieve this: we have a very deep pool of leadership talent with skill and insight into the social and governance aspects of the project. There are more non-Canonical folks than Canonical folks on the CC.

In the TB, we haven't achieved it. But not for lack of trying. The TB roles are widely viewed as requiring generalist distribution developer skills that apply to only a small group of people in the world. You'd need to be a long-standing, active Debian or Ubuntu developer (though I suppose an excellent contributor to another distro might qualify, they'd need to demonstrate insight into Ubuntu and Debian that would be highly unusual in a top developer who spent most of their day on another distro).

I would estimate there are probably less than 100 people across Ubuntu and Debian who might qualify. We have a standing ex honore seat on the TB for a representative from Debian's Technical Committee, currently filled by Bdale Garbee of tie-die fame. But other than the Debian representative, all the posts are filled by folks who work full time on Ubuntu and Debian. There are not that many of them, and those that are, mostly work for Canonical. We've held several rounds of nominations, I don't recall ever having removed from the shortlist someone even vaguely qualified who did not work for Canonical.

So, I hope you'll grant me the benefit of the doubt: there's no desire to lock the TB down to Canonical, there just have not been folks willing and able to step into those shoes who didn't. As keybuk said, mjg59 served brilliantly if acerbically for some time, and is missed and welcome back any day (subject to confirmatory poll ;-)).

Apostrophes do not indicate plurality

Posted Aug 2, 2010 17:32 UTC (Mon) by kpfleming (subscriber, #23250) [Link]

The 'teaser' article that leads to this story says that it is for "subscriber's only". Tsk-tsk. :-)

Membership structures in Debian and Ubuntu

Posted Aug 5, 2010 3:41 UTC (Thu) by maco (guest, #53641) [Link]

Also interesting would be the number of people who hold membership positions in both projects.

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds