
On Fri, 2009-03-27 at 18:49 +0100, Daniel Veillard wrote:
I would suggest the following: - I post every week, say at the end of the week when I think the next releases will be likely to occur, trying to refine as we get closer - We try to not make any release if there isn't a 2 week advance warning - we try to get everything commited one week before the release as to get some kind of feature freeze one week in advance for testing as Dan requested and yes this really make sense
I think this is a great improvement - it makes things much more predictable, it means not getting a feature into a given release isn't a big deal because the next one isn't far away and it gives some chance for features to settle down before a release. Monthly releases is very aggressive for a big project. I worry that since each release may have significant new features which have had only one week of testing, people will never be able to have a lot of confidence in any libvirt release. e.g. I can imagine a situation in Fedora where libvirt-0.9.0 is released and we decide we want to push that as an update to Fedora 14. After a few weeks of people testing, we'd probably have found a bunch of bugs and backported the fixes from upstream. Then, just as things start to settle down, 0.9.1 is released with a bunch of new features and fixes, but we find that also has a bunch of bugs that takes a few weeks to iron out. And, then again for 0.9.2. With monthly releases containing new features, I think it's worthwhile also doing "bugfix only" releases. Maybe 2-3 weeks after a release, cherry-pick fixes from HEAD into a stable branch and do a release of that. I took a quick stab at creating a 0.6.1.y branch with bugfixes from HEAD, to take a look: $> git clone http://markmc.fedorapeople.org/git/libvirt-0.6.1.y.git/ $> cd libvirt-0.6.1.y.git $> git log LIBVIRT_0_6_1.. There's nothing shocking here. Since 0.6.1 it's been mostly bug fixes, so all I've left out is: - qemu ballooning - SASL auth support - more flexibility about qemu emulators - posix_fallocate() - lxc CPU usage - compiler warnings, syntax-check improvement - test driver fix Still, though, that makes a big difference to the diffstat. On CVS HEAD since 0.6.1 we've had: 52 files changed, 994 insertions(+), 288 deletions(-) this bugfix branch only has: 20 files changed, 169 insertions(+), 118 deletions(-) Compare that to our backported fixes for 0.6.1 in Fedora rawhide: 14 files changed, 142 insertions(+), 109 deletions(-) I'm waffling a bit, but in summary: - Good plan, but monthly releases with a one week feature freeze will inevitably mean some significant bugs in each release - Not everyone wants to be on the bleeding edge - some people do want some stability - A pure bugfix is very easy to prepare by cherry-picking from HEAD onto a branch (it took me ~30 minutes) - Distros already backport fixes - this helps them out - Stable releases are fairly standard practice for most projects Cheers, Mark.