chiark / gitweb /
Mention collab-maint in the VCS section. Closes: #496815
[developers-reference.git] / developer-duties.dbk
index b2d375f..27a7ff7 100644 (file)
@@ -5,6 +5,123 @@
 ]>
 <chapter id="developer-duties">
 <title>Debian Developer's Duties</title>
+
+<section id="package-maintainer-duties">
+<title>Package Maintainer's Duties</title>
+<para>As a package maintainer, you're supposed to provide
+high-quality packages that are well integrated
+in the system and that adhere to the Debian Policy.</para>
+
+<section id="help-release">
+<title>Work towards the next <literal>stable</literal> release</title>
+<para>
+Providing high-quality packages in <literal>unstable</literal> is not enough, most users will
+only benefit from your packages when they are released as part of the next
+<literal>stable</literal> release. You are thus expected to collaborate with the release team
+to ensure your packages get included.
+</para>
+<para>
+More concretely, you should monitor whether your packages are migrating
+to <literal>testing</literal> (see <xref linkend="testing"/>). When the migration doesn't happen
+after the test period, you should analyze why and work towards fixing this.
+It might mean fixing your package (in the case of release-critical bugs or
+failures to build on some architecture) but it can also mean updating (or
+fixing, or removing from <literal>testing</literal>) other packages to help complete a
+transition in which your package is entangled due to its dependencies. The
+release team might provide you some input on the current blockers of a
+given transition if you are not able to identify them.
+</para>
+</section>
+
+<section id="maintain-stable">
+<title>Maintain packages in <literal>stable</literal></title>
+<para>
+Most of the package maintainer's work goes into providing updated
+versions of packages in <literal>unstable</literal>, but their job also entails taking care
+of the packages in the current <literal>stable</literal> release.
+</para>
+<para>
+While changes in <literal>stable</literal> are discouraged, they are possible. Whenever a
+security problem is reported, you should collaborate with the security
+team to provide a fixed version (see <xref linkend="bug-security"/>). When
+bugs of severity important (or more) are reported against the <literal>stable</literal>
+version of your packages, you should consider providing a targeted fix.
+You can ask the <literal>stable</literal> release team whether they would accept such an
+update and then prepare a <literal>stable</literal> upload (see <xref
+linkend="upload-stable"/>).
+</para>
+</section>
+
+<section id="rc-bugs">
+<title>Manage release-critical bugs</title>
+<para>
+Generally you should deal with bug reports on your packages as described in
+<xref linkend="bug-handling"/>.  However, there's a special category of bugs
+that you need to take care of — the so-called release-critical bugs (RC
+bugs). All bug reports that have severity <literal>critical</literal>,
+<literal>grave</literal> or <literal>serious</literal> make the package
+unsuitable for inclusion in the next <literal>stable</literal> release.
+They can thus delay the Debian release (when they affect a package in
+<literal>testing</literal>) or block migrations to <literal>testing</literal> (when they only affect the package
+in <literal>unstable</literal>). In the worst scenario, they will lead to the package's
+removal. That's why these bugs need to be corrected as quickly as possible.
+</para>
+<para>
+If, for any reason, you aren't able fix an RC bug in a
+package of yours within 2 weeks (for example due to time constraints, or
+because it's difficult to fix), you should mention it clearly in the
+bug report and you should tag the bug <literal>help</literal> to invite other
+volunteers to chime in. Be aware that RC bugs are frequently the targets
+of Non-Maintainer Uploads (see <xref linkend="nmu"/>) because they
+can block the <literal>testing</literal> migration of many packages.
+</para>
+<para>
+Lack of attention to RC bugs is often interpreted by the QA team as a sign
+that the maintainer has disappeared without properly orphaning their package.
+The MIA team might also get involved, which could result in your packages
+being orphaned (see <xref linkend="mia-qa" />).
+</para>
+</section>
+
+<section id="upstream-coordination">
+<title>Coordination with upstream developers</title>
+<para>
+A big part of your job as Debian maintainer will be to stay in contact with the
+upstream developers.  Debian users will sometimes report bugs that are not
+specific to Debian to our bug tracking system.  You have to forward these bug
+reports to the upstream developers so that they can be fixed in a future
+upstream release.
+</para>
+<para>
+While it's not your job to fix non-Debian specific bugs, you may freely do so
+if you're able.  When you make such fixes, be sure to pass them on to the
+upstream maintainers as well.  Debian users and developers will sometimes
+submit patches to fix upstream bugs — you should evaluate and forward these
+patches upstream.
+</para>
+<para>
+If you need to modify the upstream sources in order to build a policy compliant
+package, then you should propose a nice fix to the upstream developers which
+can be included there, so that you won't have to modify the sources of the next
+upstream version.  Whatever changes you need, always try not to fork from the
+upstream sources.
+</para>
+<para>
+If you find that the upstream developers are or become hostile towards Debian
+or the free software community, you may want to re-consider the need to
+include the software in Debian. Sometimes the social cost to the
+Debian community is not worth the benefits the software may bring.
+</para>
+</section>
+
+</section>
+
+<section id="administrative-duties">
+<title>Administrative Duties</title>
+<para>A project of the size of Debian relies on some administrative
+infrastructure to keep track of everything. As a project member, you
+have some duties to ensure everything keeps running smoothly.</para>
+
 <section id="user-maint">
 <title>Maintaining your Debian information</title>
 <para>
@@ -16,8 +133,7 @@ as well as the address where you get your debian-private subscription if you
 choose to subscribe there.
 </para>
 <para>
-For more information about the database, please see <xref linkend="devel-db"/>
-.
+For more information about the database, please see <xref linkend="devel-db"/>.
 </para>
 </section>
 
@@ -26,7 +142,7 @@ For more information about the database, please see <xref linkend="devel-db"/>
 <para>
 Be very careful with your private keys.  Do not place them on any public
 servers or multiuser machines, such as the Debian servers (see <xref
-linkend="server-machines"/> ).  Back your keys up; keep a copy offline.  Read
+linkend="server-machines"/>).  Back your keys up; keep a copy offline.  Read
 the documentation that comes with your software; read the <ulink
 url="&url-pgp-faq;">PGP FAQ</ulink>.
 </para>
