[Zope3-dev] Roadmap for Zope 3.4

Martijn Faassen faassen at infrae.com
Tue Sep 12 09:50:29 EDT 2006


Jim Fulton wrote:
> 
> On Sep 12, 2006, at 8:40 AM, Martijn Faassen wrote:
[snip]
>>> One problem we have is getting things to be tested.  It hardly 
>>> motivates people to test for and report bugs if their reports
>>> don't affect he release. I think we have a serious problem that
>>> needs to be addressed.  I don't think the right way to address it
>>> is to release despite known serious bugs.  Note that some
>>> judgement goes into considering whether a bug is serious enough
>>> to block a release.  We don't block a release for just any bug.
>> 
>> Before a release, bug triaging needs to take place.
> 
> Which we do.

I know, but perhaps we need to be a bit more aggressive. Christian
Theune's point about empowerment to defer a bug may be useful. We may be
a bit too fearful sometimes to defer bugs right now.

>> I recall you saying we defer bugs too often and bugs never get
>> fixed, so we should stop doing any feature work until all bugs are
>> fixed, etc.
> 
> We should. We have yet to do this.  As I mentioned in another note,
> we should prevent new features at the beginning of a release cycle
> until we've caught up on past bugs.
> 
> Trying to address old bugs was not responsible for the delays in the
> 3.3 release.

I think it contributed, though fully agreed it isn't the only source of
the delay.

>> I call that perfectionistic.
> 
> Then your idea of perfection and mine are far apart. Letting bugs 
> languish for months or even years is not acceptable.  Ignoreing bugs
>  reported during beta testing, when we get too little testing to
> begin with is unacceptable.

*Ignoring* bugs is unacceptable. Explicitly deferring a bug for months 
is acceptable, as there are always more bugs than we can fix, and we 
should fix the bugs of the highest priority. A low-priority bug may 
therefore languish. I'm not saying we are doing this correctly *now*, 
but such would be a reasonable process.

>> I think we have been blocking this release with a selection of bugs
>>  that included quite a few that weren't absolutely critical.
> 
> Name a few.

Good point. Going through the bugs fixed over the last period makes them 
seem all important to me or alternatively, lesser important bugs fixed 
by the reporter themselves. Perhaps a hard-headed release manager who 
will say "important schrimportant" and defers the issues anyway would've 
been useful.

Still:

http://www.zope.org/Collectors/Zope3-dev/553

http://www.zope.org/Collectors/Zope3-dev/576

http://www.zope.org/Collectors/Zope3-dev/540

http://www.zope.org/Collectors/Zope3-dev/530

http://www.zope.org/Collectors/Zope3-dev/537

http://www.zope.org/Collectors/Zope3-dev/583

http://www.zope.org/Collectors/Zope3-dev/534

Some issues were only discovered way after we should've done the 
release. We've been
fixing these as part of the release process. All of these issues appear
to be reported after mid-july or later, though. I  think those are good 
bugfix release candidates, and shouldn't have been blocking our 3.3 
release (not all of them are marked critical, but these all have been 
fixed):

http://www.zope.org/Collectors/Zope3-dev/677

http://www.zope.org/Collectors/Zope3-dev/675

http://www.zope.org/Collectors/Zope3-dev/676

http://www.zope.org/Collectors/Zope3-dev/679

http://www.zope.org/Collectors/Zope3-dev/674

http://www.zope.org/Collectors/Zope3-dev/683

http://www.zope.org/Collectors/Zope3-dev/681

http://www.zope.org/Collectors/Zope3-dev/683

http://www.zope.org/Collectors/Zope3-dev/682

http://www.zope.org/Collectors/Zope3-dev/680

http://www.zope.org/Collectors/Zope3-dev/673

http://www.zope.org/Collectors/Zope3-dev/690

http://www.zope.org/Collectors/Zope3-dev/696

http://www.zope.org/Collectors/Zope3-dev/691

http://www.zope.org/Collectors/Zope3-dev/697

Since these all were reported in july or later, we couldn't possibly 
have fixed them if we'd have released in june. :)

>>> I would suggest we triage bugs a lot more aggressively instead. I
>>> say this as someone who spent a few afternoons staring at Zope 3
>>> bugs trying to get them out of the way.
> 
> I've spent way more than a few afternoons.

Gratefully acknowledged.

