Help Debian!
Contributing to Debian isn't as hard as it looks. There are many ways to make a difference, but it's sometimes difficult to find your way. This page tries to give directions.
Why should you contribute to Debian?
If you are reading this page, you are probably already using Debian, so you already know part of the answer. For a developer, Debian is really a fantastic project to work on. Debian gathers more than 500 active developers and many more contributors from all over the world ([http://www.debian.org/devel/developers.loc see this map]), all dedicated to building an high-quality, free and universal operating system. Debian Developers are volunteers (the project is totally controlled by the Developers) and form a friendly and welcoming community (pictures from the seven past annual Debconfs are a good proof of that).
Inside Debian, it is possible to work on very different aspects (and to work on several of those at the same time). You could work on low-level stuff while helping porting Debian to exotic architectures (Debian supports more than 10 architectures), or package the next cool scripting language. You can work on server stuff, or desktop stuff. You can also work on things that are not stricto sensu programming, like translations (Debian's installer supports more than 60 languages). In short: join Debian, you can always find an interesting project inside it!
What do you want to do?
You want to work on a specific package (or some specific packages) already in Debian
Many packages are maintained by teams. There are teams for games, GNOME, KDE, Python, Ruby, fonts, ... Most teams are listed on [:Teams:the Teams wiki page]. If the packages you are interested in are already maintained by a team, it's easy: just contact the team members and see how you can help. Teams usually welcome new contributors, and are very responsive.
If the package you are interested in is not maintained by a team, it might be harder. While many maintainers are very responsive, and will welcome your help, some maintainers might be too busy or inactive, and might ignore your help. Don't allow this to discourage you!
You want to package new software for Debian
You can maintain packages in Debian, even without being a Debian Developer (your uploads will be sponsored by a Debian Developer). You have to read the documentation (start with the [http://www.debian.org/doc/maint-guide/ Debian New Maintainers' Guide] and the [http://www.debian.org/doc/developers-reference/ Debian Developers Reference]), then prepare your package, and finally, to find a sponsor. Be aware that finding a sponsor is a very difficult step: this is a big bottleneck in Debian currently. So it is important to make your sponsor's task as easy as possible, by preparing a perfect package
If your package could be maintained by a team ([:Teams:list of teams on the Teams page]), it is a very good idea to contact it. They could help you with specific problems, and it will probably be easier to find a sponsor inside the team.
You want to improve Debian in general, not focus on a specific package
There are many ways to help Debian without focusing on a specific package, like Quality Assurance (-> [:qa.debian.org/Join:how to help the QA team]), translations, documentation, ... but the easiest one is to help with bugs. Most newcomers in Debian don't understand how central the Bug Tracking System is. Actually, it's where most of the interesting stuff happens.
When looking for a bug to fix, there are several things to consider:
- The bug shouldn't be too hard to fix. Debian has some very difficult bugs, and it's probably a bad idea to start with those! The only way to avoid those is to not discourage yourself if you don't manage to fix a bug. Just send a mail to the bug summarize your progress (if you made some), and move to the next bug.
- The bug should be in a package that is actively maintained, or serious enough to get someone else interested in fixing it. If the maintainer is inactive, your patch might sleep on the Bug Tracking System for months, which is not very interesting for you. However, Release Critical bugs have a relaxed NMU policy (the rules for someone else to make an upload are less strict) so, if you fix one of those, it will be reasonably easy to find a sponsor for your upload.
To help you, some lists of bugs are available:
[http://bts.turmzimmer.net/details.php?bydist=sid&sortby=packages list of Release Critical bugs] (see the [:BSP: Bug Squashing Party] wiki page for more information about RC bug squashing)
- TODO list of "easy" bugs
Contacts and links
Useful IRC channels:
- #debian-qa on irc.debian.org: help with dealing with inactive maintainers, orphaned packages, etc.
- #debian-mentors on irc.debian.org: help with packaging problems
- #debian-bugs on irc.debian.org: help with bug fixing
Tools:
[http://packages.qa.debian.org/: Package Tracking System]: provides an overview of a given package, with links to all the useful resources
http://mentors.debian.net/: helps with finding sponsors
Documentation:
[http://www.debian.org/doc/maint-guide/ Debian New Maintainers' Guide]
[http://www.debian.org/doc/developers-reference/ Debian Developers Reference]
DebianDevelopment - list of a lot of resources about Debian Development
[http://www.debian.org/doc/debian-policy/ Debian Policy Manual]
[http://www.debian.org/Bugs/ Debian Bug Tracking System documentation]
The authors of this page:
Lucas Nussbaum <lucas@lucas-nussbaum.net>