@@ -100,7 +216,7 @@ duties in the project.
 </para>
 <para>
 Usually this means that other developers are allowed to NMU (see <xref
-linkend="nmu"/> ) your package if a big problem (release critical bug, security
+linkend="nmu"/>) your package if a big problem (release critical bug, security
 update, etc.) occurs while you're on vacation.  Sometimes it's nothing as
 critical as that, but it's still appropriate to let others know that you're
 unavailable.
@@ -122,98 +238,87 @@ the on vacation flag when you come back!
 </para>
 <para>
 Ideally, you should sign up at the <ulink
-url="&url-newmaint-db;gpg.php">GPG coordination site</ulink> when booking a
+url="&url-gpg-coord;">GPG coordination pages</ulink> when booking a
 holiday and check if anyone there is looking for signing.  This is especially
 important when people go to exotic places where we don't have any developers
 yet but where there are people who are interested in applying.
 </para>
 </section>
 
-<section id="upstream-coordination">
-<title>Coordination with upstream developers</title>
+<section id="s3.7">
+<title>Retiring</title>
 <para>
-A big part of your job as Debian maintainer will be to stay in contact with the
-upstream developers.  Debian users will sometimes report bugs that are not
-specific to Debian to our bug tracking system.  You have to forward these bug
-reports to the upstream developers so that they can be fixed in a future
-upstream release.
+If you choose to leave the Debian project, you should make sure you do the
+following steps:
 </para>
+<orderedlist numeration="arabic">
+<listitem>
 <para>
-While it's not your job to fix non-Debian specific bugs, you may freely do so
-if you're able.  When you make such fixes, be sure to pass them on to the
-upstream maintainers as well.  Debian users and developers will sometimes
-submit patches to fix upstream bugs — you should evaluate and forward these
-patches upstream.
+Orphan all your packages, as described in <xref linkend="orphaning"/>.
 </para>
+</listitem>
+<listitem>
 <para>
