\documentclass{beamer}


\mode<presentation>
{
  \usetheme{Warsaw}
  % or ...

  \setbeamercovered{transparent}
  % or whatever (possibly just delete it)
}


\usepackage[english]{babel}
% or whatever

\usepackage{pdfpages}
\usepackage{soul}

\usepackage{ucs}
\usepackage[utf8x]{inputenc}
% or whatever

\usepackage{times}
\usepackage[T1]{fontenc}


\title
{Release management in Debian \\
- \\
Can we do better?}

\author
{Frans ~Pop}
% - Give the names in the same order as the appear in the paper.
% - Use the \inst{?} command only if the authors have different
%   affiliation.

% - Use the \inst command only if there are several affiliations.
% - Keep it simple, no one is interested in your street address.

\date[FOSDEM 2009] % (optional, should be abbreviation of conference name)
{FOSDEM 2009, Brussels}
% - Either use conference name or its abbreviation.
% - Not really informative to the audience, more for people (including
% yourself) who are reading the slides online




\pgfdeclareimage[height=2cm]{debian-logo}{debian-swirl}
\logo{\pgfuseimage{debian-logo}}



% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
\AtBeginSection[]
{
  \begin{frame}<beamer>
    \frametitle{Outline}
    \tableofcontents[currentsection]
  \end{frame}
}


% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
%\AtBeginSubsection[]
%{
%  \begin{frame}<beamer>
%    \frametitle{Outline}
%    \tableofcontents[currentsection,currentsubsection]
%  \end{frame}
%}


% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command: 
%\beamerdefaultoverlayspecification{<+->}


\begin{document}

\begin{frame}
  \titlepage
\end{frame}

%%%%%%%%%%%%%%%%%

\begin{frame}
  \frametitle{Qualifications}
	\begin{itemize}
	\item
not a member of the Release Team
	\item
closely involved with sarge and etch releases
	\item
release manager for Debian Installer for etch
	\item
stable release manager for D-I for sarge and etch
	\item
release manager for Installation Guide
	\item
main editor and coordinator for sarge and etch \\
Release Notes
	\item
member of website team, done part of preparation for etch
	\item
member of debian-cd team
	\end{itemize}
\end{frame}

% \begin{frame}
%   \tableofcontents
% \end{frame}

\section{Release Management}

\begin{frame}
  \frametitle{ITIL definition}
The Service Management process that encompasses the planning, design, build, configuration and testing of hardware and software releases to create a defined set of release components. Release activities also include the planning, preparation, scheduling, training, documentation, distribution and installation of the release to many users and locations. Release Management uses the controlling processes of Change and Configuration Management.
\end{frame}

\begin{frame}
  \frametitle{Simpler definition for Debian}
\textbf{Management aspect}\\
	\begin{itemize}
	\item
Planning and coordinating all activities that are needed to make
a release possible, with the quality that's expected from Debian
	\end{itemize}

\

\textbf{Practical aspect}\\
	\begin{itemize}
	\item
Release team is responsible for the testing and t-p-u suites
	\item
(Stable) release team is responsible for the p-u suite
	\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Every DD is a release manager}
... if only for the packages he/she maintains

\

Release management becomes more inportant
	\begin{itemize}
	\item
for team maintained packages
	\item
for very complex packages
	\item
when you are also upstream
	\item
for packages that have many interdependencies
	\end{itemize}

\

I.e: when there is a need for coordination!

\end{frame}

\section{Stable release Management}

\begin{frame}
  \frametitle{Sarge installs broken after Etch release}
2007:
	\begin{itemize}
	\item
7 April: Etch and 3.1r6
	\item
31 May: Retired from project
	\item
13 July: Fixed version of the installer available
	\item
28 July: Retirement final
	\item
15 August: 4.0r1
	\item
19 October: Retirement revoked
	\item
9 November: ftp-master.d.o down
	\item
28 December: 3.1r7
	\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Planning and coordination}
	\begin{itemize}
	\item
use mailing lists instead of IRC
	\item
be explicit about content and planning
	\item
update on progress and changes
	\item
discuss how to handle issues
	\item
allow for review of release announcement
	\end{itemize}
\end{frame}


\section{The etch-and-a-half release}

\begin{frame}
  \frametitle{}
	\begin{itemize}
	\item
Kick-off Debconf 2007 (Mexico)
	\item
Mailing list created, some discussion\\
no decisions, no action
	\item
December 2007: options for installer support
	\item
February 2008: installer support implemented, plan for CD support
	\item
26 July 2008: released with 4.0r4
		\begin{itemize}
		\item
kernel 2.6.24; based on D-I Lenny Beta2
		\item
15 months after Etch -> etch-and-two-thirds
		\item
loop-aes encryption broken
		\end{itemize}
	\item
Practically all work done by 2 people
		\begin{itemize}
		\item
Dann Frazier
		\item
Frans Pop
		\end{itemize}
	\end{itemize}
\end{frame}


\section{The Lenny release}

\begin{frame}
  \frametitle{Comparing Etch and Lenny}
\textbf{Sarge}: released on 6 June 2005\\

 \

  \begin{columns}[t]
    \begin{column}{4cm}
\\
Planned release date\\
Actual release date\\
Length of release cycle\\
Delay\\
Duration of freeze\\
Nr of release updates
    \end{column}
    \begin{column}{2.25cm}
\textbf{Etch}\\
4 Dec. 2006\\
8 Apr. 2007\\
22 months\\
4 months\\
4 months\\
18
    \end{column}
    \begin{column}{3cm}
\textbf{Lenny}\\
Sept. 2008\\
14 Feb. 2009 (?)\\
22 months\\
5 months\\
6 months\\
12
    \end{column}
  \end{columns}
\end{frame}

\begin{frame}
  \frametitle{Components of a release}
	\begin{itemize}
	\item
the archive: packages, architectures \\
(toolchain, kernel, desktop environments, tasks, ...)
		\begin{itemize}
		\item
  package migration (blocks/hints)
		\item
  RC bugs
		\item
  removals
		\end{itemize}
	\item
archive keys
	\item
installer images
	\item
CD images
	\item
documentation (incl. translations!)
		\begin{itemize}
		\item
  release notes, upgrade path
		\item
  installation guide
		\item
  website
		\item
  wiki
		\end{itemize}
	\item
...
	\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Working with the rest of the project}
	\begin{itemize}
	\item
The firmware debacle
	\item
Adding/dropping architectures: hppa, hurd-i386
	\item
Package removals
	\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Package removals}
	\begin{itemize}
	\item
loop-aes
	\end{itemize}

\

"packages with RC bugs older than 20 days, with no activity from
the maintainer qualify for a removal from testing; only packages that are
leaf nodes in the dependency tree get removed this way"
	\begin{itemize}
	\item
lilo
	\item
update-manager/update-notifier
	\item
resolvconf
	\item
mplayer
	\item
ntp
	\end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Package removals}
	\begin{itemize}
	\item
release when ready
	\item
RT cannot (be expected to) oversee all possible consequences
	\item
not motivating for maintainers
	\item
packages that are removed drop off the release radar
	\end{itemize}

\

Raphael Hertzog: \#484129
\end{frame}



%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
  \frametitle{Conclusions}
	\begin{itemize}
	\item
More focus on actual management: planning and coordination
	\item
More pro-active
	\item
Don't make important decisions in isolation
	\item
Stimulate involvement of "regular" DDs
	\end{itemize}
\end{frame}


\end{document}
