Becoming a Debian developer

Tags: 

You are contributing to the Debian distribution already and consider becoming an official Debian developer? I'm sponsoring a lot of packages (I once was the third most diligent sponsor) and there almost always comes a time that I get asked: "Actually I would like to become a Debian Developer (DD) myself. What do you think? Do you help me?" I hate that question! ;) Let me explain why.

In many cases I would not recommend sponsorees to become a Debian Developer. But before you are disappointed please read my opinion about motivations, skills and wasting time:

Motivation: Why do you want to become a DD?

In most cases I experienced the reason why maintainers wanted to become a DD was pretty simple: they were sick of looking for a sponsor to upload their package(s). Sponsorship has often be a problem. And I'm trying hard to help maintainers get their packages into Debian without the need to become a DD themselves

I want to upload packages without a sponsor

Yes, being a DD gives you the ability to upload packages yourself. Sounds great, doesn't it? No more looking for a sponsor who disappeared, is on vacation or just did a one-time upload. Finally you can work on the packages whenever you want.

On the other hand it's often just the frustration about unreliable sponsors. Many people have found reliable sponsors who are interested in the package. Doing a subsequent upload (new revision or upstream release) is often not more than 5-10 minutes of work for a sponsor. So if you found a sponsor once you are likely to get new revisions of the same package sponsored easily.

A sponsor might have also help you gain more experience in package maintenance. There are so many fields where you can upgrade your skills. debconf, quilt, pbuilder, multi-binary packages etc. And your sponsor will double-check your packages. You always have a security net behind you. If you become a DD you will probably need to check your package much more thorougly. You can easily break things in other packages, too, if you are not careful.

If uploading packages is the main reason you want to become a Debian developer then take a look the role called "Debian Maintainer" that was introduced in 2007. It allows you to upload packages after a sponsor has once certified that the package is okay. Becoming a Debian Maintainer is far easier than becoming a Debian developer.

I want to be part of the community

Many people would not admit it. But often it's indeed the hunt for a fancy @debian.org email address. You have spent months of your spare time to help in Debian. But there is no reward. You gain no special status for your voluntary effort. You rather want to show others that you are not John Doe end-user but someone special.

While I understand well that you'd like some kind of "certificate" that shows your affinty with the Debian project you might have the wrong motivation to be a DD. Most work in open source projects is not honored properly - it's all about having fun. Nobody is stupid enough to do work for free that isn't fun. But I believe that having a @debian.org address is no sufficient satisfaction or "payment" for your work. Although I admit that I draw personal satisfaction from feedback of end-users about the quality of Debian. So of course it's somehow about being admired by other people.

I want to learn more and get to know more people in Debian

You will surely learn a lot during your work for Debian. But do not expect that the NM process will teach you a lot. You will get asked a lot. But it's not a time of mentoring and studies. A DD once said that the best way to become a DD is being part of the community already. People should know you and your work. Have you submitted translations or patches? Are you known for a special .debian.net service that you invented? Have you contributed good ideas on debian-devel@lists.d.o? Have you helped organize events? Have you helped to mediate in flamewars? If you are already recognized as an "asset" to the Debian project then things are much easier.

What are the requirements for becoming a DD?

By now you probably believe that I discourage everyone from becoming a DD. That's not my intent. But the NM (new maintainer's) process has become pretty tough over the years though because the project needs quality - not quantity. I heard the front desk say that a new developer is another person who might introduce new bugs, cause trouble and steal time. Of course there are people who maintain 20 very important packages, introduce great new ideas and push Debian forward.

I believe that everybody should be given the chance to become a DD. There are a few people responsible for the currently pretty complex NM process who will decide your destiny:

  • The advocate is someone who has worked with your closely over a period of time (>6 months) and who certifies that you are well-skilled and an asset for Debian. Sponsoring a package once or twice doesn't really qualify here.

  • The application manager (AM) that you get assigned will do a lot of Q&A with you and have you perform several tasks to get an impression of your skills and motivation, habits, social interaction, experience etc.

  • The front desk (FD) will later review the report from your AM and see if it's sufficient. If the FD decides you should become a DD the

  • debian account manager (DAM) will be asked to create an account for you.

So if you ask me to be your advocate (what this is all about) you see that I'm only the smallest part in the whole process. Even if I testify that you are the greatest geek alive my opinion does not have much weight. You mainly need an advocate to get an AM assigned. And it's the AM's duty to test you. I assume that many applicants spend a lot of time in the NM process (it has taken over a year for me - I would expect it would take half a year in the average for you) and finally get rejected because they didn't meet the requirements.

I have seen some people who's names I read on mailing lists, IRC channels and packages time and again. They propose changes that really address problems. I could have sworn they were already DDs but actually they were not. In my opinion these are the people who should become a DD.

Boring conclusion

It boils down to one question: "What can you do as a DD that you can't do now?" As a DD you can upload packages yourself. That's obvious. You get accounts on several machines with different architectures that may help you test your packages and nail down problems on different architectures. You get the chance to vote in the next Debian project leader (DPL) election. You'll get tons of spam on your @debian.org address. ;)

If these are things you are interested in and you feel that you have enough experience with different parts of Debian then consider becoming a DD. If it's just about uploading packages then consider becoming a DM (Debian Maintainer). Most work in Debian can be done without a fancy DD status. So if you just like to send in bugs, contribute translations, maintain a package and discuss on the Debian mailing lists - then becoming a DD is overkill. We will love you for who you are - not fancy tags in your email signature.

Decide for yourself.