-If you need to modify the upstream sources in order to build a policy compliant
-package, then you should propose a nice fix to the upstream developers which
-can be included there, so that you won't have to modify the sources of the next
-upstream version.  Whatever changes you need, always try not to fork from the
-upstream sources.
+Send an gpg-signed email about why you are leaving the project to
+<email>debian-private@&lists-host;</email>.
 </para>
+</listitem>
+<listitem>
 <para>
-If you find that the upstream developers are or become hostile towards Debian
-or the free software community, you may want to re-consider the need to
-include the software in Debian. Sometimes the social cost to the
-Debian community is not worth the benefits the software may bring.
+Notify the Debian key ring maintainers that you are leaving by opening a ticket
+in Debian RT by sending a mail to &email-keyring; with the words 'Debian
+RT' somewhere in the subject line (case doesn't matter).
 </para>
-</section>
-
-<section id="rc-bugs">
-<title>Managing release-critical bugs</title>
+</listitem>
+<listitem>
 <para>
-Generally you should deal with bug reports on your packages as described in
-<xref linkend="bug-handling"/> .  However, there's a special category of bugs
-that you need to take care of — the so-called release-critical bugs (RC
-bugs).  All bug reports that have severity <literal>critical</literal>,
-<literal>grave</literal> or <literal>serious</literal> are considered to
-have an impact on whether the package can be released in the next stable
-release of Debian.  These bugs can delay the Debian release and/or can justify
-the removal of a package at freeze time.  That's why these bugs need to be
-corrected as quickly as possible.
-</para>
-<para>
-Developers who are part of the <ulink url="&url-debian-qa;">Quality
-Assurance</ulink> group are following all such bugs, and trying to help
-whenever possible.  If, for any reason, you aren't able fix an RC bug in a
-package of yours within 2 weeks, you should either ask for help by sending a
-mail to the Quality Assurance (QA) group
-<email>debian-qa@&lists-host;</email>, or explain your difficulties and
-present a plan to fix them by sending a mail to the bug report.  Otherwise,
-people from the QA group may want to do a Non-Maintainer Upload (see <xref
-linkend="nmu"/> ) after trying to contact you (they might not wait as long as
-usual before they do their NMU if they have seen no recent activity from you in
-the BTS).
+If you received mails via a @debian.org e-mail alias (e.g.
+press@debian.org) and would like to get removed, open a RT ticket for
+the Debian System Administrators. Just send an e-mail to
+&email-rt-dsa; with "Debian RT" somewhere in the subject stating
+from which aliases you'd like to get removed.
+</para>
+</listitem>
+</orderedlist>
+<para>
+It is important that the above process is followed, because finding inactive
+developers and orphaning their packages takes significant time and effort.
 </para>
 </section>
 
-<section id="s3.7">
-<title>Retiring</title>
+<section id="returning">
+<title>Returning after retirement</title>
 <para>
-If you choose to leave the Debian project, you should make sure you do the
-following steps:
+A retired developer's account is marked as "emeritus" when the process in
+<xref linkend="s3.7"/> is followed, and "disabled" otherwise. Retired
+developers with an "emeritus" account can get their account re-activated as
+follows:
 </para>
-<orderedlist numeration="arabic">
+
+<itemizedlist>
 <listitem>
 <para>
-Orphan all your packages, as described in <xref linkend="orphaning"/> .
+Contact &email-debian-account-manager;.
 </para>
 </listitem>
 <listitem>
 <para>
-Send an gpg-signed email about why you are leaving the project to
-<email>debian-private@&lists-host;</email>.
+Go through a shortened NM process (to ensure that the returning developer
+still knows important parts of P&amp;P and T&amp;S).
 </para>
 </listitem>
 <listitem>
 <para>
-Notify the Debian key ring maintainers that you are leaving by opening a ticket
-in Debian RT by sending a mail to keyring@rt.debian.org with the words 'Debian
-RT' somewhere in the subject line (case doesn't matter).
+Prove that they still control the GPG key associated with the account, or
+provide proof of identify on a new GPG key, with at least two signatures from
+other developers.
 </para>
 </listitem>
-</orderedlist>
+</itemizedlist>
+<para>
+Retired developers with a "disabled" account need to go through NM again.
+</para>
+</section>
 </section>
 
 </chapter>