chiark / gitweb /
git-svn-id: svn://anonscm.debian.org/ddp/developers-reference/trunk@4908 313b444b...
[developers-reference.git] / new-maintainer.dbk
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3     "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
4 <chapter id="new-maintainer">
5 <title>Applying to Become a Maintainer</title>
6 <section id="getting-started">
7 <title>Getting started</title>
8 <para>
9 So, you've read all the documentation, you've gone through the <ulink
10 url="http://www.debian.org/doc/maint-guide/">Debian New Maintainers'
11 Guide</ulink>, understand what everything in the <systemitem
12 role="package">hello</systemitem> example package is for, and you're about to
13 Debianize your favorite piece of software.  How do you actually become a Debian
14 developer so that your work can be incorporated into the Project?
15 </para>
16 <para>
17 Firstly, subscribe to <email>debian-devel@lists.debian.org</email> if you
18 haven't already.  Send the word <literal>subscribe</literal> in the
19 <emphasis>Subject</emphasis> of an email to
20 <email>debian-devel-REQUEST@lists.debian.org</email>.  In case of problems,
21 contact the list administrator at <email>listmaster@lists.debian.org</email>.
22 More information on available mailing lists can be found in <xref
23 linkend="mailing-lists"/> .
24 <email>debian-devel-announce@lists.debian.org</email> is another list which is
25 mandatory for anyone who wishes to follow Debian's development.
26 </para>
27 <para>
28 You should subscribe and lurk (that is, read without posting) for a bit before
29 doing any coding, and you should post about your intentions to work on
30 something to avoid duplicated effort.
31 </para>
32 <para>
33 Another good list to subscribe to is
34 <email>debian-mentors@lists.debian.org</email>.  See <xref linkend="mentors"/>
35 for details.  The IRC channel <literal>#debian</literal> can also be helpful;
36 see <xref linkend="irc-channels"/> .
37 </para>
38 <para>
39 When you know how you want to contribute to Debian GNU/Linux, you should get in
40 contact with existing Debian maintainers who are working on similar tasks.
41 That way, you can learn from experienced developers.  For example, if you are
42 interested in packaging existing software for Debian, you should try to get a
43 sponsor.  A sponsor will work together with you on your package and upload it
44 to the Debian archive once they are happy with the packaging work you have
45 done.  You can find a sponsor by mailing the
46 <email>debian-mentors@lists.debian.org</email> mailing list, describing your
47 package and yourself and asking for a sponsor (see <xref linkend="sponsoring"/>
48 and <ulink
49 url="http://people.debian.org/~mpalmer/debian-mentors_FAQ.html"></ulink> for
50 more information on sponsoring).  On the other hand, if you are interested in
51 porting Debian to alternative architectures or kernels you can subscribe to
52 port specific mailing lists and ask there how to get started.  Finally, if you
53 are interested in documentation or Quality Assurance (QA) work you can join
54 maintainers already working on these tasks and submit patches and improvements.
55 </para>
56 <para>
57 One pitfall could be a too-generic local part in your mailadress: Terms like
58 mail, admin, root, master should be avoided, please see <ulink
59 url="http://www.debian.org/MailingLists/"></ulink> for details.
60 </para>
61 </section>
62
63 <section id="mentors">
64 <title>Debian mentors and sponsors</title>
65 <para>
66 The mailing list <email>debian-mentors@lists.debian.org</email> has been set up
67 for novice maintainers who seek help with initial packaging and other
68 developer-related issues.  Every new developer is invited to subscribe to that
69 list (see <xref linkend="mailing-lists"/> for details).
70 </para>
71 <para>
72 Those who prefer one-on-one help (e.g., via private email) should also post to
73 that list and an experienced developer will volunteer to help.
74 </para>
75 <para>
76 In addition, if you have some packages ready for inclusion in Debian, but are
77 waiting for your new maintainer application to go through, you might be able
78 find a sponsor to upload your package for you.  Sponsors are people who are
79 official Debian Developers, and who are willing to criticize and upload your
80 packages for you.
81 <!-- FIXME - out of order
82 Those who are seeking a
83 sponsor can request one at <ulink url="http://www.internatif.org/bortzmeyer/debian/sponsor/"></ulink>.
84 -->
85 Please read the unofficial debian-mentors FAQ at <ulink
86 url="http://people.debian.org/~mpalmer/debian-mentors_FAQ.html"></ulink> first.
87 </para>
88 <para>
89 If you wish to be a mentor and/or sponsor, more information is available in
90 <xref linkend="newmaint"/> .
91 </para>
92 </section>
93
94 <section id="registering">
95 <title>Registering as a Debian developer</title>
96 <para>
97 Before you decide to register with Debian GNU/Linux, you will need to read all
98 the information available at the <ulink
99 url="http://www.debian.org/devel/join/newmaint">New Maintainer's
100 Corner</ulink>.  It describes in detail the preparations you have to do before
101 you can register to become a Debian developer.  For example, before you apply,
102 you have to read the <ulink url="http://www.debian.org/social_contract">Debian
103 Social Contract</ulink>.  Registering as a developer means that you agree with
104 and pledge to uphold the Debian Social Contract; it is very important that
105 maintainers are in accord with the essential ideas behind Debian GNU/Linux.
106 Reading the <ulink url="http://www.gnu.org/gnu/manifesto.html">GNU
107 Manifesto</ulink> would also be a good idea.
108 </para>
109 <para>
110 The process of registering as a developer is a process of verifying your
111 identity and intentions, and checking your technical skills.  As the number of
112 people working on Debian GNU/Linux has grown to over 900 and our systems are
113 used in several very important places, we have to be careful about being
114 compromised.  Therefore, we need to verify new maintainers before we can give
115 them accounts on our servers and let them upload packages.
116 </para>
117 <para>
118 Before you actually register you should have shown that you can do competent
119 work and will be a good contributor.  You show this by submitting patches
120 through the Bug Tracking System and having a package sponsored by an existing
121 Debian Developer for a while.  Also, we expect that contributors are interested
122 in the whole project and not just in maintaining their own packages.  If you
123 can help other maintainers by providing further information on a bug or even a
124 patch, then do so!
125 </para>
126 <para>
127 Registration requires that you are familiar with Debian's philosophy and
128 technical documentation.  Furthermore, you need a GnuPG key which has been
129 signed by an existing Debian maintainer.  If your GnuPG key is not signed yet,
130 you should try to meet a Debian Developer in person to get your key signed.
131 There's a <ulink url="http://nm.debian.org/gpg.php">GnuPG Key Signing
132 Coordination page</ulink> which should help you find a Debian Developer close
133 to you.  (If there is no Debian Developer close to you, alternative ways to
134 pass the ID check may be permitted as an absolute exception on a
135 case-by-case-basis.  See the <ulink
136 url="http://www.debian.org/devel/join/nm-step2">identification page</ulink> for
137 more information.)
138 </para>
139 <para>
140 If you do not have an OpenPGP key yet, generate one.  Every developer needs an
141 OpenPGP key in order to sign and verify package uploads.  You should read the
142 manual for the software you are using, since it has much important information
143 which is critical to its security.  Many more security failures are due to
144 human error than to software failure or high-powered spy techniques.  See <xref
145 linkend="key-maint"/> for more information on maintaining your public key.
146 </para>
147 <para>
148 Debian uses the <command>GNU Privacy Guard</command> (package <systemitem
149 role="package">gnupg</systemitem> version 1 or better) as its baseline
150 standard.  You can use some other implementation of OpenPGP as well.  Note that
151 OpenPGP is an open standard based on <ulink
152 url="http://www.rfc-editor.org/rfc/rfc2440.txt">RFC 2440</ulink>.
153 </para>
154 <para>
155 You need a version 4 key for use in Debian Development.  Your key length must
156 be at least 1024 bits; there is no reason to use a smaller key, and doing so
157 would be much less secure.  <footnote><para> Version 4 keys are keys conforming
158 to the OpenPGP standard as defined in RFC 2440.  Version 4 is the key type that
159 has always been created when using GnuPG.  PGP versions since 5.x also could
160 create v4 keys, the other choice having beein pgp 2.6.x compatible v3 keys
161 (also called legacy RSA by PGP).  </para> <para> Version 4 (primary) keys can
162 either use the RSA or the DSA algorithms, so this has nothing to do with
163 GnuPG's question about which kind of key do you want: (1) DSA and Elgamal, (2)
164 DSA (sign only), (5) RSA (sign only).  If you don't have any special
165 requirements just pick the default.  </para> <para> The easiest way to tell
166 whether an existing key is a v4 key or a v3 (or v2) key is to look at the
167 fingerprint: Fingerprints of version 4 keys are the SHA-1 hash of some key
168 matieral, so they are 40 hex digits, usually grouped in blocks of 4.
169 Fingerprints of older key format versions used MD5 and are generally shown in
170 blocks of 2 hex digits.  For example if your fingerprint looks like
171 <literal>5B00 C96D 5D54 AEE1 206B  AF84 DE7A AF6E 94C0 9C7F</literal>
172 then it's a v4 key.  </para> <para> Another possibility is to pipe the key into
173 <command>pgpdump</command>, which will say something like Public Key Packet -
174 Ver 4.  </para> <para> Also note that your key must be self-signed (i.e.  it
175 has to sign all its own user IDs; this prevents user ID tampering).  All modern
176 OpenPGP software does that automatically, but if you have an older key you may
177 have to manually add those signatures.  </para> </footnote>
178 </para>
179 <para>
180 If your public key isn't on a public key server such as
181 <literal>subkeys.pgp.net</literal>, please read the documentation available at
182 <ulink url="http://www.debian.org/devel/join/nm-step2">NM Step 2:
183 Identification</ulink>.  That document contains instructions on how to put your
184 key on the public key servers.  The New Maintainer Group will put your public
185 key on the servers if it isn't already there.
186 </para>
187 <para>
188 Some countries restrict the use of cryptographic software by their citizens.
189 This need not impede one's activities as a Debian package maintainer however,
190 as it may be perfectly legal to use cryptographic products for authentication,
191 rather than encryption purposes.  If you live in a country where use of
192 cryptography even for authentication is forbidden then please contact us so we
193 can make special arrangements.
194 </para>
195 <para>
196 To apply as a new maintainer, you need an existing Debian Developer to support
197 your application (an <emphasis>advocate</emphasis>).  After you have
198 contributed to Debian for a while, and you want to apply to become a registered
199 developer, an existing developer with whom you have worked over the past months
200 has to express their belief that you can contribute to Debian successfully.
201 </para>
202 <para>
203 When you have found an advocate, have your GnuPG key signed and have already
204 contributed to Debian for a while, you're ready to apply.  You can simply
205 register on our <ulink url="http://nm.debian.org/newnm.php">application
206 page</ulink>.  After you have signed up, your advocate has to confirm your
207 application.  When your advocate has completed this step you will be assigned
208 an Application Manager who will go with you through the necessary steps of the
209 New Maintainer process.  You can always check your status on the <ulink
210 url="http://nm.debian.org/">applications status board</ulink>.
211 </para>
212 <para>
213 For more details, please consult <ulink
214 url="http://www.debian.org/devel/join/newmaint">New Maintainer's Corner</ulink>
215 at the Debian web site.  Make sure that you are familiar with the necessary
216 steps of the New Maintainer process before actually applying.  If you are well
217 prepared, you can save a lot of time later on.
218 </para>
219 </section>
220
221 </chapter>
222