Tag Archives: Debian

Understanding Membership Structures in Debian and Ubuntu

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!

The Ubuntu Case

Ubuntu 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 the @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 on 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, Mythubuntu, 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, while not intended, is not surprising given the high expectations set on potential members of the technical board. Mark, as the founder, is 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 if 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 on 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 that 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 in the Uploaders field of a 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 by 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. Hopefully, the next episode of this saga will have a better outcome.

This article was first published in Linux Weekly News. In a comment, Mark Shuttleworth tried to explain how the Ubuntu community is being setup.
  • Share/Bookmark
Posted in Debian News, News, Ubuntu News | Tagged , , | 10 Comments

Do You Want a Free Debian Book? Read on.

Cover of my French Debian BookWhile I have made good progress on many of my Debian goals for this year, it’s not the case for the goal number #1: translating my Debian book into English. The picture on the left is the cover of the current French version based on Debian Lenny (450 pages). But the translation would be based on the next edition that we’re currently preparing and it’s based on Debian Squeeze of course! We have already translated the table of contents so that you can get an idea of what’s in the book. Note that many parts of the book apply to Ubuntu as well.

It’s quite difficult for Roland and me to allocate several months of our life to such a huge task without any income in that period and without knowing if our book will sell enough to cover for the time invested. For those reasons, we’re considering using a service like kickstarter.com or ulule.com or yooook.net to get this project funded.

If you don’t know those services, they allow you to present your project and to collect pledges so that you can safely complete your project. The money pledged is distributed only if the total amount pledged exceeds the minimal funding level (set by the project creator). Furthermore you can select nice rewards depending on the amount of money pledged.

To make things even more exciting we are ready to publish the book under a DFSG-compatible license at the sole condition that we reach 25 000€ of donations. That might look like a lot but in fact it’s only 5€ donated by 5000 persons and then everybody benefits! And for the authors, you have to remove ~10% of fees taken by the funding service (including card processing fees), 16.4% VAT, 9% social taxes and if you consider that the project represents a minimum of 6 months of work, that ends up to at most 2850 €/month. We believe this to be reasonable.

The next step for us is to pick the service to use and setup the fundraising. We need your input. Please answer a few questions by filling this form.

In all cases, we will have those rewards and probably more:

  • the book in digital format (PDF, HTML, ePub) (between 5€ and 10€, price not fixed yet)
  • the book as paperback (between 35€ and 50€, price not fixed yet)
  • the paperback book with a dedication by (one of) the authors

A few considerations about the various services: Kickstarter.com is a great service but it’s restricted to US-residents so it’s complicated for us to use that service since we’re French (and live in France) and the supporters need to have an Amazon (payments) account. Ulule.com is open to anyone for project creation but uses a paypal API to deal with the pledge mechanism and thus imposes that all supporters have a paypal account. Is that requirement likely to scare you away? Yooook.net is specialized in liberation fundraising but the interface is not very polished, they don’t offer (many) social features nor do they give a public listing of the projects hosted.

The choice is difficult and thus we’re seeking your feedback to make the right one, take a few minutes and answer our questions: click here to go to the form.

Thank you for your help and please spread the word so that we get enough answers to have meaningful results.

Update: it has been brought to my attention that kickstarter requires an Amazon (payments) account. I fixed my article and the form to document this.

I have also been asked what license we’re going to use. It’s likely to be dual-licensed GPL2+ / CC-BY-SA 3.0.

  • Share/Bookmark
Posted in Action | Tagged , , , , | 9 Comments

Ubuntu default bookmarks pointing to Debian

Just noticed that the default bookmarks in Ubuntu include one entry pointing back to Debian. It even says that Ubuntu is based on Debian.

It’s a small thing but it made my day. It’s nice to see this kind of acknowledgement.

Click on the screenshot to see the picture in full size (and yes, most favicons suck with a dark background). For those wondering, the screenshot is taken on a default install of Ubuntu 10.04 Netbook Edition.

  • Share/Bookmark
Posted in News | Tagged , , | 5 Comments

Quick news: dpkg, collab-maint, alioth and the future

Dpkg got rid of Perl

Let’s start with the interesting part and the great news: dpkg 1.15.8 (to be uploaded soon) will no longer need perl! After my changes to rewrite update-alternatives in C, Guillem recently pushed the rewrite of dpkg-divert/mksplit in C. Please test it out (binary package for i386 or .dsc).

This is rather exciting news for those who would like to use dpkg in embedded contexts. And it’s great to see this completed in time for Squeeze. In Squeeze+1, we might go one step further and merge cdebconf, the C replacement for debconf.

