Perhaps the title buried the lead.  My main goal for this patch is to
propose a new regular release schedule for OVS.  Any comments?

Thanks,

Ben.

On Tue, Jul 19, 2016 at 10:58:08AM -0700, Ben Pfaff wrote:
> This document has two different kinds of text:
> 
>    - The first sections of the document, "Release Strategy" and "Release
>      Numbering", describe what we've already been doing for most of the
>      history of Open vSwitch.  If there is anything surprising in them,
>      then it's because our process has not been transparent enough, and not
>      because we're making a change.
> 
>    - The final section of the document, "Release Scheduling", is a proposal
>      for current and future releases.  We have not had a regular release
>      schedule in the past, but it seems important to have one in the
>      future, so this section requires review and feedback from everyone in
>      the community.
> 
> Signed-off-by: Ben Pfaff <b...@ovn.org>
> ---
>  Documentation/automake.mk        |  3 +-
>  Documentation/release-process.md | 85 
> ++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 87 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/release-process.md
> 
> diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> index aae41d2..d709e77 100644
> --- a/Documentation/automake.mk
> +++ b/Documentation/automake.mk
> @@ -2,4 +2,5 @@ docs += \
>       Documentation/committer-responsibilities.md \
>       Documentation/committer-grant-revocation.md \
>       Documentation/group-selection-method-property.txt \
> -     Documentation/OVSDB-replication.md
> +     Documentation/OVSDB-replication.md \
> +     Documentation/release-process.md
> diff --git a/Documentation/release-process.md 
> b/Documentation/release-process.md
> new file mode 100644
> index 0000000..a6af363
> --- /dev/null
> +++ b/Documentation/release-process.md
> @@ -0,0 +1,85 @@
> +Open vSwitch Release Process
> +============================
> +
> +This document describes the process ordinarily used for Open vSwitch
> +development and release.  Exceptions are sometimes necessary, so all
> +of the statements here should be taken as subject to change through
> +rough consensus of Open vSwitch contributors.
> +
> +Release Strategy
> +----------------
> +
> +Open vSwitch feature development takes place on the "master" branch.
> +Ordinarily, new features are rebased against master and applied
> +directly.  For features that take significant development, sometimes
> +it is more appropriate to merge a separate branch into master; please
> +discuss this on ovs-dev in advance.
> +
> +Periodically, the OVS developers fork a branch from master to become
> +an official release.  These release branches are named for expected
> +release number, e.g. "branch-2.3" for the branch that will yield Open
> +vSwitch 2.3.x.  Release branches should receive only bug fixes, not
> +new features.  Bug fixes applied to release branches should be
> +backports of corresponding bug fixes to the master branch, except for
> +bugs present only on release branches (which are rare in practice).
> +
> +Sometimes there can be exceptions to the rule that a release branch
> +receives only bug fixes.  In particular, after a release branch is
> +created, but before the first actual release from that branch, it can
> +be appropriate to add features.  Like bug fixes, new features on
> +release branches should be backports of the corresponding commits on
> +the master branch.  Features to be added to release branches should be
> +limited in scope and risk and discussed on ovs-dev before creating the
> +branch.
> +
> +After a period of testing and stabilization, and rough consensus by
> +contributors that the release is ready, the developers release the .0
> +release on its branch, e.g. 2.3.0 for branch-2.3.  To make the actual
> +release, a developer pushes a signed tag named, e.g. v2.3.0, to the
> +Open vSwitch repository, makes a release tarball available on
> +openvswitch.org, and posts a release announcement to ovs-announce.
> +
> +As a number of bug fixes accumulate, or after important bugs or
> +vulnerabilities are fixed, the OVS developers may make additional
> +releases from a branch: 2.3.1, 2.3.2, and so on.  The process is the
> +same for these additional release as for a .0 release.
> +
> +Release Numbering
> +-----------------
> +
> +The version number on master should normally end in .90.  This
> +indicates that the Open vSwitch version is "almost" the next version
> +to branch.
> +
> +Forking master into branch-x.y requires two commits to master.  The
> +first is titled "Prepare for x.y.0" and increments the version number
> +to x.y.  This is the initial commit on branch-x.y.  The second is
> +titled "Prepare for post-x.y.0 (x.y.90)" and increments the version
> +number to x.y.90.
> +
> +The version number on a release branch is x.y.z, where z is initially
> +0.  Making a release requires two commits.  The first is titled "Set
> +release dates for x.y.z." and updates NEWS and debian/changelog to
> +specify the release date of the new release.  This commit is the one
> +made into a tarball and tagged.  The second is titled "Prepare for
> +x.y.(z+1)." and increments the version number and adds a blank item to
> +NEWS with an unspecified date.
> +
> +Release Scheduling
> +------------------
> +
> +Open vSwitch makes releases at the following six-month cadence, which
> +of course is subject to change.
> +
> +time      
> +(months)  approx dates    event
> +--------  -------------   -----------------------------------------
> +T         Apr 1  Oct 1    release cycle for version x.y begins
> +T + 4     Aug 1  Feb 1    branch-x.y forks from master
> +T + 5.5   Sep 15 Mar 15   branch-x.y released as version x.y.0
> +
> +Contact
> +-------
> +
> +Please use dev@openvswitch.org to discuss the Open vSwitch development
> +and release process.
> -- 
> 2.1.3
> 
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to