Re: Time-based Releases WAS: 8.5 release timetable, again - Mailing list pgsql-hackers

From Stuart Bishop
Subject Re: Time-based Releases WAS: 8.5 release timetable, again
Date
Msg-id 6bc73d4c0909080717s4f4c4365tcf007bac2d591552@mail.gmail.com
Whole thread Raw
In response to Re: Time-based Releases WAS: 8.5 release timetable, again  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Time-based Releases WAS: 8.5 release timetable, again
List pgsql-hackers
On Tue, Sep 8, 2009 at 7:54 PM, Andrew Dunstan<andrew@dunslane.net> wrote:

> The release cycle is quite independent of the release lifetime.

If you have dates on releases, it is easier to set dates on release
lifetime. If you know the releases come out once a year at about the
same time, and you want to have a set number of versions in play, you
can state at release time when the community will stop support. This
gives everyone a clear picture to people what versions they should be
targeting and when upgrades will be required.

> In any case, I don't accept this analogy. The mechanics of a Linux
> distribution are very different from the mechanics of a project like
> PostgreSQL. The prominent OSS project that seems to me most like ours is the
> Apache HTTP project. But they don't do timed releases AFAIK, and theirs is
> arguably the most successful OSS project ever.

We find it works for stuff other than Ubuntu too. IIRC original
concerns where you could do it for a small open source project,  but
it would be impossible to do when juggling as many moving parts as a
Linux distribution. You might find the document I cited is for a
project with similar issues to PostgreSQL and may address your
concerns. It seems to work for other large projects too, such as
Gnome, as well as smaller ones. People are discussing switching for
reasons Joshua cited (maintaining momentum, planning, enterprise
adoption etc.), because people find it a good idea on other projects
they work with, or maybe because they read too many articles on agile
and lean development practices. It seems to be working fine for me
personally (I work on launchpad.net, which is an Open Source
mostly-web  application using generally Lean/Agile development
methodologies, a one month release cycle and a team of about 30 spread
over all timezones).

> I'm especially resistant to suggestions that we should in some way
> coordinate our releases with other projects' timings. Getting our own
> developers organized is sufficiently like herding cats that I have no
> confidence that anyone will successfully organize those of a plethora of
> projects.

I tend to think it will evolve naturally as more people switch to time
based releases. Its natural to sync in with the OS releases your
developers care about because it makes their lives easier, and its
natural for the distributions to get in sync too because it makes
their developer's lives easier. But only hindsight will tell of course
:-) With a yearly schedule, it probably doesn't matter much except for
distributions with a 2 or 3 year cycle - you would still end up with
latest PostgreSQL a maximum of I think 8 months after the official
release.

> I am not saying timed releases are necessarily bad. But many of the
> arguments that have been put forward to support them don't seem to me to
> withstand critical analysis.
>
> I would argue that it would be an major setback for us if we made another
> release without having Hot Standby or whatever we are calling it now. I
> would much rather slip one month or three than ship without it.

This is why you want your cycle as small as possible - if you have a 6
month cycle for instance, the feature would be available a maximum of
6 months after it is ready. With the feature based release cycle, what
if it still isn't ready for prime time after three months of slippage?
Having one feature slip hurts, but having all features slip hurts
more. Josh cited several examples where he felt similar situations had
hurt PostgreSQL development. Of course, if you think it is critical
enough you can let it slip and if it is critical enough people will
understand - we let one of the 10 Ubuntu releases slip once and people
generally understood (you want to get a LTS release right since you
have to live with your mistakes for 5 years). There was some flak but
we are still here.

I personally suspect PostgreSQL would want a 1 year cycle for major
releases while a full dump/reload is required for upgrades. When this
changes, 6 or even 4 months might actually be a good fit.

-- 
Stuart Bishop <stuart@stuartbishop.net>
http://www.stuartbishop.net/


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Time-based Releases WAS: 8.5 release timetable, again
Next
From: Tom Lane
Date:
Subject: Re: integer input functions : interesting limit behaviour