/[dep]/web/deps/dep10.mdwn
ViewVC logotype

Contents of /web/deps/dep10.mdwn

Parent Directory Parent Directory | Revision Log Revision Log


Revision 180 - (show annotations) (download)
Sun May 1 17:14:05 2011 UTC (2 years ago) by seanius
File size: 6862 byte(s)
DEP-10: typo
1 [[!meta title="DEP-10: parallelized ('rolling') release management"]]
2
3 Title: parallelized ('rolling') release management"
4 DEP: 10
5 State: DRAFT
6 Date: 2011-04-30
7 Drivers: Sean Finney <seanius@debian.org>,
8 Raphaƫl Hertzog <hertzog@debian.org>
9 URL: http://dep.debian.net/deps/dep10
10 License: GPL
11 Abstract:
12 Proposal for changes to release management methodology and infrastructure
13 to remove the requirement that the testing suite must freeze during
14 the release process.
15
16 <a name="introduction">
17 # Introduction / Problem scope
18
19 Currently, as the project nears a new stable release, a freeze is instituted
20 on the testing suite. The freeze is put in place to allow the release team
21 to focus on resolving the remaining Release Critical (RC) bugs for the next
22 stable release, and at the same time to prevent regressions from new uploads.
23 Typically the freeze begins as an advisory "soft freeze", which over
24 time increases in strictness and levels of enforcement.
25
26 Unsuprisingly, as the strictness of the freeze increases, there is an
27 inversely proportional decrease in other non-release targeted maintainer
28 activity. Since unstable still is the preferred route for packages to
29 reach the new release during this period, maintainers are highly discouraged
30 and in some cases prevented from doing non-release targeted activities
31 in unstable.
32
33 The reduction of such non-release activity is viewed as problematic in
34 this DEP, for some inter-related reasons:
35
36 * New features and innovations are put on hold, or at least not commonly
37 available, until after the release is made.
38 * Overall Maintainer activity decreases as freezes persist.
39 * Potential userbase is lost (missing feature X, switch distro).
40 * The volatility of testing/unstable increases (and thus quality decreases)
41 with a deluge of new uploads after the freeze is lifted.
42
43 As Debian is well known for taking a "release when it's ready" approach, the
44 freeze periods are generally known to last considerable amounts of time.
45 Consider the last three freezes:
46
47 * squeeze: 4 months
48 * lenny: 7 months
49 * squeeze: 6 months
50
51 This means, in rough terms, that the when testing thaws, that the Debian
52 project may be starting from a state half a year behind comparable
53 distributions.
54
55 While the resulting stable releases are well known for their high level
56 of quality and stability, it is at a considerable cost. The project is,
57 in essence, starting from a 6 month standstill, will be similarly
58 out of date with comparable distributions. Furthermore, both the standstill
59 as well as the subsequent rush of uploads will introduce further delays
60 to the next release, as release goals will likely be set relative to
61 the starting point.
62
63 # Past and present release methods
64
65 ## Frozen (< 2000)
66
67 Before the introduction of testing, Debian used a simple release process
68 where the unstable suite was snapshotted into a `frozen` suite. This suite
69 would then be used exclusively for preparing the next stable release, with
70 unstable continuing in parallel.
71
72 Before freeze Freeze Release
73
74 [unstable/sid]--------------------------------------------------------------
75 \
76 [frozen].-.-.-.-.[stable/R_N].-.-.-.-.-.-.-.-.-.-.-.-.-.
77
78 [stable/R_N-1].-.-.-.-.-.-.-.-.-.-.-.[oldstable/R_N-1].-.-.-(EOL)
79
80 --------: Normal activity. Standard rules for uploads and migrations.
81 .-.-.-.-: Release targeted activity. Freezes and limited uploads.
82 \ \ \ \ : Package migration activity.
83
84 ### Use cases with `frozen`
85
86 Users were divided into two sets, those using `unstable` and those using
87 `stable`. Very few users would use both, as the two lines of development
88 would quickly diverge from each other.
89
90 ### Benefits with `frozen`
91
92 * Work in unstable continued, unaffected by the freeze.
93
94 ### Problems with `frozen`
95
96 * Release work started from a buggy suite.
97 * Duplicated effort in unstable/frozen.
98 * RM had more work/responsibilities, and was prone to burn-out.
99
100 ## Testing (2000-Present)
101
102 The testing suite was introduced in Debian between the release of potato
103 and woody, in the fall of 2000[[1]]. The goal was to provide
104 a suite that was in a better state for release preparation, by having
105 both automated and manual tools to keep down the level of bugs and
106 general volatility.
107
108 As a pleasant and convenient side-effect, the new suite also provided
109 a "slightly less buggy unstable" for developers and end-users, who wanted
110 newer software/features not available in stable, but wanted some level
111 of protection to the relatively unpredictable nature of unstable.
112
113 Before release Freeze Release
114
115 [unstable/sid]----------.--.--.--.-.-.-.-.-.-.------------------------------
116 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
117 [testing/R_N]----------.-.-.-.-.-.-.-.-.-.-.-.[testing/R_N+1]---------------
118 / / \
119 / / [stable/R_N].-.-.-.-.-.-.-.-.-.-.-
120 / / / / /
121 [R_N p-u].-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
122
123 [stable/R_N-1].-.-.-.-.-.-.-.-.-.-.-.-.-.-[oldstable/R_N-1].-.-.-(EOL)
124
125 --------: Normal activity. Standard rules for uploads and migrations.
126 .-.-.-.-: Release targeted activity. Freezes and limited uploads.
127 \ \ \ \ : Package migration activity. Spacing of marks is a rough
128 indication of frequency.
129
130 During the freeze, the testing suite becomes entirely dedicated to the
131 release work. In practice, this also means that unstable is also to
132 some extent frozen from non-release activity for many packages, since
133 it still serves as the main route to testing for new uploads.
134
135 ### Use cases with `testing`
136
137 The introduction of the new suite also introduced a type of continuum
138 in which users now have more flexibility in selecting what to have installed.
139
140 * `unstable`: only the "bleeding edge" of Debian updates.
141 * `testing`: only the "leading edge" of Debian updates.
142 * `testing/unstable`: A hybrid solution of the two previous use cases,
143 allowing for a reasonable balance between them.
144 * `stable`: The latest stable release.
145 * `stable/testing`: the stable release with perhaps some newer packages
146 installed, typically also making use of "APT pins" to prevent unwanted
147 upgrades. Less common now with the inclusion of backports and volatile
148 as official Debian services.
149
150 ### Benefits with `testing`
151
152 * Release branch has far fewer bugs at the start of the release process.
153 * (Ideally) shorter release process with fewer problems.
154 * Large user-base for testing stable-targeted fixes.
155
156 ### Problems with `testing`
157
158 (See [Introduction](#introduction))
159
160 [1]: http://lists.debian.org/debian-devel/2000/08/msg00906.html

  ViewVC Help
Powered by ViewVC 1.1.5