surorisingly interesting discussion over a topic that seems so simple ;-) how about following http://semver.org? that seems to be simple and making sense?
Sent from my galaxy tab On Jan 17, 2012 6:54 PM, "Clint Byrum" <[email protected]> wrote: > Excerpts from Henrik Ingo's message of Tue Jan 17 07:57:28 -0800 2012: > > On Mon, Jan 16, 2012 at 11:58 PM, Clint Byrum <[email protected]> wrote: > > > Forgive me for jumping into this part of the discussion a bit unarmed > > > with facts, but I am puzzled as to how we got here. > > > > Oh, you as representing 2 distributions are perhaps the main consumer > > of the source releases, please do comment! > > > > > Its not clear to me why the current tarball is versioned 2012.01.30. > Why > > > aren't we just versioning each tarball on the way to 2012.01.30 as the > > > day it is released? If a second beta/rc/etc. is needed on said day, > then > > > that would be 2012.01.16.1, and if we go past 9 of those (given hours > of > > > build time and testing, this seems unlikely) then move on to letters. > Or > > > the revno can be used for subsequent patches on the same day. It is > rather > > > confusing to have a future-dated tarball that is unqualified in its > name. > > > > See, this is the reason the current system is bad, even you are > > confused. The meaning of the numbers in our most recent release is: > > > > 2012 = year of the release > > 01 = month of the release > > 30 = how many releases were done of the Fremont series, (ie *not* day) > > > > To compare, the previous release, made in November, was 2011.11.29. So > > the last digit was one less than 30. > > > > Otoh the release names on launchpad, which each download file is part > > of, are dates. So they are not identical to the release numbers in the > > source tar.gz. It's a mess... Even the people doing the releases are > > confused... > > > > >> > Also, using bzr revnos and dates gets us daily/snapshot builds that > can > > >> > be packaged very easily and we don't have to have a human remember > to > > >> > bump a point release. > > >> > > >> We should continue to use the current system with bzr revnos for > > >> snapshots, there is no need to change that. > > >> > > >> For the first part of the version number... even if it looks like a > > >> date, it's just a tag. It could be anything. Pandora uses the latest > > >> tag from bzr. In other words, we can still choose to call our versions > > >> 7.1.30.x or 2012.01.30.x, just not both. (x is the revno that is > > >> automatic.) > > >> > > >> For major releases, unfortunately a human just has to bump the number. > > >> I see that this is a very hard demand as nobody has thought of doing > > >> that for the past 9 months that you have been releasing Fremont > > >> releases, but just continuing to release Drizzle7 again and again > > >> every year is just very wrong and needs to be fixed asap. > > >> > > > > > > I'm not so sure I would agree with this. If there have been no backward > > > incompatible changes, then it seems fine to me to just keep calling it > > > "drizzle7" unqualified. Yes, its got more features, and bug fixes, but > > > I would presume that an app written to work with elliot will still work > > > with fremont. If thats not necessarily true, then 7.1 does seem to be > > > the prudent thing. > > > > Oh no, many people would not agree with that: > > > > - A new release, ie 7.1 instead of 7 is a hint to people there is new > > stuff to try out. Remember that even if we don't do it, theoretically > > we should also release bug fix releases of elliot. (I will not even > > attempt to speculate what version number such a release would have :-) > > > > - Some distributions specifically don't want to upgrade to versions > > that have any new features, they only do bug fix upgrades through the > > lifetime of the distribution. It took us a long time to educate them > > that that is exactly how MySQL releases do too so they should just > > consume the new releases that are updates to a major release. (Where > > major is 5.0.x 5.1.x and 5.5.x.) > > > > - DBAs are a conservative lot and definitively don't want new > > features within a release series (I got asked about this release > > policy a lot when selling MySQL - they always wanted to hear we don't > > add features past a GA date). Hence someone should be able to stay on > > drizzle 7 and not get any new features. New features should be called > > something else, like drizzle 7.1. > > > > >> So, should we go with 7.1.x or 2012.01.x? As much as you like the date > > >> based releases, I'm for the 7.x.x numbering. Currently we make > > >> releases like 2011.03.14, 2011.11.13 and 2012.01.30. You think it's > > >> convenient to just slap a date on it and not care. But for users this > > >> is actually confusing: from those numbers you'd thing that 2011.x are > > >> part of the same series and 2012.01 is an upgrade. But this is wrong, > > >> in fact 2011.11.13 is elliot and 2011.11.13 and 2012.01.30 are > > >> fremont. Hence the current versioning scheme - while deterministic - > > >> is nonsensical. > > >> > > > > > > IMO, the 7.x is quite arbitrary, and I like the date based releases as > > > well.. but only for development milestones and for series releases > (GA). > > > > > > I've stated in the past that elliot releases should never have been > > > allowed to be date based. 2011.03.14 has meaning as a point in time > > > where backward compatibility is guaranteed, so patches to this should > > > be 2011.03.14.01, rising from there. If not an arbitrary monotonically > > > increasing number, then use the revno from the elliott series branch. I > > > have to agree that its incredibly confusing to version the patch > releases > > > the same way as milestones in the development effort. Doing so means > > > definitely needing to add the 7.1 if we release another GA and intend > > > to carry on the practice. > > > > Note that there was no 2011.03.14 release. The tar ball release is > > 2011.03.13. It was released on 2011-03-15 (a date). Why the launchpad > > release name is 2011-03-14 is a good question... > > > > Confusing? Yeah... > > > > So an upgrade to elliot might be versioned 2011.03.15, one higher than > > 2011.03.14. Or if it was to be something else, then we would be > > completely lost. But we are already... > > > > >> If we want to do date based numbers, it should be like Ubuntu, where > > >> the version number comes from the release month of the release. Ie > > >> current beta and rc releases are already labeled 12.04-beta, not 12.01 > > >> (there is no such ubuntu release). To do this, we would need to know > > >> in advance which month a development series will be released as > > >> stable. Since that will never happen with this gang (and is > > >> unrealistic with 12 month cycles, imho), we should just use 7.1.x > > >> version numbers. > > >> > > > > > > Right, if milestones are going to be numbered the same across series > then > > > a traditional semantic version numbering scheme is preferable. > > > > > > However, you don't need to know the end release date to use date based > > > release numbers. You just have to know when you marked the GA, and then > > > only patch that. This goes for Ubuntu too. We release patched LTS CD's > > > as 10.04.1, 10.04.2, etc. We have let an LTS slip before as well. > Dapper > > > was not 6.04, but 6.06, so the version number is never certain, and > > > nothing breaks if its pushed out a bit. > > > > > > > That's true. Even so, it seems the current system is confusing and > > nobody knows what the version number is. An arbitrary number that > > doesn't look like a date, like 7.1.x could be used across the whole > > series, both before and after GA, and there wouldn't be any > > assumptions for which day the GA release should happen or did happen. > > > > Otoh, if people want the release numbers that look like dates but are > > not, then at least the 7-based numbering needs to die. It is either > > or. But imho, and this email should be a perfect illustration why, the > > current looks-like-a-date-but-is-not versioning is the one who > > deserves to die... > > Thanks for setting me straight Henrik. I think I understand it all now. > > I think the current scheme is ok, but really, I would almost suggest > starting counting at 100 or 40 just to make it clear that it is *not* > the day of the month. > > The 7.1 is fine to denote that this is a "new thing" over "7". I'd also > be in support of a move to purely semantic version numbers, so 7.1.0, > then 7.1.1, etc. etc. > > _______________________________________________ > Mailing list: https://launchpad.net/~drizzle-discuss > Post to : [email protected] > Unsubscribe : https://launchpad.net/~drizzle-discuss > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

