Carsten Ziegeler wrote:

Daniel Fagerstrom wrote:
That is a reason for increasing minor version, but not for maintaining parallell branches for years.
If we don't maintain the "old" 2.1.x branch, what about all its users?
Do you want to force them to migrate to 2.2? That's simply not
realistic. We should be able to provide bug fixes for all those out
there using our project.
Have never disputed that we have to maintain 2.1 for some while and that we must go the alpha->beta->stable cycle for 2.2.

My message is that I fail to see that we gained anything from creating an unstable development branch and that we should avoid doing that mistake in the future.

If we want to remove deprecated code, we have a routine for that: wait long enough time, so that everyone have had the chance to do anything, vote about it, remove the code and step up the minor number. If we at that point feel that we still need to maintain the previous version, it means that we removed the deprecated code to early and the we probably should readd it and schedule the removal to the next minor release. Mainteining two versions because of to early removal of deprecated code seem like a bad idea.

For API changes the situation is obviously more complicated, so we must really know what we are doing and if possible make it possible to use the new and the old in parallell for some while.

If this can't be done, we need to maintain an old branch for a period. But in this case we should try to decide for how long time we maintain it and remove it afterwards. And it should IMO be marked as a compability branch rather than the stable one.

IMO we should really try to let trunk contain the stable branch in the future. The idea of an unstable development doesn't seem to fit well with our *actual* community dynamics. And it doesn't fit well with agile development methods either. And it is IMO highly questionable if it has done anything good for us since 1.0->2.0. To me it rather seem to hurt us.

/Daniel

Reply via email to