This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature

Becoming a Debian developer

By Bruce Byfield on February 03, 2005 (8:00:00 AM)

Share    Print    Comments   

So you want to be a Debian developer? You're not the only one. Preparing software packages for the distribution, writing documentation, and testing a release are all endless, thankless tasks. Yet, at any given time, hundreds have applied to do them. However, before candidates are trusted with such tasks, they have to prove not only their programming skills, but also their understanding of Debian processes and philosophy. The process takes months, and there are few exceptions.

Becoming a developer is not the only way to contribute to Debian. Translations and help for users are always needed. Anyone, too, can enter a bug, comment on one, or submit patches.

In fact, Martin Michlmayr, Debian Project Leader and a member of the New Maintainer Committee, strongly advises anyone interested in becoming a developer to make other contributions to Debian first. That way, they can learn what they need to know beforehand. They can also decide whether they are willing to commit the necessary time. Inactive developers are a continual problem, especially with package maintenance, and candidates who know what to expect are less likely to drop out after being accepted.

Just as importantly, because developers have access to the main servers, an important part of the processing of new developers is establishing that they are trustworthy. As Michlmayr notes, "[If] applicants have no track record at all, it will take much longer to establish this trust." In particular, unknown candidates are likely to be unable to complete the first step of the process, which requires finding existing developers to recommend them.

Yet, despite the obstacles, for many, becoming a developer is the ultimate goal. Asked their motivations, candidates start by talking about a wish to contribute and to assume greater responsibility.

When pressed, though, many add that they also desire the status of the position. The status lies not just the cool factor of having a Debian email address -- although several privately admit, half-jokingly, to lusting after one -- but a belief that only developers are taken seriously within the Debian project. Those who want to advocate policy change or to become a Debian officer often feel that becoming a developer is a necessary first step.

One way or the other, most would probably agree with Matthew Palmer, one of more than 50 Application Managers who help to process candidates, that being a Debian developer is a "mark of honour."

Applying to become a new developer is as simple as entering your name and email address. However, before an application is considered, candidates have to fulfill several prerequisites designed to ensure each candidate's competence and trustworthiness:

  • Candidates must agree to follow the Debian Social Contract and the Debian Free Software Guidelines in their work for the project.
  • Candidates must prove their identity by having at least one Debian Developer sign their GPG key. In extreme cases, a scanned driver's license or passport is accepted, but being well enough known to have your key signed makes meeting the rest of the prerequisites easier to meet as well. Perhaps it also prepares candidates for the key-signing parties that are an inevitable part of any gathering of the Debian community.
  • Candidates need to prove that they can do the required work. The easiest way to provide this proof is by finding a sponsor to oversee their work. For example, candidates who wish to become maintainers can be assigned an existing package or have their sponsor introduce a package that they have developed into the Debian archives. Although candidates cannot upload their work, and it is checked before being used, this requirement helps them understand exactly what they are volunteering for. If their interest is release management or quality assurance, Matthew Palmer suggests they may not wish to go any further. According to Palmer, many of "the best teams in Debian" consist mostly of non-maintainers working at this level.
  • Candidates must have an advocate to recommend them. Usually, the advocate is the candidate's sponsor, the Debian Maintainer who knows a candidate's work the best. Other advocates may be friends or acquaintances from the mailing lists or IRC channels.

Once an application is accepted, candidates are assigned to an Application Manager who will guide them through the process. Since candidates outnumber Application Managers by more than 10 to one, applications are often delayed until an Application Manager is free. Currently, for example, 39 are waiting to be assigned to an Application Manager, and another eight are waiting for the first contact by their Application Manager.

The Application Manager's first job is to test a candidate's knowledge of Debian Philosophy and Procedures (P&P). Helen Faulkner, one of the handful of current female candidates, who has been describing her progress for several months in a series of emails to the Debian Women list, explains that her Application Manager sent her a series of 30 questions that took her several nights to complete:

My P&P questions started with the necessary stuff about understanding the Debian Social Contract and the DFSG (Debian Free Software Guidelines). Then they moved on to some fairly difficult questions about licensing issues. Then there were a long string of questions about details of the normal Debian practises for things like handling bug reports, non-maintainer uploads, internationalisation of packages, and so on.

A couple of weeks after Faulkner submitted her answers, her Application Manager responded in detail, and had her redo questions she had answered incorrectly, or without important details, until she passed. According to Faulkner, "This is fairly normal. ... My impression is that the P&P stage is basically more boring than actually difficult."

