Today I received a mail asking me to give him some advice on how to become a Debian Maintainer and Debian Developer, I am glad to hear more people getting interested on joining Debian, :-)
The 1st thing to keep in mind is that, involving Debian’s development is easy, but becoming something _official_ requires a lot of time and efforts, so just be patient, :)
Here are my advices:
1. Become a regular user of Debian (use it to do your everyday work as much as possible, in other word you have to be a user before you are a developer).
2. Learn to make Debian package by reading Debian New Maintainer’s Guide[1]. This step gives you some basic ideas and methods on how to package software for Debian, but it’s still a bit far from making your package fits the Debian standards. You can find an existing package to work on it independently and then compare your work with the official one so you can find if there is any thing you still don’t know yet. Please don’t make very complex package here because it may just cost you many time on figuring out problems. It’ll be good if you ask some skilled people to give their opinions on your work (and in fact you can ask at any time before, during and after the process).
3. Find a software that you are interested in packaging it, and make sure you have enough knowledge/time to make and maintain it in the foreseeable future, if you can’t do either of the two you should find another one to work on. Then, package it and check for any problems you can find, never try to hide problems when you are stucked, what you need to is do is just asking others for advice and mentoring, :)
4. When you believe your package is made to the best condition that you can do, find an official Debian Developer to check your package and to see whether it’s ready to become part of Debian release (he’s called a _sponsor_).
If there is one would like to help, he would do a throughout check on your package and find problems (and land mines) as much as he can. He might reject your package and ask you for improvements, then don’t be shy and just do what he has advised (DDs always think it is a good time to train new maintainers) and send your result back. Finally he is satisfied and uploads you package to Debian archive.
Try to get your first package uploaded as soon as possible if you’d like to achieve your aim at becoming DM/DD.
You’ll have to read Debian Policy Manual[2] if you haven’t read it yet, and you may need to read it for several times while you are making your package. If you have enough time, it’ll be better if you read Debian Developers Reference[3] as well.
5. It does not mean you can be a DM as your first (or even more) package being uploaded. Your sponsor must be convinced that you have the ability to manage upcoming updates and bug reports for some specific package and then he would be happy to advocate you. This could usually be achieved by several good uploads (means he is satisfied with your work and nothing is required to be changed) and some bug management (optional). You can talk to your sponsor about advocating you to be a DM when you see fit.
6. It’s a requirement that your GPG key is signed by at least one Debian Developer and your key must be 2048R or stronger. If you don’t have, try to get one while you are processing the previous steps. Key signing does not need any skill-based judgment and you only need to find and meet some Debian Developers so they can check your identity.
So you are a DM after some time of hard work, then you could plan on becoming a DD now. Being a DD is much more complex than becoming a DM, since you’ll have many privileges and people have to make sure you have the ability to use it correctly. You’ll need to read through all Debian documents and read/ask again about the details then.
[1]http://www.debian.org/doc/maint-guide/
[2]http://www.debian.org/doc/debian-policy/
[3]http://www.debian.org/doc/developers-reference/
mentors.debian.net – easy way
mentors.d.n is a great place, but IMHO it’s not sufficient for mentoring a new DM/DD, :)
As someone who has started to work recently on its first debian package ( now in the archive ) I would even advise in 3., either to join a RFP/ITP to help get it into debian, or join a team where you have the feeling the package in sid is outdated.
The learning curve of debian packaging/debian internal is *steep*, better doing it as part of a team.
Yes, thanks for your advice.