Mark Mitchell wrote:
Andrew MacLeod wrote:
we can at least make projected dates known so we have something firmer
than "at some point in the future" :-)
As RM, I try to take into account what I know about when distributors
will be applying effort, but I must absolutely avoid in any way tilting
the FSF release process towards the needs of one distributor, possibly
at the expense of another. I don't think it's appropriate for us to set
a schedule tailored to any one distributor's needs -- and there are a
lot more distributors than just Red Hat and SuSE, so I'd say that even
if you were on the same schedule. But, I certainly do think it's
helpful for a contributor to tell us when resources might be available
and I appreciate you sharing that information.
I'm not suggesting we tailor the schedule to a specific distributor, but
I do think when we have useful information that a client of GCC will be
choosing a release by $date, it might be worth considering how that fits
into the current or future release schedules. Fortunately we seem to
have an alignment of the planets at the moment, so it doesn't appear it
will be much of an issue for this release. we got lucky. 12 months ago,
it might have actually been planned instead of luck had fedora and suse
said our plans are to be looking for a compiler in early Q3/2007 and
then again in Q1/2008. And if other distributions provided approximate
dates, we'd see where "ooo, look, 5 distributions will be looking for a
compiler in Q1/2008. perhaps we should try to arrange our schedule to
have a release available then. That means stage 1 goes to june, stage 2
goes to mid september, and that should result in a release in late
Q4/early Q1 which all those distributions will be interested in". I
think we'd see a lot of resource pumped into getting that release out.
If the schedule had shown not more than 1 distribution was looking for a
release until June of next year, perhaps we decide to delay things
further to allow more development.
One of the reasons we sometimes languish in stage 3 is because a release
is not interesting to enough parties. They end up spending their
resource working on a future release which will be of interest to them,
and stage 3 drags on. I think our best bet at making stage 3 practical
and short is to have enough interest in getting the release out. And
the reality of the situation is that you probably need a couple of
distributions interested in it. It looks like thats the case with this
release, and I am hopeful that we are going to have a reasonable stage 3
and get a release out in a timely fashion. In the future, we can
probably accomplish the same thing if we try to align a release date
with interested parties.
If you're interested in driving the release to a particular date, the
best thing you can do is to go clear out the P1s in bugzilla and then
bash out a few P2s. (I've noticed Red Hat folks doing some of that
already, thanks!) I'd imagine that the dates you want to hit would be
achievable if you, Jakub, Jason, etc. all work on issues.
We do intend to do that, but its easier to get the resource assignments
if we can say "gcc 4.3 is currently planned to be released on Feb 8th,
but we need 25% of 3 developers for 3 months to help make sure". It
boils down to the same thing to you and me, but not to the other
projects and people involved. If we can set a trend like this, and we
meet a couple of release dates accurately, we might be able to regularly
get resource assigned to releases.
I've found schedules for GCC to be very hard to predict. As I said in
my status report, our practice has been to cut the release branch when
we reach 100 regressions, and release 2-4 months after that point,
depending on quality on the branch. To be honest, I'd rather wait
longer to make the branch -- but there tends to be intense pressure in
the developer community to make a branch so we can get on to the next
round of major features. In any case, after we make the branch, it's in
regression-only mode, so stability tends to be quite good, though
dot-zero releases are, after all, dot-zero releases.
Yeah, I'm not so concerned about whether we cut a release branch early
or not. Cutting a branch, or saying mainline is regression only, or
whatever mechanism boils down to the same thing. The key is to get
people working on it because the release is needed. If the release is
needed, its likely to be needed by a certain date. In the past our dates
have been set fairly arbitrarily by ourselves right? If our date
coincides with dates that others actually need the compiler by, I bet we
see a lot less slippage. I just suggest we try it, it really not that
big a change in my view, and I think it may solve come of our problem in
getting focus on releases. I have no doubt that if we set a date in
early february, we'll probably make it. And I'd like to see if we can
reproduce that in the future.
Just my opinion :-)
Andrew