Once candidates pass the Philosophy and Procedures stage, the Application Manager tests them on the tasks that they want to do. For instance, a developer who wanted to maintain packages might be asked to prepare a package that has no current maintainer. Similarly, a candidate interested in documentation might be asked to update an existing document or produce a new one, while a tester might be asked to repair a specific bug.

When candidates have completed all these steps, the Application Manager writes a report to the New Maintainer Committee, including samples of candidates' work and their answers to the Philosophy and Procedures questions, and a recommendation of whether to accept them. The Committee then votes on final acceptance of each candidate, and successful candidates are assigned an email account by the Debian Account Manager.

Once or twice in the last five years, candidates have failed because the Committee believed they would be disruptive to the project or because their work was inconsistent, but, according to Matthew Palmer, "The pass rate for people who stick with the process is very close to 100%."

This is very different from the past, when the process was less formal. Then, Martin Michlmayr notes, as many as two out of three failed. Michlmayr suggests that the most important change is the requirement for an advocate -- presumably because it prejudges and discourages casual applications. By contrast, considering that the process often takes six to 10 months and can be delayed by a lack of Application Managers or the push to finish a release, those who persist are generally highly motivated.

According to Matthew Palmer, many who are interested never manage to find an advocate so that they can begin the process at all. Most candidates who fail simply drop out. Some may choose to work on other distributions. Others abandon the process because they lack the necessary skills or find the tasks less interesting than they thought. Still others find that the demands of the role require more time or effort than they are able to give. A few have never officially withdrawn their applications and continue to be listed as candidates after a couple of years, although, as Michlmayr points out, they are unlikely to ever contribute anything.

Today, the process of becoming a Debian Developer is more formal, even bureaucratic, than ever before. Much of the process seems to have evolved to weed out casual applicants who would waste project members' time, or who would disappear after being accepted, leaving packages or other work unofficially orphaned. The definition of a Debian Developer has also expanded in recent years to include documentation writers and quality assurance testers, and not just package maintainers.

Still, those who oversee the process or are involved in it see room for further improvement. Many think that too much emphasis is placed on the Debian philosophy. Michlmayr, for instance, suggests that if candidates were required to contribute before applying, some applications could be streamlined.

Others worry about the time the process takes. To prove the point, Ian Murdock, the founder of Debian, whose first name forms the second half of the distribution's name, declined an offer to be accepted immediately as a Debian Developer. Instead, he began the process in May 2004. He is still waiting to advance to the Philosophy and Procedures stage.

Yet most criticisms center around the social aspects of becoming involved. Although many of the requirements mirror the culture of Debian, another common complaint is that the process needs to introduce candidates to the community better. Conversely, Palmer and several others suggest that the process could also test candidates' ability to work with others and to resolve conflicts -- skills that can be too seldom displayed on Debian's outspoken, frequently acrimonious mailing lists.

And, in recent months, the Debian Women group has noted that, given that more than 99 percent of Debian Developers are male, the process of finding a sponsor or an advocate can be especially difficult for women. Part of Debian Women's purpose is to encourage more women to participate in Debian, and the group's efforts at demystifying the process are generally credited with the recent small rise in female candidates.

These criticisms aside, the process seems to serve Debian reasonably well. If the process is sometimes overly rigid and slow, it does help to ensure that most new recruits live up to Debian's long-established reputation for dependability. Considering the thousands of people involved in Debian development, that is no small accomplishment.

And if the process also contributes to the elitism that some people see in Debian, perhaps that is understandable. After completing such a demanding process, candidates can be forgiven for a sense of accomplishment and pride -- they've earned these feelings many times over.

Bruce Byfield is a computer journalist who writes regularly for Linux.com.

Share    Print    Comments   

Comments

on Becoming a Debian developer

Note: Comments are owned by the poster. We are not responsible for their content.

sooo..when will Sarge be released?

Posted by: Anonymous Coward on February 03, 2005 04:08 PM
Debian's quality speaks for itself. Apt works so well because of the well-maintained package archives. But debianers, a moldy old Stable distribution is worthless. We're at 31 months and counting since Woody was released. 12-18 months is more useful. At this rate Sarge will be obsolete before it's released. Perhaps a tad less hostility and elitism, and more getting back in the real world would be a good thing.

#

Re:sooo..when will Sarge be released?

Posted by: Anonymous Coward on February 03, 2005 09:09 PM
I'm so tired of this criticism. If you want new stuff, use a different distro or use "testing" or "unstable." The stable branch is for the 99% of companies out there that want something that works and is *stable*.

