The only people who can have release dates are people who do this stuff as their job. They get fired if they stop working.
I disagree completely. First of all yes you have release dates for a job, but:
Oh these deadlines, don't you love the wooshing sound they make as they fly by?
On the other hand there has been a movement in most major open source projects from "It is ready, when its ready." to a fixed release schedule. (Gnome, Xorg, Ubuntu, Debian, ...)
Most of the time they did not even hold the date, but they always released earlier than without a fixed release date.
There are several reasons for that (thanks goes to Michael, former debian project leader for a very nice talk about this in Girona, during Jornade SPL this year):
One is, without a date most of the time it goes like this in open source projects:
Release Manager: Okay, now we are stable enough, lets fix the remaining bugs and then do a release.
Devel 1: But well this feature I have I really just need 1 week more and I could get it in.
Release Manager: Okay, of course we can delay for 1 week.
(one week later)
Devel 2: Please, before I was not ready, but now I have made so much progress, just a little more time.
Release Manager: Okay, but then we are really going into the bug squashing phase.
Devel 3: But ...
... and so on ...
We have calculated that the thing devel 1 wanted to have in in the extremst case, was later in, then if he had waited one whole release.
Fixed release schedules (like every year or every 6 months or every 3 months) have several advantages:
- Your users know it and are not asking "dumb" questions.
- Your users anticipate it.
- Your developers know it and will not try to get that 80% working feature in, but will patiently finish it, because the next release is just around the corner anyway.
- You get more experiences with releases and as its always the same time of the year, also with the surroundings (like vacations, summer breeze, motivation, christmas eve, ...)
You do not even have to hold it to the day, but just having a feeling for when the next release will be done is very very good, because it gives _clarity_ to everyone.
And it also seems to work with the help of the subconscious, as you somehow "know" its coming and behave accordingly. Without a date there is more a feeling of - well its still months away.
Funnily enough it also gives people motivation, because they know if they get it in, before the code freeze, it will be in. And they also know that the bugs need to be squashed before the release.
Of course, this is just my opinion, but I found it very helpful.
cu
Fabian