167 lines
16 KiB
HTML
167 lines
16 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 2. Applying to Become a Maintainer</title><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" title="Debian Developer's Reference" /><link rel="up" href="index.html" title="Debian Developer's Reference" /><link rel="prev" href="scope.html" title="Chapter 1. Scope of This Document" /><link rel="next" href="developer-duties.html" title="Chapter 3. Debian Developer's Duties" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Applying to Become a Maintainer</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="scope.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="developer-duties.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 2. Applying to Become a Maintainer"><div class="titlepage"><div><div><h2 class="title"><a id="new-maintainer"></a>Chapter 2. Applying to Become a Maintainer</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="new-maintainer.html#getting-started">2.1. Getting started</a></span></dt><dt><span class="section"><a href="new-maintainer.html#mentors">2.2. Debian mentors and sponsors</a></span></dt><dt><span class="section"><a href="new-maintainer.html#registering">2.3. Registering as a Debian developer</a></span></dt></dl></div><div class="section" title="2.1. Getting started"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="getting-started"></a>2.1. Getting started</h2></div></div></div><p>
|
||
So, you've read all the documentation, you've gone through the <a class="ulink" href="http://www.debian.org/doc/maint-guide/" target="_top">Debian New Maintainers'
|
||
Guide</a>, understand what everything in the <code class="systemitem">hello</code> example package is for, and you're about to
|
||
Debianize your favorite piece of software. How do you actually become a Debian
|
||
developer so that your work can be incorporated into the Project?
|
||
</p><p>
|
||
Firstly, subscribe to <code class="email"><<a class="email" href="mailto:debian-devel@lists.debian.org">debian-devel@lists.debian.org</a>></code> if you haven't
|
||
already. Send the word <code class="literal">subscribe</code> in the
|
||
<code class="literal">Subject</code> of an email to
|
||
<code class="email"><<a class="email" href="mailto:debian-devel-REQUEST@lists.debian.org">debian-devel-REQUEST@lists.debian.org</a>></code>. In case of problems, contact the
|
||
list administrator at <code class="email"><<a class="email" href="mailto:listmaster@lists.debian.org">listmaster@lists.debian.org</a>></code>. More information on
|
||
available mailing lists can be found in <a class="xref" href="resources.html#mailing-lists" title="4.1. Mailing lists">Section 4.1, “Mailing lists”</a>.
|
||
<code class="email"><<a class="email" href="mailto:debian-devel-announce@lists.debian.org">debian-devel-announce@lists.debian.org</a>></code> is another list which is
|
||
mandatory for anyone who wishes to follow Debian's development.
|
||
</p><p>
|
||
You should subscribe and lurk (that is, read without posting) for a bit before
|
||
doing any coding, and you should post about your intentions to work on
|
||
something to avoid duplicated effort.
|
||
</p><p>
|
||
Another good list to subscribe to is <code class="email"><<a class="email" href="mailto:debian-mentors@lists.debian.org">debian-mentors@lists.debian.org</a>></code>.
|
||
See <a class="xref" href="new-maintainer.html#mentors" title="2.2. Debian mentors and sponsors">Section 2.2, “Debian mentors and sponsors”</a> for details. The IRC channel
|
||
<code class="literal">#debian</code> can also be helpful; see <a class="xref" href="resources.html#irc-channels" title="4.2. IRC channels">Section 4.2, “IRC channels”</a>.
|
||
</p><p>
|
||
When you know how you want to contribute to Debian GNU/Linux,
|
||
you should get in contact with existing Debian maintainers who are working on
|
||
similar tasks. That way, you can learn from experienced developers. For
|
||
example, if you are interested in packaging existing software for Debian, you
|
||
should try to get a sponsor. A sponsor will work together with you on your
|
||
package and upload it to the Debian archive once they are happy with the
|
||
packaging work you have done. You can find a sponsor by mailing the
|
||
<code class="email"><<a class="email" href="mailto:debian-mentors@lists.debian.org">debian-mentors@lists.debian.org</a>></code> mailing list, describing your package
|
||
and yourself and asking for a sponsor (see <a class="xref" href="beyond-pkging.html#sponsoring" title="7.5.1. Sponsoring packages">Section 7.5.1, “Sponsoring packages”</a> and
|
||
<a class="ulink" href="http://wiki.debian.org/DebianMentorsFaq" target="_top">http://wiki.debian.org/DebianMentorsFaq</a> for more information on
|
||
sponsoring). On the other hand, if you are interested in porting Debian to
|
||
alternative architectures or kernels you can subscribe to port specific mailing
|
||
lists and ask there how to get started. Finally, if you are interested in
|
||
documentation or Quality Assurance (QA) work you can join maintainers already
|
||
working on these tasks and submit patches and improvements.
|
||
</p><p>
|
||
One pitfall could be a too-generic local part in your mailadress: Terms like
|
||
mail, admin, root, master should be avoided, please see <a class="ulink" href="http://www.debian.org/MailingLists/" target="_top">http://www.debian.org/MailingLists/</a> for details.
|
||
</p></div><div class="section" title="2.2. Debian mentors and sponsors"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="mentors"></a>2.2. Debian mentors and sponsors</h2></div></div></div><p>
|
||
The mailing list <code class="email"><<a class="email" href="mailto:debian-mentors@lists.debian.org">debian-mentors@lists.debian.org</a>></code> has been set up for
|
||
novice maintainers who seek help with initial packaging and other
|
||
developer-related issues. Every new developer is invited to subscribe to that
|
||
list (see <a class="xref" href="resources.html#mailing-lists" title="4.1. Mailing lists">Section 4.1, “Mailing lists”</a> for details).
|
||
</p><p>
|
||
Those who prefer one-on-one help (e.g., via private email) should also post to
|
||
that list and an experienced developer will volunteer to help.
|
||
</p><p>
|
||
In addition, if you have some packages ready for inclusion in Debian, but are
|
||
waiting for your new maintainer application to go through, you might be able
|
||
find a sponsor to upload your package for you. Sponsors are people who are
|
||
official Debian Developers, and who are willing to criticize and upload your
|
||
packages for you. Please read the debian-mentors FAQ at <a class="ulink" href="http://wiki.debian.org/DebianMentorsFaq" target="_top">http://wiki.debian.org/DebianMentorsFaq</a> first.
|
||
</p><p>
|
||
If you wish to be a mentor and/or sponsor, more information is available in
|
||
<a class="xref" href="beyond-pkging.html#newmaint" title="7.5. Interacting with prospective Debian developers">Section 7.5, “Interacting with prospective Debian developers”</a>.
|
||
</p></div><div class="section" title="2.3. Registering as a Debian developer"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="registering"></a>2.3. Registering as a Debian developer</h2></div></div></div><p>
|
||
Before you decide to register with Debian GNU/Linux, you will
|
||
need to read all the information available at the <a class="ulink" href="http://www.debian.org/devel/join/newmaint" target="_top">New Maintainer's Corner</a>. It
|
||
describes in detail the preparations you have to do before you can register to
|
||
become a Debian developer. For example, before you apply, you have to read the
|
||
<a class="ulink" href="http://www.debian.org/social_contract" target="_top">Debian Social
|
||
Contract</a>. Registering as a developer means that you agree with and
|
||
pledge to uphold the Debian Social Contract; it is very important that
|
||
maintainers are in accord with the essential ideas behind
|
||
Debian GNU/Linux. Reading the <a class="ulink" href="http://www.gnu.org/gnu/manifesto.html" target="_top">GNU Manifesto</a> would also be
|
||
a good idea.
|
||
</p><p>
|
||
The process of registering as a developer is a process of verifying your
|
||
identity and intentions, and checking your technical skills. As the number of
|
||
people working on Debian GNU/Linux has grown to over
|
||
1000 and our systems are used in several
|
||
very important places, we have to be careful about being compromised.
|
||
Therefore, we need to verify new maintainers before we can give them accounts
|
||
on our servers and let them upload packages.
|
||
</p><p>
|
||
Before you actually register you should have shown that you can do competent
|
||
work and will be a good contributor. You show this by submitting patches
|
||
through the Bug Tracking System and having a package sponsored by an existing
|
||
Debian Developer for a while. Also, we expect that contributors are interested
|
||
in the whole project and not just in maintaining their own packages. If you
|
||
can help other maintainers by providing further information on a bug or even a
|
||
patch, then do so!
|
||
</p><p>
|
||
Registration requires that you are familiar with Debian's philosophy and
|
||
technical documentation. Furthermore, you need a GnuPG key which has been
|
||
signed by an existing Debian maintainer. If your GnuPG key is not signed yet,
|
||
you should try to meet a Debian Developer in person to get your key signed.
|
||
There's a <a class="ulink" href="http://wiki.debian.org/Keysigning" target="_top">GnuPG Key Signing
|
||
Coordination page</a> which should help you find a Debian Developer close
|
||
to you. (If there is no Debian Developer close to you, alternative ways to
|
||
pass the ID check may be permitted as an absolute exception on a
|
||
case-by-case-basis. See the <a class="ulink" href="http://www.debian.org/devel/join/nm-step2" target="_top">identification page</a> for more
|
||
information.)
|
||
</p><p>
|
||
If you do not have an OpenPGP key yet, generate one. Every developer needs an
|
||
OpenPGP key in order to sign and verify package uploads. You should read the
|
||
manual for the software you are using, since it has much important information
|
||
which is critical to its security. Many more security failures are due to
|
||
human error than to software failure or high-powered spy techniques. See <a class="xref" href="developer-duties.html#key-maint" title="3.2.2. Maintaining your public key">Section 3.2.2, “Maintaining your public key”</a> for more information on maintaining your public key.
|
||
</p><p>
|
||
Debian uses the <code class="literal">GNU Privacy Guard</code> (package <code class="systemitem">gnupg</code> version 1 or better) as its baseline
|
||
standard. You can use some other implementation of OpenPGP as well. Note that
|
||
OpenPGP is an open standard based on <a class="ulink" href="http://www.rfc-editor.org/rfc/rfc2440.txt" target="_top">RFC 2440</a>.
|
||
</p><p>
|
||
You need a version 4 key for use in Debian Development. <a class="ulink" href="http://lists.debian.org/20090520092534.GG22906@earth.li" target="_top">Your key length must
|
||
be greater than 1024 bits</a>; there is no reason to use a smaller key, and doing so
|
||
would be much less secure.<sup>[<a id="idp18219696" href="#ftn.idp18219696" class="footnote">1</a>]</sup>
|
||
</p><p>
|
||
If your public key isn't on a public key server such as
|
||
<code class="literal">subkeys.pgp.net</code>, please read the documentation available at
|
||
<a class="ulink" href="http://www.debian.org/devel/join/nm-step2" target="_top">NM Step 2:
|
||
Identification</a>. That document contains instructions on how to put your
|
||
key on the public key servers. The New Maintainer Group will put your public
|
||
key on the servers if it isn't already there.
|
||
</p><p>
|
||
Some countries restrict the use of cryptographic software by their citizens.
|
||
This need not impede one's activities as a Debian package maintainer however,
|
||
as it may be perfectly legal to use cryptographic products for authentication,
|
||
rather than encryption purposes. If you live in a country where use of
|
||
cryptography even for authentication is forbidden then please contact us so we
|
||
can make special arrangements.
|
||
</p><p>
|
||
To apply as a new maintainer, you need an existing Debian Developer to support
|
||
your application (an <code class="literal">advocate</code>). After you have
|
||
contributed to Debian for a while, and you want to apply to become a registered
|
||
developer, an existing developer with whom you have worked over the past months
|
||
has to express their belief that you can contribute to Debian successfully.
|
||
</p><p>
|
||
When you have found an advocate, have your GnuPG key signed and have already
|
||
contributed to Debian for a while, you're ready to apply. You can simply
|
||
register on our <a class="ulink" href="http://nm.debian.org/newnm.php" target="_top">application
|
||
page</a>. After you have signed up, your advocate has to confirm your
|
||
application. When your advocate has completed this step you will be assigned
|
||
an Application Manager who will go with you through the necessary steps of the
|
||
New Maintainer process. You can always check your status on the <a class="ulink" href="http://nm.debian.org/" target="_top">applications status board</a>.
|
||
</p><p>
|
||
For more details, please consult <a class="ulink" href="http://www.debian.org/devel/join/newmaint" target="_top">New Maintainer's Corner</a> at the
|
||
Debian web site. Make sure that you are familiar with the necessary steps of
|
||
the New Maintainer process before actually applying. If you are well prepared,
|
||
you can save a lot of time later on.
|
||
</p></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.idp18219696" href="#idp18219696" class="para">1</a>] </sup> Version 4 keys are keys conforming
|
||
to the OpenPGP standard as defined in RFC 2440. Version 4 is the key type that
|
||
has always been created when using GnuPG. PGP versions since 5.x also could
|
||
create v4 keys, the other choice having been pgp 2.6.x compatible v3 keys
|
||
(also called legacy RSA by PGP). </p><p> Version 4 (primary) keys can
|
||
either use the RSA or the DSA algorithms, so this has nothing to do with
|
||
GnuPG's question about which kind of key do you want: (1) DSA and Elgamal, (2)
|
||
DSA (sign only), (5) RSA (sign only). If you don't have any special
|
||
requirements just pick the default. </p><p> The easiest way to tell
|
||
whether an existing key is a v4 key or a v3 (or v2) key is to look at the
|
||
fingerprint: Fingerprints of version 4 keys are the SHA-1 hash of some key
|
||
material, so they are 40 hex digits, usually grouped in blocks of 4.
|
||
Fingerprints of older key format versions used MD5 and are generally shown in
|
||
blocks of 2 hex digits. For example if your fingerprint looks like
|
||
<code class="literal">5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F</code>
|
||
then it's a v4 key. </p><p> Another possibility is to pipe the key into
|
||
<span class="command"><strong>pgpdump</strong></span>, which will say something like Public Key Packet -
|
||
Ver 4. </p><p> Also note that your key must be self-signed (i.e. it
|
||
has to sign all its own user IDs; this prevents user ID tampering). All modern
|
||
OpenPGP software does that automatically, but if you have an older key you may
|
||
have to manually add those signatures. </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="scope.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="developer-duties.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Scope of This Document </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Debian Developer's Duties</td></tr></table></div></body></html>
|