I got rid of some recurring administrative tasks

I have been administrating the Alioth server since its inception (see the announce I sent in 2003) but I’m no longer enjoying the day-to-day administrative work that it represents. That’s why I just retired from the team. We recently recruited Tollef Fog Heen so the number of admins is still the same (that said, Alioth could benefit from some more help, if you’re a DD and interested, drop a mail to admin@alioth.debian.org or come to #alioth).

Same goes for the collab-maint project. I have dealt with hundreds of requests to add new contributors to the project since it’s the central repository where all Debian developers have write access and where they put the VCS for their packages that do not belong to a more specialized team. The new administrator that will approve the requests is Xavier Oswald and he’s doing the work under the umbrella of the New Maintainer’s Front Desk.

The future

I will continue to spend the same amount of time on Debian, the time freed will quickly be reallocated to other Debian and free software related projects. In fact, I even anticipated a bit by launching Flattr FOSS last week but that’s a relatively simple project. :-)

The other projects that will never all fit in the freed time: I want to spend more time working on dpkg. I do plan to blog more often too, but I’m sure you’ll notice that yourself soon. I would like to see my Debian book translated into English (another post coming on the topic sometimes soon). In my dreams, I could even start yet another software project, I have some ideas that I really would like to see implemented but I don’t see how that could fit in this year’s planning… unless I can convince someone else to implement them! Maybe I should blog about them.

  • Share/Bookmark
Posted in Debian News | Tagged , , , | 5 Comments

Joining Ubuntu as a Debian developer

I’m a Debian developer since 1998 and have been fostering cooperation between Debian and Ubuntu since its inception with various levels of success.

I recently decided to go one step further and join Ubuntu as an official member. I wanted to be able to vote and to promote best cooperation practices from the Ubuntu side as well (and not only in Debian). Joining as a Debian developer should be relatively easy, it is well known in the Debian community that Mark Shuttleworth once said:

Every Debian developer is also an Ubuntu developer, because one way to contribute to Ubuntu is to contribute to Debian.

So I sought to verify that too! Here’s the result.

I prepared my application page collecting 2 testimonials from Lucas Nussbaum and Colin Watson, I registered for the next EMEA membership meeting (which happened yesterday, irc logs here), and I attended. (I just followed the instructions on the wiki)

During the meeting, when it was my turn, I pasted my short introduction and got immediately +1 votes from several board members, they didn’t even want to hear from me, they were already convinced. :-) I still responded to a few questions and elaborated on my goals and was promptly accepted even if I made it clear that my technical contributions will continue to be done within Debian.

A few minutes later I was added to the ubuntumembers launchpad group and this morning I followed the instructions to add my feed to Planet Ubuntu and here I am…

The whole process has been very smooth and the meeting shows a very welcoming attitude. Even someone who was denied the Ubuntu member status was cheered for his work and encouraged to try again when he can present some testimonials from other members.

Hello Planet Ubuntu!

  • Share/Bookmark
Posted in News | Tagged , , | 12 Comments

Reorganization of my blog, please update your feeds

Up to now I had a single blog hosted on ouaza.com, I used to blog in French and in English on many topics, even though free software and Debian was the main topic. Sometimes I avoided blogging on something because it would not really match the expectations of my readers (and of the various planets syndicating my blog). And I have always been annoyed by the fact that English readers were second-class on my blog because everything was configured in French.

So I decided to fix this once for all, I have created two new blogs in addition to ouaza.com. The latter is now my private blog (in French) with everything that is not free software related. And free software will be the topic of my 2 new blogs :

I have setup some HTTP redirections on various feed URLs but if you were subscribed to my main feed, you’re now redirected to the new English feed and you might want to subscribe to the French one to continue reading my articles in French. In any case, you might want to update the feed URL that you used.

I also profited from this reorganization to switch to WordPress 3.0 and the 3 blogs are hosted on the same installation thanks to the new multisite feature and to the domain mapping plugin. The main regression in those changes is that I’m back to the (new) default theme of WordPress with the standard header image. I would like to personalize them but I have no graphics skills… but if you do and would like to work on this for me, please get in touch. I’ll make sure you get your pony in return. :-)

More changes concerning those blogs are in the pipe but that will be the topic of other posts. Thanks for following !

  • Share/Bookmark
Posted in Meta | Tagged , , | Comments Off

About the Debian Community Poll

While I find the idea interesting, several of the questions can’t be correctly answered because the proposed choices are not realistic or too limited.