>>> I can think of a number of ways to approach this problem: 1. Do
>>> less frequent releases.
>> 
>> I do not believe this helps a lot for bug fixes. If we have twice
>> the release period, people won't start fixing bugs twice the amount
>> of time in advance,
> 
> Right. This, alone is not a solution.
> 
>> and we won't get twice the volunteers either.
> 
> No, but it will halve the work for the small existing group of
> volunteers.

I do not believe this to be necessarily the case. The list of bugs fixed 
that were reported after our supposed june release is one reason why I 
think that. The other reason is that there'd be two times as much space 
between bugfixing rounds, which will make bugs languish and people get 
out of the habit of fixing them.

>>> 2. Feature freeze the trunk until the previous release has made
>>> it to release candidate status
>> 
>> You mean don't branch the trunk (and thus let it be the release 
>> branch) until the release has made it to release candidate status?
> 
> Yes.  I think it is a shame to have to do this, but I think this is
> now necessary.

I think this is a good idea.

> I would go further.  I would not unfreeze the trunk until until we've
>  cleaned up all open bugs, either by fixing them or rejecting them.

-1

>>> 3. Release less.  I think it's time to start thinking of some
>>> sort of "core" Zope 3 that we can manage with the very limited
>>> number of volunteers we have now.
>> 
>> +1, though I wonder how much this has been blocking the release - 
>> important bugs that could block releases don't tend to be in out of
>>  the way components, one would think.
> 
> I spent a lot of time on crap that wasn't core at all.

So why were these critical issues? What happened during triaging?

>>> 4. Get more volunteers.
>> 
>> Getting a release out is *difficult* and the amount of volunteers 
>> available, while important, is only partially related. More
>> volunteers won't speed it up tremendously much and can even slow
>> things down. Plone has many volunteers and has had much problems in
>> the past doing timely releases. Silva has had far less volunteers
>> and can do more agile releases, because there's less people to
>> manage.
> 
> And because it is much smaller. 

Yes, smaller helps.

> I think we're far from having too
> many volunteers on Zope 3 maintenance.  I'm not optimistic that we'll
> get more volunteers, which is why I'm inclined to release less.

I'm coming from the perspective of trying to work best with the existing 
volunteers as well.

>>> These are just some ideas. But something has to give and I don't
>>>  think it should be responsible bug fixing prior to release.
>> 
>> Large Zope 3 projects have been working against 3.3 for many months
>>  now. If there was any absolute showstopper in Zope 3.3, why have
>> these projects successfully transitioned?
> 
> It all depends on how large you want the audience to Zope 3 to be.  A
>  small community on a limited number of platforms can work around 
> well-known problems.

I think such a larger audience needs to grow organically and has fairly 
little to do with the bugfixing issues.

>> Who or what would have been hurt exactly had Zope 3.3 been released
>> in june?
> 
> Well, we would have been hurt badly as the first beta release, the
> one made at around that time was badly broken.

Who is we? Why would we have been hurt? Even if such a badly broken beta 
would've gone out (which I was not suggesting, obviously we do *some* 
testing), we could've done a bugfix release.

> There were some serious bugs.

Agreed.

> We would have demonstrated pretty clearly that we don't care about
> quality.

To whom? What if we'd have followed up with bugfix releases? What about 
demonstrating we can release when we say we will?

>> I don't think it's Zope 3's reputation that would've been hurt, as
>>  Zope 3.3 in june was not *that* buggy. Bugfix releases are also a
>>  completely accepted practice.
> 
> Except that we don't do much of those and we put little effort into
> the ones we do do.

Let's do more bugfix releases. I don't think they can be avoided anyway.

>> I still think our quality standards for a release have been too
>> high. Getting people to fix more bugs is good, sure, but perhaps we
>> should separate this at least somewhat from the release itself.
> 
> Sorry, I agree very much.  I'd be willing to defer to a Zope 3
> release manager, if there was one.

I'm not sure what 'sorry, I agree very much' means.

>> If we're going to do timebased releases, we should have a button 
>> somewhere that says 'make a release', and a date on which the
>> button is pressed. If the release is botched, we can press the
>> button again for bugfix releases, and we have 6 months in which to
>> do a better job next time.
> 
> IMO, that would be a disaster.

In what way? To whom?

Regards,

Martijn



More information about the Zope3-dev mailing list