.. This document is © Martin F. Krafft It is available under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike Licence 2.5 ========================================================================== Debian etch: how to scratch the itch ========================================================================== Why we have not yet released and what you can do about it -------------------------------------------------------------------------- .. |event| replace:: Skycon, University of Limerick, Ireland .. |talkdate| replace:: 18 Feb 2007 .. |author| replace:: Martin F. Krafft .. |authoremail| replace:: madduck@debian.org .. |footer| replace:: |event| |bull| |talkdate| .. container:: author |author| <|authoremail|> * Developer with the `Debian`_, `Zope`_, and `Plone`_ projects * Author of the book `The Debian System — Concepts and Techniques`_ * `Ph.D. student`_, `Lero`_, `CSIS`_, `University of Limerick`_, Ireland .. _Debian: http://debian.org/ .. _Zope: http://zope.org/ .. _Plone: http:/plone.org/ .. _Ph.D. student: http://martin-krafft.net/phd/ .. _Lero: http://lero.ie/ .. _CSIS: http://www.csis.ul.ie/ .. _University of Limerick: http://ul.ie/ .. _The Debian System — Concepts and Techniques: http://debiansystem.info/ .. container:: event |event| |talkdate| Overview ======== - Debian and its release cycle - Release blockers - What you can do - What you'll get Overview ======== .. class:: current - Debian and its release cycle - Release blockers - What you can do - What you'll get Debian: the hard facts ====================== .. class:: incremental - (second-)oldest GNU/Linux distribution: 14 years - among the largest OSS projects: - 1,050 developers + 2,500 contributors - 19,000 packages, 11 architectures - over 100 derivatives - conservative: prefer solid solutions to quick 'n' dirty ones - robust, secure, stable - 100% Free - volunteers, flat hierarchy, meritocratic Who's behind it? ================ .. container:: center .. image:: developers-map.jpg (source: http://www.debian.org/devel/developers.loc) Debian releases =============== .. container:: center .. image:: timeline.png .. image:: sarge.png :class: floatright * Current release: Debian 3.1r5 "sarge" |nl| released 6 June 2005, revised 17 February 2007 * Named after toy story characters .. image:: etch.png :class: floatleft * In preparation: Debian 4.0 "etch" (originally planned for 4 Dec 2006) Debian stable ============= * Debian "stable" is known to be rock-solid |hellip| .. "Look, this is Debian. They don't release things until you have to fire rockets at the thing to stop it from working." (Slashdot quote) |hellip| and outdated: "Debian releases are out of date the minute they are published" (common prejudice) Release process =============== * ``unstable`` - ``testing`` - ``stable`` * Current ``stable``: "sarge", current ``testing``: "etch", ``unstable``: "sid" * Next ``stable``: "etch", next ``testing``: "lenny", ``unstable``: "sid" * Automatic transition from ``unstable`` to ``testing``. * Manual tagging of a frozen ``testing`` as ``stable``. Package cycle ============== .. container:: center .. image:: package-cycle.png Freeze process ============== .. class:: incremental * Long freeze process due to complexity - five categories: essential, required, standard, optional, extra - frozen one after the other, then stabilisation period * "etch" has been frozen since 11 December 2006. * Implications: - no automatic migrations to ``testing``: extra work for RMs - no new upstream version in ``unstable``: losing the cutting edge RC bugs ======= .. class:: incremental - Release-critical bugs (RC bugs) prevent a package from entering stable - *This is what makes Debian be Debian* - Packages with RC bugs are either fixed or removed - Exceptions are possible on a case-by-case basis (``etch-ignore``) Current status ============== .. container:: center .. image:: rc-bugs.png From: http://bugs.debian.org/release-critical/ (Not entirely accurate because does not respect version tracking) Overview ======== - Debian and its release cycle .. class:: current - Release blockers - What you can do - What you'll get So why haven't we released yet? =============================== Reason #17: because Martin is off writing talks about why etch hasn't been released, instead of fixing RC bugs. ;) — Steve Langasek, |nl| release manager No really, why haven't we released yet? ======================================= Because we aren't ready yet. |nl| (I know you didn't want to hear that) Poll: should Debian: - release every X months? - aim for a release every X months, but give priority to QA? - not release at all? Release blockers: the technical reasons ======================================= .. class:: incremental - Still over 100 RC bugs and stagnating tendency - No usable kernel (which accounts for about 30% of RC bugs) - debian-installer stalled by kernel Good news: `kernel frozen as of 9 Feb 2007 `_. Management reasons ================== .. class:: incremental - Kernel team currently lacks release management - Ambitious/unrealistic release date - Schedule by RC bug count, but kernel much bigger blocker - Ignore RC bug trends during previous releases - Bug count monitoring confusing, three sources - Too early freeze (116 RC bugs), major slowdown - Unrealistic assumptions about freeze cycle length Social reasons ============== .. class:: incremental - Disagreement over dunc-tank, creation of dunc-bank - Time wasted in discussions - Demotivation of developers .. class:: incremental - Being late - Infrastructural bottlenecks not being solved - Perceived lack of trust between DDs - Questioning of decision-making powers Dunc-tank ========= .. class:: incremental - attempt to speed up release by paying RMs through donations - outside of the project, but involving prominent DDs, including DPL - *very* controversial, caused *a lot* of discussion and flames - Demotivation/reprioritisation of/by DDs (DWN, |hellip|) http://www.dunc-tank.org/ Dunc-bank ========= The Dunc-Bank is an experiment to see how aggressive bug reporting can delay the release of Debian Etch. [|hellip|] We think that overall quality is more important than keeping release promises others did for us. .. container:: center space-top .. image:: reportbugs.png http://dunc-bank.zoy.org/ Assessing the effects ===================== .. class:: incremental - Dunc-bank had good QA effects, latent RC bugs - Dunc-tank-paid RMs caused sharp decline in RC bug count - But unable to isolate/quantify effects by dunc-tank/-bank. - Delay because of the debate? Not sure |hellip| - Those flaming would have flamed elsewhere Steve's midterm report: http://web.dodds.net/~vorlon/wiki/blog/midterm_report.html Overview ======== - Debian and its release cycle - Release blockers .. class:: current - What you can do - What you'll get What you can do =============== .. class:: incremental - Fix bugs - Try to reproduce bugs, research the problems - Fix kernel bugs - Tend to the documentation/website, release notes, translations - Coordinate complex teams, such as the kernel team (delicate task) Let's fix a bug =============== .. class:: incremental - Use http://bts.turmzimmer.net/details.php to select a bug to fix - pick a bug older than 7 days - watch out for comments and claims - contact the maintainer - fix the bug, making only relevant changes, and keeping the diff small - test (!) - prepare an NMU (non-maintainer upload) - upload or seek sponsorship - lather, rinse, repeat http://wiki.debian.org/BSP/BeginnersHOWTO I tried |hellip| ================ .. class:: incremental Original plan: fix `#410946 `_ during talk No consensus in four days of discussion, thus cannot upload .. class:: incremental If I were you, I wouldn't make such an unnecessary change in an NMU. Oh, no, if I were you, I wouldn't consider an NMU here at all. |hellip| Frankly, I'm somewhat pissed that I've spent a couple of minutes on writing this message, instead of working on the bug itself. I gave up. Overview ======== - Debian and its release cycle - Release blockers - What you can do .. class:: current - What you'll get New in etch ============== - SecureAPT - Graphical installer, incl. dm-crypt and complex languages - UTF-8 (on new installs) - ``udev`` by default (on new installs) - Xen/Vserver, Sun Java (``non-free``), Tomcat, LTSP - Firefox vs. Iceweasel - ``debtags`` - ``dbconfig-common`` For the complete list: http://wiki.debian.org/NewInEtch Hot air? ========= .. container:: center **So when will you release "etch"???** Just remember the Irish way =========================== .. container:: center .. image:: guinness.png We'll release when it's ready. (I don't think this will ever change.) (Logo by Neil McGovern) Come to debconf7! ================= - 16 June (Saturday) 2007 : Debian Day ("for the masses") - 17 — 23 June: talks, workshops, development, social activities - In Edinburgh, Scotland - Attendance is free, but registration is required. More info: http://debconf7.debconf.org My Ph.D. research ================= Method diffusion in large open source projects * Debian processes somewhat antiquated, compare with the agility of e.g. Plone * Volunteers don't like to be told what to do * Methods exist to improve asynchronous global collaboration * How do you get people to adopt these? http://martin-krafft.net/phd/ Thank you ========= .. container:: author |author| <|authoremail|> * http://people.debian.org/~madduck/ * http://martin-krafft.net/phd/ I received valuable input for this talk from: Steve Langasek, Sam Hocevar, Frans Pop, Brian May, Anthony Towns, Theodore Ts'o, Thomas Viehmann, and the other folks of ``#debian-devel``. Thank you all! .. include:: licence.en.rst .. include:: common.inc .. footer:: |footer|