On the question of the usage of money, I believe we should spend money to fund important projects but I don’t want to fund “people having important positions in Debian and doing important work”. What should I reply? (Granted, there’s the other item but that doesn’t help getting a clear picture of the answers)

On the question “Do you prefer time based releases instead of the «it’s ready when it’s ready» releases?”, it is putting two concepts in opposition when the release managers recently proposed a third way that combines both: “time based freezes and release when it’s ready”. This is what I want and I can’t adequately express it either in the current poll.

  • Share/Bookmark
Posted in Opinions | Tagged | 4 Comments

Rewriting update-alternatives in C

Among the goals listed in dpkg’s roadmap, there’s the C rewrite of the remaining perl scripts provided by the dpkg binary package (dpkg-dev is not concerned, it will remain a collection of perl scripts). Of the remaining scripts, update-alternatives was the largest piece of code (~1100 lines of perl) and I started converting it to C a few weeks ago (based on preliminary work of Guillem). It’s now 2200 lines of C…

Thanks to the relatively extensive test-suite that I wrote last year, I’m relatively confident that this new update-alternatives won’t break your system. That said, it still needs some real-life usage to ensure everything is really ok (and users actively trying to break it are even better). Thus I would be glad if you could try it out ( binary package for i386 or .dsc) and report back to debian-dpkg@lists.debian.org.

The rewrite of the 2 other remaining scripts is almost completed in a branch of Guillem. Hopefully this can be our last project completed in time for Squeeze as far as dpkg goes. It would be a great achievement for people that would like to use dpkg in embedded environments and avoid perl due to its size.

Note: nobody sponsored that work. But it’s not too late :-)

  • Share/Bookmark
Posted in Debian News | Tagged , | 7 Comments

Open money and Debian

I recently read an introductory article in an IT magazine on the increased usage of new currencies. It briefly mentioned the work of a researcher called Arthur Brock in using those currencies within open source communities. While I did not find more details on the research, it led me to think again about Debian’s relation with money.

The reason why we have troubles using money to pay the time spent by our developers is that money is scarce and it’s thus next to impossible to be fair in the way money is spent among us. So why not invent a new currency that is not scarce and that would encourage the kind of work that we really value? Apparently there is free software out there to build new currencies: see metacurrency.org or openmoney.org. Let’s call the new currency “swirly/swirlies” for the sake of the examples below.

There are then multiple ways to create a small economy within the community and/or even create bridges with the national currencies:

  • we could have auctions (priced in swirlies) to redistribute goods among us (say I have this unused laptop and I want to give it away to someone who could make use of it within Debian)
  • Debian sponsors/partners could offer discounts codes on their products and Debian would exchange them against the Debian-specific currency (inspired by community way);
  • swirlies could be used to get funding to attend debconf and/or other meetings;
  • we could donate our swirlies as bounties on important projects that we want to see implemented, we could even grant swirlies to release managers to help them drive the project towards a release (they would not end up in their accounts but they could use them to motivate people to work on release blockers);

I’m sure we can come up with many similar ideas. Feel free to share yours in the comments.

  • Share/Bookmark
Posted in Ideas | Tagged , | 9 Comments

Debian related goals for 2010

Here’s stuff that I’d like to do this year, more or less by decreasing order of importance:

  • translate my Debian book into English and get it published;
  • finish the cleanup of the perl API in dpkg-dev in order to create libdpkg-perl;
  • create dpkg-buildflags to export default build flags that packages should use (and get rid of the code setting those environment variables in dpkg-buildpackage), needed to properly fix #489771;
  • ensure the new source formats continue to gain acceptance by improving whatever is needed;
  • design a generic vcs-buildpackage infrastructure to be integrated in dpkg-dev. This design will probably happen through a DEP (Debian Enhancement Proposal) to ensure we have had proper discussion before someone gets to the implementation;
  • continue fixing dpkg bugs faster than they are reported;
  • enhance our infrastructure to ease interaction between contributors and to have a better view of how each package is maintained (see my last blog entry on this topic);
  • update the developers-reference where needed and fix some of the numerous wishlist bugs;
  • rewrite in C the last perl scripts provided by the dpkg binary package (update-alternatives/mksplit mainly, for dpkg-divert there’s a preliminary patch available already) so that it’s easier to build a minimal system without perl-base;
  • integrate the 3-way merge tool for Debian changelogs in dpkg-dev;

All of this probably doesn’t fit in my free time (being a father since last month does not help increasing my free time :-) ), so if you’re interested in seeing one or more of those projects completed, and if you know some person/company that could sponsor them, get in touch with me!

  • Share/Bookmark
Posted in Projects | Tagged , , | Comments Off