On Jul 3, 2009, at 7:28 PM, Chris Anderson wrote:
On Sat, Jul 4, 2009 at 1:21 AM, Noah Slater<[email protected]> wrote:
On Fri, Jul 03, 2009 at 12:16:55PM -0700, Chris Anderson wrote:
On Thu, Jul 2, 2009 at 10:45 AM, Damien Katz<[email protected]>
wrote:
I propose Friday, July 31st as the 0.10.x branch date. I don't
care that
much about the exact, but I do want to pick a date and stick with
it,
because I don't want to get into the same situation we did with
0.9.0, where
it was held up for months as we waited way too long for features
I was
working on. (sorry)
I agree with Damien here. We should schedule a release for the end
of
the month and stick to our guns. There are lots of features that
won't
make it into 0.10, but that's what 0.11 is for.
Why base our releases on time?
The reason to set a date and then work toward is because this is open
source, and otherwise we are likely to end up with an indefinitely
long period while all the awesome features come in. I think what we've
done since 0.9 is nearly worthy of a new release, and setting a
deadline for the end of the month at least gets me motivated to finish
adding the features that fill out the suite of new functionality
started by _changes and the new _list API.
I think a time-based release process is healthy, as in open-source
there will never be a particular moment when all the features are
ready. As soon as one gets ready others will come along being "almost
ready" and that's how we ended up with 6 months between 0.8.1 and 0.9.
What Chris said.
There is a lot of opioni from other open source projects, including
Ubuntu, that time-based releases are more productive than feature
based releases:
https://wiki.ubuntu.com/TimeBasedReleases
I think feature based releases make more sense early in a project,
when core features are still undone and the api is changing rapidly.
But I think we are stable and large enough to warrant date-based
releases. Especially since we now many people are working concurrently
on the code base. Delaying the release because a feature isn't ready
means users have to choose between old code and apis, or potentially
unstable features and apis. Time based releases also means new code
get tested sooner in real world conditions, which helps improve the
quality of the trunk too.
-Damien
To me it just seems pragmatic. Especially if we can get the replicator
based on _changes, and then truly deprecate the update_notification
process, we'll be able to ship a version of Couch with Ubuntu that
looks a lot more like 1.0 than 0.9.x currently does.
I don't understand the reasoning at all. It makes far more sense
for us to make
releases based on the feature lists. As a user, I want to upgrade
because the
new version provides an interesting set of new functionality and
fixes.
I really don't care about the time since my last upgrade, as long
as this
doesn't unnecessarily delay my access to crucial features. I would
consider
any delay under, say, six months to be more than acceptable.
The important data point here is that whatever our most stable
release is at
the end of the month will likely be going into the Ubuntu Karmic
Live CD and
landing on 10 million desktops. We should understand that this
means we'll be
supporting this release for a broader user base and a longer
timeframe than
past releases. If we don't do a release before then we'll probably
see 0.9.1
in Ubuntu and that'd be a shame as the _list API improvements are
only in
current trunk, _changes is new, etc.
In reality, it has to go through me, and through Debian first.
Moreover, Ubuntu
have a number of proposed changes to the package, and I am
currently talking
with the maintainers to make sure this process goes as smooth as
possible.
Best,
--
Noah Slater, http://tumbolia.org/nslater
--
Chris Anderson
http://jchrisa.net
http://couch.io