#

Re:sooo..when will Sarge be released?

Posted by: Anonymous Coward on February 03, 2005 09:41 PM
And I'm tired of this typical reply. Yes, I'm glad there is something as stabla as Debian Stable. I need it for production. But when I today want a new web server, Debian Stable really provides me packages that are too old now (think PHP e.g.).

It's just that Debian gets too big I guess. They'll have to adapt sooner or later imho. But 3 years for one stable version is really too long. Six months is of course too short, but 12-18 months would be nice indeed.

#

Re:sooo..when will Sarge be released?

Posted by: Anonymous Coward on February 03, 2005 11:43 PM
i would say they have already adapted. Teams around big packages are becoming the rule.
Mono and gnome especially.

The X strike force make a great job even if the bug count remain high you should look at what the fix rate was in 2003 and what it is today<nobr> <wbr></nobr>...

dpkg long awaited rewrite is on the go.

the problem you point was there two years ago, but now maintenair missing are quickly found, and more and more unmaintenaid packages are removed.

I don't expect the next release to take so long. Sarge is not only the ditrib upgrade but the project is "upgraded" too. New security packages queue, volatile archive experimented, the old awaited new multi arch installer ( getting the gtk version out is nothing compared to what is done), number of packages multiplied by 50.

I won't say everything shine , but its getting there. I too have some rants:
- i want xul supported as mono is . This would require a big work on mozilla, separate gecko<nobr> <wbr></nobr>... upstream is making the big work right now.
- a configuration managment : suse one ported to debian, g4c is near alpha , debcontrol has a good team around it on alioth .
- openldap out of the box. A lot of bugs with libtls are fixed. I expect the previous rant to be a prerequisite if we don't want RH like tools messing with pam .<nobr> <wbr></nobr>... and so on. None of those are missing from debian. The problem is just how long it will take (and maybe will Debian Developpers really be of any use whenever those are stable<nobr> <wbr></nobr>:)

Alban

#

Re:sooo..when will Sarge be released?

Posted by: Anonymous Coward on February 04, 2005 11:13 PM
Having deployed and maintained various systems I prefer older, more stable and (propably most important) long-life system. Having to do a complete upgrade of a system once a year (like, say RedHat, OpenBSD), dealing with broken things because of it etc. annoys me. It generates tons of unnecessary work. I admit that when deploying a new system it would be nice to have a relatively new set of packages (that why I'm already using sarge although sometimes it seems to be a bit risky). However, the thing I like the most in Debian is that system I'm deploying today propably won't have a forced major upgrade for at least 3 years.

#

Re:sooo..when will Sarge be released?

Posted by: Anonymous Coward on February 04, 2005 04:59 AM
Old != stable or more reliable. There's a reason updates and patches are issued on a regular basis- because old = poo. I would like a reliable 12-month release cycle. Given the pace of Linux/F/OSS development, even 18 months is stretching it.

#

That should apply to the existing Developers also

Posted by: Anonymous Coward on February 03, 2005 06:51 PM
Could the Debian people please apply all this to the existing staff also?

That could wash out the morons ignoring the multiple security and usability issues debian is facing.

#

developer?

Posted by: flacco on February 03, 2005 08:50 PM
i'd be happy with an out-of-the-box ldap authentication package that doesn't make you want to drive a nail through your testicle.

#

Re:developer?

Posted by: Anonymous Coward on February 04, 2005 04:56 AM
LOL! I don't believe you can blame Debian for LDAP.<nobr> <wbr></nobr>:) I do agree with the sentiment- a nice, ready-to-go LDAP implementation would be a lovely thing to have.

#

Re:developer?

Posted by: Anonymous Coward on February 10, 2005 05:30 AM
My friend, the part that saddens me the most is that you're down to a single testicle. Apparently LDAP has gotten the 'best of you' already...must have been a previous version.

#

Becoming a Debian developer

Posted by: Anonymous [ip: 216.232.243.231] on January 03, 2008 04:27 AM
how could one learn to program with no programming software i cant find any debian packages to install that are like visual c++ or visual studio and no documentation on how to actually programm could you plz help me

#

Becoming a Debian developer

Posted by: Anonymous [ip: 216.232.243.231] on January 03, 2008 04:29 AM
please send me an email with some information to nic_trista@hotmail.com i will reply this is in regards to the above msg about programming and the software and docs needed to learn

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya