summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/2011-June/005840.html
blob: 496f30c1ca81791f32bb4ab25a14d6eeca0e5d08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Mageia-dev] Release cycles proposals, and discussion
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Release%20cycles%20proposals%2C%20and%20discussion&In-Reply-To=%3C4DFDD21D.3010505%40laposte.net%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="005832.html">
   <LINK REL="Next"  HREF="005841.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Mageia-dev] Release cycles proposals, and discussion</H1>
    <B>andre999</B> 
    <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Release%20cycles%20proposals%2C%20and%20discussion&In-Reply-To=%3C4DFDD21D.3010505%40laposte.net%3E"
       TITLE="[Mageia-dev] Release cycles proposals, and discussion">andr55 at laposte.net
       </A><BR>
    <I>Sun Jun 19 12:40:29 CEST 2011</I>
    <P><UL>
        <LI>Previous message: <A HREF="005832.html">[Mageia-dev] Release cycles proposals, and discussion
</A></li>
        <LI>Next message: <A HREF="005841.html">[Mageia-dev] Release cycles proposals, and discussion
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#5840">[ date ]</a>
              <a href="thread.html#5840">[ thread ]</a>
              <a href="subject.html#5840">[ subject ]</a>
              <a href="author.html#5840">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>andre999 a &#233;crit :
