chiark / gitweb /
899b56732486efd83e5574897c2b39090717a07f
[developers-reference.git] / developer-duties.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="developer-duties">
5 <title>Debian Developer's Duties</title>
6 <section id="user-maint">
7 <title>Maintaining your Debian information</title>
8 <para>
9 There's a LDAP database containing information about Debian developers at
10 <ulink url="https://db.debian.org/"></ulink>.  You should enter your
11 information there and update it as it changes.  Most notably, make sure that
12 the address where your debian.org email gets forwarded to is always up to date,
13 as well as the address where you get your debian-private subscription if you
14 choose to subscribe there.
15 </para>
16 <para>
17 For more information about the database, please see <xref linkend="devel-db"/>
18 .
19 </para>
20 </section>
21
22 <section id="key-maint">
23 <title>Maintaining your public key</title>
24 <para>
25 Be very careful with your private keys.  Do not place them on any public
26 servers or multiuser machines, such as the Debian servers (see <xref
27 linkend="server-machines"/> ).  Back your keys up; keep a copy offline.  Read
28 the documentation that comes with your software; read the <ulink
29 url="http://www.cam.ac.uk.pgp.net/pgpnet/pgp-faq/">PGP FAQ</ulink>.
30 </para>
31 <para>
32 You need to ensure not only that your key is secure against being stolen, but
33 also that it is secure against being lost.  Generate and make a copy (best also
34 in paper form) of your revocation certificate; this is needed if your key is
35 lost.
36 </para>
37 <para>
38 If you add signatures to your public key, or add user identities, you can
39 update the Debian key ring by sending your key to the key server at
40 <literal>keyring.debian.org</literal>.
41 </para>
42 <para>
43 If you need to add a completely new key or remove an old key, you need to get
44 the new key signed by another developer.  If the old key is compromised or
45 invalid, you also have to add the revocation certificate.  If there is no real
46 reason for a new key, the Keyring Maintainers might reject the new key.
47 Details can be found at <ulink
48 url="http://keyring.debian.org/replacing_keys.html"></ulink>.
49 </para>
50 <para>
51 The same key extraction routines discussed in <xref linkend="registering"/>
52 apply.
53 </para>
54 <para>
55 You can find a more in-depth discussion of Debian key maintenance in the
56 documentation of the <systemitem role="package">debian-keyring</systemitem>
57 package.
58 </para>
59 </section>
60
61 <section id="voting">
62 <title>Voting</title>
63 <para>
64 Even though Debian isn't really a democracy, we use a democratic process to
65 elect our leaders and to approve general resolutions.  These procedures are
66 defined by the <ulink url="http://www.debian.org/devel/constitution">Debian
67 Constitution</ulink>.
68 </para>
69 <para>
70 Other than the yearly leader election, votes are not routinely held, and they
71 are not undertaken lightly.  Each proposal is first discussed on the
72 <email>debian-vote@lists.debian.org</email> mailing list and it requires
73 several endorsements before the project secretary starts the voting procedure.
74 </para>
75 <para>
76 You don't have to track the pre-vote discussions, as the secretary will issue
77 several calls for votes on
78 <email>debian-devel-announce@lists.debian.org</email> (and all developers are
79 expected to be subscribed to that list).  Democracy doesn't work well if people
80 don't take part in the vote, which is why we encourage all developers to vote.
81 Voting is conducted via GPG-signed/encrypted email messages.
82 </para>
83 <para>
84 The list of all proposals (past and current) is available on the <ulink
85 url="http://www.debian.org/vote/">Debian Voting Information</ulink> page, along
86 with information on how to make, second and vote on proposals.
87 </para>
88 </section>
89
90 <section id="inform-vacation">
91 <title>Going on vacation gracefully</title>
92 <para>
93 It is common for developers to have periods of absence, whether those are
94 planned vacations or simply being buried in other work.  The important thing to
95 notice is that other developers need to know that you're on vacation so that
96 they can do whatever is needed if a problem occurs with your packages or other
97 duties in the project.
98 </para>
99 <para>
100 Usually this means that other developers are allowed to NMU (see <xref
101 linkend="nmu"/> ) your package if a big problem (release critical bug, security
102 update, etc.) occurs while you're on vacation.  Sometimes it's nothing as
103 critical as that, but it's still appropriate to let others know that you're
104 unavailable.
105 </para>
106 <para>
107 In order to inform the other developers, there are two things that you should
108 do.  First send a mail to <email>debian-private@lists.debian.org</email> with
109 [VAC] prepended to the subject of your message<footnote><para> This is so that
110 the message can be easily filtered by people who don't want to read vacation
111 notices.  </para> </footnote> and state the period of time when you will be on
112 vacation.  You can also give some special instructions on what to do if a
113 problem occurs.
114 </para>
115 <para>
116 The other thing to do is to mark yourself as on vacation in the
117 <link linkend="devel-db">Debian developers' LDAP database</link> (this
118 information is only accessible to Debian developers).  Don't forget to remove
119 the on vacation flag when you come back!
120 </para>
121 <para>
122 Ideally, you should sign up at the <ulink
123 url="http://nm.debian.org/gpg.php">GPG coordination site</ulink> when booking a
124 holiday and check if anyone there is looking for signing.  This is especially
125 important when people go to exotic places where we don't have any developers
126 yet but where there are people who are interested in applying.
127 </para>
128 </section>
129
130 <section id="upstream-coordination">
131 <title>Coordination with upstream developers</title>
132 <para>
133 A big part of your job as Debian maintainer will be to stay in contact with the
134 upstream developers.  Debian users will sometimes report bugs that are not
135 specific to Debian to our bug tracking system.  You have to forward these bug
136 reports to the upstream developers so that they can be fixed in a future
137 upstream release.
138 </para>
139 <para>
140 While it's not your job to fix non-Debian specific bugs, you may freely do so
141 if you're able.  When you make such fixes, be sure to pass them on to the
142 upstream maintainers as well.  Debian users and developers will sometimes
143 submit patches to fix upstream bugs — you should evaluate and forward these
144 patches upstream.
145 </para>
146 <para>
147 If you need to modify the upstream sources in order to build a policy compliant
148 package, then you should propose a nice fix to the upstream developers which
149 can be included there, so that you won't have to modify the sources of the next
150 upstream version.  Whatever changes you need, always try not to fork from the
151 upstream sources.
152 </para>
153 </section>
154
155 <section id="rc-bugs">
156 <title>Managing release-critical bugs</title>
157 <para>
158 Generally you should deal with bug reports on your packages as described in
159 <xref linkend="bug-handling"/> .  However, there's a special category of bugs
160 that you need to take care of — the so-called release-critical bugs (RC
161 bugs).  All bug reports that have severity <emphasis>critical</emphasis>,
162 <emphasis>grave</emphasis> or <emphasis>serious</emphasis> are considered to
163 have an impact on whether the package can be released in the next stable
164 release of Debian.  These bugs can delay the Debian release and/or can justify
165 the removal of a package at freeze time.  That's why these bugs need to be
166 corrected as quickly as possible.
167 </para>
168 <para>
169 Developers who are part of the <ulink url="http://qa.debian.org/">Quality
170 Assurance</ulink> group are following all such bugs, and trying to help
171 whenever possible.  If, for any reason, you aren't able fix an RC bug in a
172 package of yours within 2 weeks, you should either ask for help by sending a
173 mail to the Quality Assurance (QA) group
174 <email>debian-qa@lists.debian.org</email>, or explain your difficulties and
175 present a plan to fix them by sending a mail to the bug report.  Otherwise,
176 people from the QA group may want to do a Non-Maintainer Upload (see <xref
177 linkend="nmu"/> ) after trying to contact you (they might not wait as long as
178 usual before they do their NMU if they have seen no recent activity from you in
179 the BTS).
180 </para>
181 </section>
182
183 <section id="s3.7">
184 <title>Retiring</title>
185 <para>
186 If you choose to leave the Debian project, you should make sure you do the
187 following steps:
188 </para>
189 <orderedlist numeration="arabic">
190 <listitem>
191 <para>
192 Orphan all your packages, as described in <xref linkend="orphaning"/> .
193 </para>
194 </listitem>
195 <listitem>
196 <para>
197 Send an gpg-signed email about why you are leaving the project to
198 <email>debian-private@lists.debian.org</email>.
199 </para>
200 </listitem>
201 <listitem>
202 <para>
203 Notify the Debian key ring maintainers that you are leaving by opening a ticket
204 in Debian RT by sending a mail to keyring@rt.debian.org with the words 'Debian
205 RT' somewhere in the subject line (case doesn't matter).
206 </para>
207 </listitem>
208 </orderedlist>
209 </section>
210
211 </chapter>
212