Hi John,

I think what you are calling out in 1. and 2. matches what was discussed in
the proposal and thread. Please call out if you disagree on a detail.

What's your reasoning behind 3?
I see little reason to ship a patch release (which is significant work) if
there was no important fix.
Likewise I am concerned about waiting to ship a critical fix to our users
or leave them with gaping security vulnerabilities when we have a fix, but
the next patch release train doesn't depart for several weeks.

On Tue, Feb 25, 2020 at 11:41 AM John Blum <jb...@pivotal.io> wrote:

> Real quick thought... IMO:
>
> 1. There should be patch (maintenance) releases for each major.minor, up to
> N-2 for a set period of time (e.g. 1.5 years), or until N-2 becomes N-3
> where N-3 is no longer supported.
> 2. All important changes should be backported.  I say "important" loosely
> since that should be decided by the community, but in general, that means
> Blocker, Critical, Security fixes or other changes that can impact the
> contract, functionality or proper behavior of Apache Geode in whatever
> context.
> 3. Patch (maintenance) releases should occur at a regular, "predictable"
> intervals (e.g. every 6 weeks), not on an adhoc basis.
>
> $0.02
> -John
>
>
> On Tue, Feb 25, 2020 at 11:23 AM Alexander Murmann <amurm...@apache.org>
> wrote:
>
> > >
> > > Or, we could emphasize the shift in process with bigger changes:
> > > i. Instead of cutting "release/1.13.0" on May 4, we could instead cut
> > > "support/1.13"
> > > ii instead of creating "apache-release-1-13-0-main" pipeline, we would
> > > instead create "apache-release-1-13-main"
> > > iii. Instead of cleaning up the pipeline and branch after 1.13.0 was
> > > released, we could keep it around for 9 months and re-use it for
> > collecting
> > > patches and making patch releases during that time.
> > >
> > +1 I cannot see any argument against cutting a release branch for the
> minor
> > version and keeping it around.
> >
> > The community process around deciding how long to gather fixes before
> > > shipping a patch release isn’t any easier either way.
> >
> > How about we wait for someone to call out the need to ship a patch
> > release.  At
> > that point we use the rule of thumb "aim for no more than 1 patch release
> > per minor per month" to guide our community discussion.
> >
> > I would like to see more discussion on the community impact of increasing
> > > the commitment required of a release manager.  In the short term it
> would
> > > be good for Geode to have someone focused on improving the release
> > process
> > > for a longer period of time than a single release.  But in the long
> term,
> > > people may be less likely to volunteer, and release experience will be
> > > concentrated in fewer members of the community...
> >
> > Are there more things that could be automated? When I filled the role ~1
> > year ago there was lots of copying and pasting of scripts and I even
> wrote
> > one to help validate fixVersions. Although release process automation
> > should probably be taken to a different discussion, since it's mostly
> > separate form Anthony's proposal.
> >
> >
> > On Tue, Feb 25, 2020 at 11:06 AM Owen Nichols <onich...@pivotal.io>
> wrote:
> >
> > > These concerns make sense.  We could satisfy them within our existing
> > > “on-demand” process:
> > >
> > > 1) the first time there is a change to backport to support branches,
> > > propose the patch release.  Now we have a branch.  Decide as a
> community
> > > how urgently it needs to be released vs how long to hold it open for
> > other
> > > potential fixes.
> > >
> > > Or, we could emphasize the shift in process with bigger changes:
> > > i. Instead of cutting "release/1.13.0" on May 4, we could instead cut
> > > "support/1.13"
> > > ii instead of creating "apache-release-1-13-0-main" pipeline, we would
> > > instead create "apache-release-1-13-main"
> > > iii. Instead of cleaning up the pipeline and branch after 1.13.0 was
> > > released, we could keep it around for 9 months and re-use it for
> > collecting
> > > patches and making patch releases during that time.
> > >
> > > The community process around deciding how long to gather fixes before
> > > shipping a patch release isn’t any easier either way.
> > >
> > > One advantage of our current process is that a release doesn’t happen
> > > until someone volunteers to make it happen.  We can do as many or as
> few
> > > patch releases as the community is willing -- a release always has a
> > > champion.
> > >
> > > I would like to see more discussion on the community impact of
> increasing
> > > the commitment required of a release manager.  In the short term it
> would
> > > be good for Geode to have someone focused on improving the release
> > process
> > > for a longer period of time than a single release.  But in the long
> term,
> > > people may be less likely to volunteer, and release experience will be
> > > concentrated in fewer members of the community...
> > >
> > >
> > > > On Feb 25, 2020, at 9:29 AM, Anthony Baker <aba...@pivotal.io>
> wrote:
> > > >
> > > > Here’s a couple things I’d like to avoid:
> > > >
> > > > 1) Issuing a patch release for every single commit that we back port
> > > onto a supported minor version.  This seems like a high cost approach.
> > Of
> > > course, some issues may be important enough to require that.
> > > >
> > > > 2) Merging a change to develop, and then having to come back weeks
> > later
> > > and back porting the change to a release branch.  It just seems less
> > > optimal since I’ll have lost the context on the changes, particularly
> if
> > > the cherry-pick is non-trivial.
> > > >
> > > > More comments below.
> > > >
> > > > Anthony
> > > >
> > > >
> > > >> On Feb 24, 2020, at 2:16 PM, Owen Nichols <onich...@pivotal.io>
> > wrote:
> > > >>
> > > >> Hi Alexander, currently we don’t start a patch release until someone
> > > proposes a critical fix, which then drives the release (the community
> may
> > > propose “extra” fixes to tag along once a release branch is cut).  This
> > > keeps the process simple, neat and tidy.
> > > >>
> > > >> Another option I hadn’t thought of is to begin collecting “extra”
> > fixes
> > > proactively on a “dormant” branch, so that when someone finally
> proposes
> > > releasing a patch, it will already be primed with a bunch of fixes.
> This
> > > adds complexity (does a different standard apply to bring fixes to a
> > > dormant branch?  Are release branches separate from support branches?
> > How
> > > will committers be able to keep track of what is dormant and what is
> > not?)
> > > >>
> > > >
> > > > Why not just either a) keep the release branch alive? Or b) create a
> > > support branch from the release tag?
> > > >
> > > >> To implement an N-2 support policy, does it make more sense for
> Geode
> > > to make small focused patch releases when needed, or to maintain what
> > > amounts to “3 develop branches at all times”?
> > > >>
> > > >
> > > > To me, “develop branch” implies ongoing work.  I’m proposing “support
> > > branch” which means only important changes agreed upon by the project
> > > community.
> > > >
> > > >
> > > >>
> > > >>> On Feb 24, 2020, at 11:00 AM, Alexander Murmann <
> amurm...@pivotal.io
> > >
> > > wrote:
> > > >>>
> > > >>> Thanks for proposing this, Anthony!
> > > >>>
> > > >>>
> > > >>>> I don’t think it’s necessary for this proposal to re-define or
> > clarify
> > > >>>> what constitutes a critical fix; it sounds like the bar would be
> the
> > > same
> > > >>>> as the standard we already apply when back-porting to release
> > branches
> > > >>>> (proposal /w justification, and 3 votes in favor).  The only
> > > difference
> > > >>>> seems to be that now proposals may list up to three target
> branches,
> > > not
> > > >>>> just one.
> > > >>>>
> > > >>> re: Owen
> > > >>> TL;DR: +1 using the same process as we use for merging critical
> fixes
> > > >>> during an ongoing release seems appropriate.
> > > >>>
> > > >>> Generally merging a fix to a dormant release branch seems less
> > > problematic
> > > >>> than merging a fix to an active release branch where a merge will
> > > reset all
> > > >>> release work that has already happened. The cost of merging to a
> > > >>> dormant release branch is much lower than merging to one that's
> being
> > > >>> actively released. Ideally we could just do a PR to merge fixes
> back
> > in
> > > >>> most cases. Unfortunately, I believe it's unreasonable to expect
> that
> > > >>> everyone will be aware at all times what's actively being released
> > and
> > > >>> what's not => Let's pretend we are always shipping these branches.
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> On Fri, Feb 21, 2020 at 7:35 PM Owen Nichols <onich...@pivotal.io>
> > > wrote:
> > > >>>
> > > >>>> Thank you Anthony for proposing this “N-2” support policy.  It
> isn’t
> > > a big
> > > >>>> change, but it is helpful to know that the Geode PMC will now be
> > > standing
> > > >>>> behind (and ready to vote on) patch releases within a 9-month
> > window.
> > > >>>>
> > > >>>> Overall, this sounds much like how 1.9.1 and 1.9.2 started as
> > > community
> > > >>>> proposals, found a release manager, and went on to be successfully
> > > released.
> > > >>>>
> > > >>>> I don’t think it’s necessary for this proposal to re-define or
> > clarify
> > > >>>> what constitutes a critical fix; it sounds like the bar would be
> the
> > > same
> > > >>>> as the standard we already apply when back-porting to release
> > branches
> > > >>>> (proposal /w justification, and 3 votes in favor).  The only
> > > difference
> > > >>>> seems to be that now proposals may list up to three target
> branches,
> > > not
> > > >>>> just one.
> > > >>>>
> > > >>>> I also don’t think it’s necessary to alter our current process to
> > > maintain
> > > >>>> a standing "support/x.y" branch.  The proposal states that patch
> > > releases
> > > >>>> will be “ad-hoc (as needed)”.  Our current process serves this
> quite
> > > well:
> > > >>>> we propose a patch release at the time it is needed, then get a
> > > release
> > > >>>> manager and create a release branch specifically for that release
> > > (e.g.
> > > >>>> release/1.9.2 was created from the rel/v1.9.1 tag), then clean up
> > > >>>> afterwards so no unattended pipelines or branches linger.
> > > >>>>
> > > >>>> The rotating release manager role has been a hallmark of the Geode
> > > >>>> community process, so I hope this proposal will not dissuade
> anyone
> > > >>>> interested in helping with a release.  However, getting the
> > automation
> > > >>>> improvements we need will require some continuity over several
> > > releases.  I
> > > >>>> would love to volunteer for this!
> > > >>>>
> > > >>>> -Owen
> > > >>>>
> > > >>>>> On Feb 21, 2020, at 5:30 PM, Anthony Baker <aba...@apache.org>
> > > wrote:
> > > >>>>>
> > > >>>>> Hi everyone,
> > > >>>>>
> > > >>>>> I'd like to propose shipping patch releases of Geode as a way to
> > > >>>>> improve our engagement and support of our user community.  Please
> > > >>>>> review the details in the linked RFC [1] and kindly offer your
> > > >>>>> thoughts in this thread.
> > > >>>>>
> > > >>>>>
> > > >>>>> Thanks,
> > > >>>>> Anthony
> > > >>>>>
> > > >>>>> [1]
> > > >>>>
> > >
> >
> https://cwiki.apache.org/confluence/display/GEODE/Shipping+patch+releases
> > > >>>>
> > > >>>>
> > > >>
> > > >
> >
>
>
> --
> -John
> Spring Data Team
>


-- 
Alexander J. Murmann
(650) 283-1933

Reply via email to