&gt;<i> Michael Scherer a &#233;crit :
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Le samedi 18 juin 2011 &#224; 03:38 -0400, andre999 a &#233;crit :
</I>&gt;&gt;&gt;<i> Michael Scherer a &#233;crit :
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i> Proposal 1:
</I>&gt;&gt;&gt;&gt;<i> 6 months release cycle -&gt; 12 months life cycle
</I>&gt;&gt;&gt;&gt;<i> ( Fedora, Ubuntu, Mandriva&lt; 2010.1&amp;&amp; Mandriva != 2006.0 )
</I>&gt;&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i> Proposal 2:
</I>&gt;&gt;&gt;&gt;<i> 9 months release cycle -&gt; 18 months life cycle
</I>&gt;&gt;&gt;&gt;<i> ( ~ opensuse and the one we used for Mageia 1 )
</I>&gt;&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i> Proposal 3:
</I>&gt;&gt;&gt;&gt;<i> 12 months release cycle -&gt; 24 months life cycle
</I>&gt;&gt;&gt;&gt;<i> ( Mandriva&gt; 2010.1 )
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;<i> First, suggest an amended freeze process (idea from recent report of
</I>&gt;&gt;&gt;<i> another project)
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> you can say the name of the project, even if I suspect it to be Fedora.
</I>&gt;<i>
</I>&gt;<i> I suspected that it might have been Fedora, if it wasn't a summary of
</I>&gt;<i> the new mozilla process, but I couldn't remember. Just the concept
</I>&gt;<i> intrigued me. Which I reflected on for a few weeks.
</I>&gt;<i>
</I>&gt;&gt;&gt;<i> Instead of a freeze on cauldron until everything is ready for the
</I>&gt;&gt;&gt;<i> release, we do
</I>&gt;&gt;&gt;<i> 1) short freeze on cauldron
</I>&gt;&gt;&gt;<i> 2) copy cauldron to pre-release branch, which remains frozen until
</I>&gt;&gt;&gt;<i> release
</I>&gt;&gt;&gt;<i> 3) immediately unfreeze cauldron.
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;<i> - we avoid blocking cauldron, while leaving pre-release frozen for
</I>&gt;&gt;&gt;<i> bug fixes.
</I>&gt;&gt;&gt;<i> - updates can continue on cauldron. Bugfixes can be applied to newer
</I>&gt;&gt;&gt;<i> versions, if present in
</I>&gt;&gt;&gt;<i> cauldron, at the same time as corresponding bugfixes in pre-release.
</I>&gt;&gt;&gt;<i> - activities like translation can continue in cauldron, meaning less
</I>&gt;&gt;&gt;<i> rush for such updates.
</I>&gt;&gt;&gt;<i> - because cauldron is open to changes (virtually) all the time, they
</I>&gt;&gt;&gt;<i> don't have to be put off and
</I>&gt;&gt;&gt;<i> perhaps forgotten.
</I>&gt;&gt;&gt;<i> - the cauldron cycle is extented by the time of the pre-release
</I>&gt;&gt;&gt;<i> freeze. e.g. In a release cycle of
</I>&gt;&gt;&gt;<i> 6 months and a pre-release freeze of 1 month, the cauldron cycle
</I>&gt;&gt;&gt;<i> would be 7 months.
</I>&gt;&gt;&gt;<i> This allows more time to iron out the pre-release bugs and more time
</I>&gt;&gt;&gt;<i> for cauldron.
</I>&gt;&gt;&gt;<i> - with the longer pre-release freeze, it may be appropriate to modify
</I>&gt;&gt;&gt;<i> somewhat the policy on what
</I>&gt;&gt;&gt;<i> is accepted during freeze. (Certain more recent packages or
</I>&gt;&gt;&gt;<i> translations, for example.)
</I>&gt;&gt;&gt;<i> - note that we would still have to monitor cauldron to avoid freezing
</I>&gt;&gt;&gt;<i> partially implemented complex
</I>&gt;&gt;&gt;<i> changes, such as a major update of kde or gnome or perl, etc. But we
</I>&gt;&gt;&gt;<i> have to do that now, anyway.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So you suggest that in order to help packagers focusing on bug fixing,
</I>&gt;&gt;<i> that we have them take care of cauldron and the bugfixes for the stable
</I>&gt;&gt;<i> release ( ie, twice more the load ).
</I>&gt;<i>
</I>&gt;<i> I wouldn't quite put it that way ...
</I>&gt;<i>
</I>&gt;&gt;&gt;&gt;<i> Proposal 1 :
</I>&gt;&gt;&gt;&gt;<i> ---------------
</I>&gt;&gt;&gt;<i> My personal preference
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;&gt;<i> Pros:
</I>&gt;&gt;&gt;&gt;<i> - better hardware support
</I>&gt;&gt;&gt;&gt;<i> - up to date versions / upstream projects (must have for developers)
</I>&gt;&gt;&gt;<i> - coincides with kde/gnome releases
</I>&gt;&gt;&gt;<i>
</I>&gt;&gt;&gt;<i> - amended freeze process (outlined above) would lengthen both
</I>&gt;&gt;&gt;<i> pre-release freeze time and cauldron
</I>&gt;&gt;&gt;<i> development time.
</I>&gt;&gt;&gt;<i> A 1-month pre-release freeze would add 1 month to cauldron
</I>&gt;&gt;&gt;<i> development time.
</I>&gt;&gt;&gt;<i> This would tend to alleviate the rush of the 6-month release cycle.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> Let's do some math, shall we ?
</I>&gt;<i>
</I>&gt;<i> great :)
</I>&gt;<i>
</I>&gt;&gt;<i> If people work the same amount of time, with work divided on 2 products,
</I>&gt;&gt;<i> they must share their time, and usually work less than if they focused
</I>&gt;&gt;<i> only on one product, unless there is twice the ressources. But I doubt
</I>&gt;&gt;<i> this will happen for us, so let's assume that ressources are fixed.
</I>&gt;<i>
</I>&gt;<i> That was my assumption : resources fixed in terms of time spent.
</I>&gt;<i> And why would that divide a contributor's focus more than now ? They
</I>&gt;<i> would just have a choice.
</I>&gt;<i> Now during the freeze, someone that wants to contribute to cauldron, but
</I>&gt;<i> can't or chooses not to contribute to pre-release bugfix, is not
</I>&gt;<i> contributing.
</I>&gt;<i> So in practice, we risk to have more time contributed during the freeze.
</I>&gt;<i>
</I>&gt;&gt;<i> Let say :
</I>&gt;&gt;<i> - the freeze period is Y weeks,
</I>&gt;&gt;<i> - the time between 2 release is X weeks,
</I>&gt;&gt;<i> - people divide their time evenly on both products.
</I>&gt;<i>
</I>&gt;<i> That wasn't assumed. Rather that as much time would be spent on bug
</I>&gt;<i> fixes, etc. in pre-release. But having a longer freeze period would
</I>&gt;<i> likely result in better quality, and certainly less rush.
</I>&gt;<i>
</I>&gt;&gt;<i> That's a simplification, but I will come back on that later. Let's also
</I>&gt;&gt;<i> count the time spent as the metrics for the work, even if man/month is a
</I>&gt;&gt;<i> wrong unit in software development ( but that's a good enough
</I>&gt;&gt;<i> approximation for our case, given the highly distributed and
</I>&gt;&gt;<i> decentralized nature of the work of releasing a distribution ).
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So when there is the freeze ( at release(n) time - Y weeks ), we will
</I>&gt;&gt;<i> have Y weeks of work done on both products ( next release, and cauldron
</I>&gt;&gt;<i> ), so Y/2 weeks on each. We have X -Y weeks once the release(n) is out
</I>&gt;&gt;<i> ( before the next freeze for release(n+1) ), and then again Y/2 weeks.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So for the release (n+1), we spend :
</I>&gt;&gt;<i> Y/2 + X - Y + Y/2
</I>&gt;&gt;<i> = 2 * Y/2 - Y + X
</I>&gt;&gt;<i> = Y - Y + X
</I>&gt;&gt;<i> = X
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So that give X weeks of work. Fascinating, isn't it ?
</I>&gt;<i>
</I>&gt;<i> Not really. Being my basic assumption :)
</I>&gt;<i>
</I>&gt;&gt;<i> Now, of course, we can say &quot;what if people do not divide their work in
</I>&gt;&gt;<i> 2 ?&quot;
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So let's call :
</I>&gt;&gt;<i> - F the time spent on bugfix during the freeze
</I>&gt;&gt;<i> - C the time spent on cauldron during the freeze
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> We can assume that :
</I>&gt;&gt;<i> C + F = Y
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So the equation become :
</I>&gt;&gt;<i> C + ( X - Y ) + F
</I>&gt;&gt;<i> = C + F - Y + X
</I>&gt;&gt;<i> = X
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So no matter how you divide the time, you still have the same amount of
</I>&gt;&gt;<i> time spent overall.
</I>&gt;<i>
</I>&gt;<i> As I assumed :)
</I>&gt;<i>
</I>&gt;&gt;<i> Now, the real important question is &quot;can we really exchange work done as
</I>&gt;&gt;<i> part of C for work done as part of F&quot;.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> And so &quot;if I do regular packages updates on cauldron at the begining of
</I>&gt;&gt;<i> the cycle, does it count as bugfixing for the release in the end of the
</I>&gt;&gt;<i> cycle&quot; ?
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> To me, the answer is clearly no. If it was somethig we could exchange,
</I>&gt;&gt;<i> we would not have to make a freeze in the first place to make sure that
</I>&gt;&gt;<i> only bugfixes are uploaded in cauldron.
</I>&gt;&gt;<i>
</I>&gt;&gt;<i> So the only way to maximize the time spent on bugfixes is to have F = Y,
</I>&gt;&gt;<i> and so C = 0. Ie, do like we do now.
</I>&gt;<i>
</I>&gt;<i> I really don't follow this line of reasoning.
</I>&gt;<i> The focus on bug fixes starts with the freeze. So a longer freeze would
</I>&gt;<i> give more time to focus on bug fixes.
</I>&gt;<i> Sure, there are updates and bug fixes in cauldron before the freeze, as
</I>&gt;<i> a normal part of any development process. (Even in the non-libre world.)
</I>&gt;<i>
</I>&gt;&gt;<i> And unless you show that letting people work on cauldron will bring more
</I>&gt;&gt;<i> ressources , and more than the one we will lose du to people who do not
</I>&gt;&gt;<i> want to work on bugfixes and the release, I doubt this will change.
</I>&gt;<i>
</I>&gt;<i> Ok. Obviously I need to clarify my point of view.
</I>&gt;<i> Firstly, my assumption was that at least as much time would be spent on
</I>&gt;<i> bug fixing during the longer freeze, but being less rushed, would tend
</I>&gt;<i> to produce better quality results. (And less aggravation for ennael)
</I>&gt;<i> (That is certainly how it works in the non-libre world.)
</I>&gt;<i>
</I>&gt;<i> I don't see how having the choice between contributing to pre-release or
</I>&gt;<i> cauldron during the freeze will lead to us loosing _any_ contributors.
</I>&gt;<i>
</I>&gt;<i> As well, since cauldron would be out of freeze virtually all the time,
</I>&gt;<i> there would be (virtually) no period where contributions to cauldron are
</I>&gt;<i> blocked.
</I>&gt;<i> Packager time is not an ubiquitous resource. Some packagers are perl
</I>&gt;<i> experts, other python, etc. Each packager is more familiar with some
</I>&gt;<i> packages than others. Some packagers are excellent developers; others
</I>&gt;<i> are challenged by basic scripts. There is a wide range of skills and
</I>&gt;<i> interests.
</I>&gt;<i>
</I>&gt;<i> If during freeze, a packager has a choice between attempting to help
</I>&gt;<i> with a bugfix in pre-release for a package with which s/he is not
</I>&gt;<i> familiar, or contributing to cauldron for something with which s/he is
</I>&gt;<i> familiar, it would be evidently more efficient to contribute to cauldron.
</I>&gt;<i>
</I>&gt;<i> Similarly, if a packager contributes a bug fix to pre-release, and a
</I>&gt;<i> newer package already exists in cauldron for which the same bug fix must
</I>&gt;<i> be applied, it is more efficient to apply the same patch right away,
</I>&gt;<i> than to wait until freeze is over. (Personnally I've encountered this
</I>&gt;<i> sort of situation with similar but different software many times. Any
</I>&gt;<i> experienced programmer should understand this point.)
</I>&gt;<i>
</I>&gt;<i> So there are a lot of (admittedly small) synergies which should lead to
</I>&gt;<i> packager time being more efficiently used.
</I>&gt;<i> Not counting the likelyhood that some packagers would contribute
</I>&gt;<i> somewhat more time, being able to contribute to cauldron during freeze.
</I>&gt;<i> The major benefit in my mind is the longer freeze period.
</I>&gt;<i>
</I>&gt;<i> How much this would help, I don't know. But I think it is worth a try.
</I>&gt;<i> (Even if we end up going for a 9-month release cycle, instead of my
</I>&gt;<i> preferred 6 months.)
</I>&gt;<i>
</I>
Another thought about the amended freeze process.
Have you noticed how packagers sometimes set off an exchange of 10 or more emails in attempts to 
get a package into the release during the freeze ?
The packager wants to submit, but they can't because cauldron is frozen.  Maybe if only pre-release 
were frozen, but cauldron open, they would accept submitting to cauldron after only 1 or 2 
exchanges.  They would have the at least partial satisfaction of being able to submit their package 
(instead of waiting, and doing something else, probably elsewhere), and others would have been 
releaved of the hassle of dealing with their repeated requests.
I think that would be more motivating for the packager in question, as well as the others involved.
And packagers would avoid wasting both time and energy.

-- 
Andr&#233;
</PRE>









<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="005832.html">[Mageia-dev] Release cycles proposals, and discussion
</A></li>
	<LI>Next message: <A HREF="005841.html">[Mageia-dev] Release cycles proposals, and discussion
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#5840">[ date ]</a>
              <a href="thread.html#5840">[ thread ]</a>
              <a href="subject.html#5840">[ subject ]</a>
              <a href="author.html#5840">[ author ]</a>
         </LI>
       </UL>

<hr>
<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
mailing list</a><br>
</body></html>