To add to what Gwen said (which makes sense to me), here's a link to the
Cassandra release model:

http://www.planetcassandra.org/blog/cassandra-2-2-3-0-and-beyond/

It involves monthly releases, so more aggressive than what is being
proposed, but they follow a tick tock model where a feature release is
followed by a bug fix release (so a 2 months cycle for combined features +
bug fixes, which is half the time than what is being proposed for Kafka).

I also want to mention that the proposed model is likely to result in more
effective testing than the previous model since we have a freeze period of
similar duration, but a smaller period to accumulate changes.

Ismael

On Sat, Aug 13, 2016 at 3:02 AM, Gwen Shapira <g...@confluent.io> wrote:

> Thats good feedback, thanks.
>
> I don't think you were involved in the previous release, but we did
> try to follow the model you suggest.
> We announced few weeks before cutting branches and gave time for
> features and stabilization. This started a mad last-minute rush of
> semi-baked features that forced 6 (or 7) release candidates and
> significant delays.
>
> I think (but can't know) that part of the reason is that people felt
> compelled to get features in to the nearest release, because who knows
> when the next one will happen. Scheduled releases can take some of the
> stress and pressure off the process (we hope) - you miss this train
> and the next will show up.
>
> This is obviously just a reasoned guess, we won't know without trying.
> But since we did try feature releases and ran into difficulties, I
> thought we can experiment with something different.
>
> After 3 releases (i.e. this time next year), we can circle back and
> see how everyone feels and whether we need to adjust course.
>
> I am fairly confident that with 4 month per release and one month for
> stability we'll have both features and sufficient testing (already the
> next release will have the admin protocols, which is huge, time-based
> indexes, connector improvements, throttling... it will be a good
> one!). But we won't know for sure until we try
>
> I do agree with you that Ubuntu is not the right model for us. I am
> more inspired by Cassandra that has similar product with a rather
> similar community, and are doing time-based releases successfully.
>
> Gwen
>
> On Fri, Aug 12, 2016 at 2:35 PM, Nacho Solis
> <nso...@linkedin.com.invalid> wrote:
> > I'm not convinced that time-based releases for this type of development
> are
> > the right thing.
> >
> > Something like Ubuntu, where all components are moving targets needs to
> > decide to freeze and release without having full coordination from the
> > participants.  There is no guarantee from Canonical that the intermediate
> > product works well together.   Debian takes a different (and more stable)
> > approach and releases on features.  They also have to corral a bunch of
> > separate components and make them work together.
> >
> > I would argue that the benefit of a release is that it's tested and
> > coherent. From a kafka standpoint I would rather see releases on
> > feature[set] with some testing and then have some notion of bug support
> for
> > a little while.  If I want to have cutting edge or more frequent releases
> > then I should be able to grab stuff off of github and run that.
> >
> >
> > I don't agree that the benefits we're looking for are what we're going to
> > get.
> >
> > We can achieve some of the benefits listed without having to have timed
> > releases.  What it seems you're looking for is more of a "heads up"
> > announcement that we plan to do a release.  We could have a release
> process
> > that gives 4 weeks of warning.  2 weeks to get features in, 2 weeks of
> > freeze and then a release.  There is no need to fix how often (and when)
> > this process happens.  We just know that for a release to happen we'll
> have
> > 4 weeks advance notice.
> >
> > Nacho
> >
> >
> >
> > On Fri, Aug 12, 2016 at 1:17 PM, Gwen Shapira <g...@confluent.io> wrote:
> >
> >> Good question!
> >>
> >> My thoughts are... bugfix releases will be done "as needed" based on
> >> community feedback
> >>
> >> Feature releases will be a minor release by default 0.11, 0.12 - unless:
> >> 1. We manage to break compatibility completely (we shouldn't) in which
> >> case we need to bump to 1.X
> >> 2. We do something totally amazing (exactly once?) and decide to bump
> >> to 1.X to celebrate
> >> 3. The release manager decides that the features in the release are
> >> not very exciting and we can go with 0.10.1 (i.e very minor release)
> >>
> >> Does that make sense?
> >>
> >> On Fri, Aug 12, 2016 at 10:25 AM, Nacho Solis
> >> <nso...@linkedin.com.invalid> wrote:
> >> > How would time releases relate to versions? (Major, minor, API
> >> > compatibility, etc).
> >> >
> >> > On Thu, Aug 11, 2016 at 9:37 AM, Guozhang Wang <wangg...@gmail.com>
> >> wrote:
> >> >
> >> >> I think we do not need to make the same guarantee as for "how old of
> >> your
> >> >> Kafka version that you can upgrade to the latest in one shot" (just
> >> call it
> >> >> "upgrade maintenance" for short) and "how old of your Kafka version
> that
> >> >> you can enjoy backport critical bug fixes from the latest version"
> >> (call it
> >> >> "bugfix backport maintenance" for short).
> >> >>
> >> >> Upgrade maintenance: I think 2 years is a good cadence, and we can
> use
> >> the
> >> >> same policy for getting rid of obsolete APIs / protocols as well.
> I.e.
> >> say
> >> >> we release 0.10.1.0 in 2017FEB then we can in that release drop
> >> obsoleted
> >> >> code in 0.8.2 (released in 2015FEB), such that users cannot directly
> >> >> upgrade from 0.8.2.x to 0.10.1.x, but needs to have another hop.
> >> >>
> >> >> Bugfix backports maintenance: if we release every 4 months, then
> >> current +
> >> >> 2 older means we have one year period for back-port critical bug
> fixes,
> >> >> which sounds good to me; if we release every 3 months, then probably
> we
> >> >> should have current + 3 older.
> >> >>
> >> >>
> >> >> Guozhang
> >> >>
> >> >>
> >> >> On Thu, Aug 11, 2016 at 12:14 AM, Ismael Juma <ism...@juma.me.uk>
> >> wrote:
> >> >>
> >> >> > Do we need to make a decision on this particular point? Could we
> gauge
> >> >> > community demand (people tend to ask for fixes to be backported in
> >> JIRA)
> >> >> > and decide then?
> >> >> >
> >> >> > If we make a good job of avoiding regressions, then it seems that
> each
> >> >> > branch should really only need one or or a maximum of two bug fix
> >> >> releases.
> >> >> > After that, users are welcome to upgrade to a new feature release
> (and
> >> >> > hopefully to the most current) to get non-critical fixes and
> >> features. An
> >> >> > exception is if we get security fixes. We probably do need a policy
> >> for
> >> >> how
> >> >> > far we backport those.
> >> >> >
> >> >> > Ismael
> >> >> >
> >> >> > On Thu, Aug 11, 2016 at 4:35 AM, Gwen Shapira <g...@confluent.io>
> >> wrote:
> >> >> >
> >> >> > > Yeah, I agree that maintaining 6 release branches is not really
> >> >> > > sustainable...
> >> >> > >
> >> >> > > Maybe 3 (current and 2 older) makes sense?
> >> >> > >
> >> >> > > On Wed, Aug 10, 2016 at 7:35 PM, Joel Koshy <jjkosh...@gmail.com
> >
> >> >> wrote:
> >> >> > > > On Wed, Aug 10, 2016 at 5:44 PM, Joel Koshy <
> jjkosh...@gmail.com>
> >> >> > wrote:
> >> >> > > >
> >> >> > > >>
> >> >> > > >>
> >> >> > > >> On Tue, Aug 9, 2016 at 4:49 PM, Gwen Shapira <
> g...@confluent.io>
> >> >> > wrote:
> >> >> > > >>
> >> >> > > >>>
> >> >> > > >>> 4. Frequent releases mean we need to do bugfix releases for
> >> older
> >> >> > > >>> branches. Right now we only do bugfix releases to latest
> >> release.
> >> >> > > >>>
> >> >> > > >>
> >> >> > > >> I'm a bit unclear on how the above is a side-effect of
> time-based
> >> >> > > >> releases. IIUC this just changes how frequently we release off
> >> the
> >> >> > > current
> >> >> > > >> release branch right? Or put another way, are you also
> proposing
> >> any
> >> >> > > >> fundamental change to our versioning/branching scheme?
> >> >> > > >>
> >> >> > > >
> >> >> > > > Actually nm - so what you're saying is we cut more frequently
> off
> >> >> trunk
> >> >> > > > which means having to maintaining multiple release branches.
> >> However,
> >> >> > the
> >> >> > > > more frequently we release then it should be less difficult to
> >> >> upgrade
> >> >> > > from
> >> >> > > > one release to another which means it should be reasonable to
> >> expect
> >> >> > that
> >> >> > > > we EOL release branches sooner than later.
> >> >> > > >
> >> >> > > > However, if we are expected to maintain release branches for
> up to
> >> >> two
> >> >> > > > years then that means potential bugfix releases for up to eight
> >> >> release
> >> >> > > > branches at any given time? i.e., it seems that a short
> >> inter-release
> >> >> > > > interval would require us to EOL release branches sooner than
> >> that to
> >> >> > > make
> >> >> > > > things manageable.
> >> >> > >
> >> >> > >
> >> >> > >
> >> >> > > --
> >> >> > > Gwen Shapira
> >> >> > > Product Manager | Confluent
> >> >> > > 650.450.2760 | @gwenshap
> >> >> > > Follow us: Twitter | blog
> >> >> > >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> -- Guozhang
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Nacho (Ignacio) Solis
> >> > nso...@linkedin.com
> >>
> >>
> >>
> >> --
> >> Gwen Shapira
> >> Product Manager | Confluent
> >> 650.450.2760 | @gwenshap
> >> Follow us: Twitter | blog
> >>
> >
> >
> >
> > --
> > Nacho (Ignacio) Solis
> > nso...@linkedin.com
>
>
>
> --
> Gwen Shapira
> Product Manager | Confluent
> 650.450.2760 | @gwenshap
> Follow us: Twitter | blog
>

Reply via email to