On 02/25/2012 05:27 PM, Timo Kreuzer wrote:
There is a difference between a project that is in use (like Firefox)
and a
proejct that has no use except showing how far it is.
It is true that one of the major arguments for "release early, release
often" is to improve the contact between the users and the developers.
It improves user feedback and with that the chances that you are working
on what users actually want. It's arguable whether ReactOS could benefit
from that.
There are, however, other benefits. For example, making QA easier is an
oft cited benefit. Similar to what Andrew Faulds noted.
A project like reactos can only show "look, this
is what we have so far,
it still doesn't work".
A too short release cycle can result in too few actual changes, and
people don't really see many improvements.
Also release can become boring (yet another release without major
improvements...)
Too long without hearing anything is also boring. If you want to keep
ReactOS interesting, you need to launch great features on a regular
basis. Waiting with a new release, until an awesome feature arrives, is
not more interesting than releasing all the time without exciting features.
Another final disadvantage is that heavy changes are
really hard to get
in in a tight schedule.
After a release devs might be tempted to rush their changes in as soon
as possible, possibly causing multiple major changes being comitted at
once.
Fast release projects usually have several branches simultaneously.
Firefox, for example, develops features in branches. If it doesn't look
like it will be ready for the planned version the feature would land in,
the targeted Firefox released is simply moved. When it's ready, the
feature is merged into master. When it is time for a release, master
moves to Aurora channel, the next release it moves to Beta, until
finally it moves into 'the real firefox' three releases later.
Therefore I would prefer releases in a multiple month
cycle. Every month
or every 2 doesn't seem to be reasonable for our project at the moment.
Matching ReactOS's release schedule to Firefox' doesn't make sense. It's
a completely different product, with different people and different
needs. The general principle of release early, release often still
stands, but what is "fast" and "often" can get a different meaning
compared to Firefox.
What do you think about developing multiple channels simultaneously?
After 2 months, release alpha, after 2 months, release beta, after
another 2 months, released. That way, new features appear 'on the radar'
every 2 months, but they don't need to be completely polished for 6
months. Users would expect Beta to be generally usable, even if there
are some bugs or regressions, and you'd do your best to keep Alpha
usable, but don't guarantee anything.
Emanuel