Re: Future squid development

From: Andres Kroonmaa <andre@dont-contact.us>
Date: Wed, 4 Oct 2000 00:56:25 +0200

On 3 Oct 2000, at 22:00, Henrik Nordstrom <hno@hem.passagen.se> wrote:

> > Would someone describe what "HEAD" exactly means? squid-2.4-devel?
>
> HEAD is a CVS term for the HEAD revision which is the newest bleading
> edge version.

 you mean, including unfinished total rewrite also, for eg?

> Then from the HEAD version you have branches when a release stabilizes
> and gets a live of it's own, such as the STABLE releases for Squid.

 So, until HEAD-based new Stable is released, HEAD is pretty much
 unstable and unusable, right?
 Make it clear, how stable is it compared to 2.3Stable4?

> HEAD is always the current development version of the Squid which is
> meant to be the next Squid version someday.

 ie, currently 2.4devel? or is it 2.3stable-latest?

> > made to next devel tree. Therefore I think it would be nice if we
> > make difference between versions of "HEAD" - one that is based on
> > stable should be expected to be stable, and the one that is based on
> > next version is expected to be beta/devel grade. Whether a branch
> > should be committed to stable-head or devel-head would be decided
> > by developers.
>
> Well, I think you are actually aming at the same goal here.

 yes, of course.

> The goal is to allow expermental features to rapidly develop without
> having a negative impact on the overall stability of the Squid release,
> and to allow rapid inclusion of these into the distribution once tested
> and proved useful.

 Whats been frustating me abit is that it is quite hard to find out what
 is what. What the HEAD is based on, how stable it is, etc. If I understand
 it right, then HEAD is currently 2.4, alpha, and noone even really knows
 how stable it is on production box, because noone really uses it.

 Usually, when people feel that it is time to make a new stable release,
 then spike of activity starts during which some good coders take a very
 close look at the code and bring it up to stable. Then its released and
 during some few months several new releases are made with often critical
 fixes.
 This is very discouraging to use HEAD as your development platform.
 I have to date sticked with latest Stable and hacked on it. At least
 I have a solid ground and blame myself first when I screw it.
 And I have a good reference point, snapshots or devel-HEAD are moving
 targets. If you are not too much CVS-guy, then it isn't attractive.

> > In general, I think we should have a version that fits between Stable
> > and Beta of next version, and be usable on production caches. Such
> > version should be based strictly on currently stable version, and only
> > differ from it by new committed features added to it.
>
> This we already have in the nightly snapshots.

 hmm. isnt these daily snapshots just bugfixes to stable? ie. latest
 current snapshot is early 2.3Stable5 ? And btw, why daily, why not
 "only if changed"?
 And do you mean that Cygwin and NTLM branches would appear here after
 merging?

> The question is if we
> should branch off a Squid release from HEAD prior to releasing the first
> STABLE version, or if new features should be deferred while the next
> release matures to STABLE.

 What I'm aiming at is that new HEAD should be branched from latest STABLE
 immediately after first STABLE release, next release ver (DEVEL) be based
 on that HEAD, and all branches based on that HEAD. All critical changes
 should be hacked on DEVEL and left out of HEAD. When a new feature (branch)
 is reaching stable state, it is committed to HEAD (and thus automatically
 to DEVEL).
 When DEVEL reaches milestone of releasing new Stable, then all features
 of HEAD are reevaluated, cleaned up, integrated with changes in DEVEL,
 and new STABLE released. After that old HEAD is retired and no new updates
 to it. Old STABLE continues to have updates by bugfixes for some time.
 New HEAD is spawned from new STABLE immediately and new circle begins.
 If this is currently the case, then I only wish to see more clear
 description of that on the web.

 For me, to date 2.3.STABLE-hno has been closest to what I want, ie.
 latest Stable + more). What I'd like to see is that there is 2.3HEAD4,
 that is clearly known to be based on 2.3STABLE4, and that this HEAD
 could have branches committed to it when ready instead of waiting for
 next (2.4) release. And this be publicly available and encouraged to
 be used by brave people. Someone could for eg hack together a cool
 new feature just for the heck of it, and we currently have no public
 place to put it for use - STABLE tree is sacred, 2.4DEVEL/HEAD is
 unstable..

 If latest Stable-HEAD isn't stable, people could revert back to
 previous or STABLE, or take that HEAD and get it fixed.

> > So, we should have 2 heads: Stable-head and Devel-head, I think.
>
> HEAD is what will become the next Squid version.

 well, maybe my naming isn't correct, I don't know. Maybe multiple HEADs
 don't even make sense from CVS perspective. Maybe we should call it
 STABLE+NEWFEARURES (eg. 2.3STABLE4-NF, or smth)

 My point was that there are different kinds of new features, radical
 and not so radical. For eg, modio cannot be merged with latest stable,
 as it needs some redesign in squid, but commloops could be. Yet I
 cannot really participate in commloops easily because its based on
 something I understand is unstable. I have no time nor resources to
 test it on separate box. But if I knew its based on stable release,
 I'd run it on my production boxes and would iron out any bugs I
 discover. Adrian is also in some trouble developing it, because he
 has very little feedback, and it won't appear before next release(2.4)
 is out. This also doesn't encourage to wrap it up yet, isn't it?

 Of course, I'm not insisting on anything, I just feel that some
 features should be added to public for use before next major release
 and after feature-freeze, besides to stable tree.

------------------------------------
 Andres Kroonmaa <andre@online.ee>
 Delfi Online
 Tel: 6501 731, Fax: 6501 708
 Pärnu mnt. 158, Tallinn,
 11317 Estonia
Received on Tue Oct 03 2000 - 16:59:34 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:40 MST