chiark / gitweb /
Update minimal GPG key length to match current requirements. Closes: #643933 Thanks...
[developers-reference.git] / developer-duties.dbk
index f09e3cf09ab1002607f9813a2cd312c55a79f16d..6b60b6554c68cd364f0652cb1b170fc129970fda 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 his 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 his 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>
@@ -128,65 +245,6 @@ yet but where there are people who are interested in applying.
 </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 id="rc-bugs">
-<title>Managing 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> 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).
-</para>
-</section>
-
 <section id="s3.7">
 <title>Retiring</title>
 <para>
@@ -213,6 +271,45 @@ RT' somewhere in the subject line (case doesn't matter).
 </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="returning">
+<title>Returning after retirement</title>
+<para>
+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>
+
+<itemizedlist>
+<listitem>
+<para>
+Contact &email-debian-account-manager;.
+</para>
+</listitem>
+<listitem>
+<para>
+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>
+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>
+</itemizedlist>
+<para>
+Retired developers with a "disabled" account need to go through NM again.
+</para>
+</section>
 </section>
 
 </chapter>