--- /dev/null
+**************************
+Project Standalone Release
+**************************
+
+This page explains how a project can release independently outside of the
+OpenDaylight simultanious release.
+
+Preparing your project for release
+==================================
+
+A project can produce a staging repository by clicking "build" for their
+{project-name}-maven-release-{stream} job. This job performs the following
+duties:
+
+1. Removes -SNAPSHOT from all pom files
+2. Produces a taglist.log, project.patch, and project.bundle files
+3. Runs a `mvn clean deploy` to a local staging repo
+4. Pushes the staging repo to a Nexus staging repo
+ https://nexus.opendaylight.org/content/repositories/<REPO_ID>
+ (REPO_ID is saved to staging-repo.txt on the log server)
+5. Archives taglist.log, project.patch, and project.bundle files to log server
+
+The files taglist.log and project.bundle can be used later at release time to
+reproduce a byte exact commit of what was built by the Jenkins job. This can
+be used to tag the release at release time.
+
+Releasing your project
+======================
+
+Once testing against the staging repo has been completed and project has
+determined that the staged repo is ready for release. A release can the be
+performed as follows:
+
+1. Ask helpdesk to sign the artifacts in staging repo
+2. Ask helpdesk to promote the staging repo
+3. Download taglist.log and project.bundle
+4. Read taglist.log and checkout the commit hash listed
+5. Merge the project.bundle patches
+6. Git tag the release
+7. Push release tag to Gerrit
+
+Steps 4-7 as bash:
+
+.. code:: bash
+
+ PATCH_DIR=/tmp/patches
+ PROJECT=odlparent
+ VERSION=1.2.3
+ git checkout $(cat "$PATCH_DIR/taglist.log")
+ git fetch "$PATCH_DIR/$PROJECT.bundle"
+ git merge --ff-only FETCH_HEAD
+ git tag -asm "$PROJECT $VERSION" "v$VERSION"
+ git push origin "v$VERSION"
+
+Once complete the Git tag should be available in Gerrit and the Artifacts should
+appear in the Nexus opendaylight.release repo.
--- /dev/null
+================
+Release Schedule
+================
+
+While OpenDaylight has always targeted two releases per year, in practice our
+release process for the first six releases (through Carbon) has, in practice,
+released approximately every 8 months. This has meant we don't quite release
+twice a year (Lithium was our only release in 2015) and we struggle to
+coordinate releases with other projects that release at regular times each
+year, e.g., OpenStack and OPNFV.
+
+To try to fix this, we are having a short Nitrogen release and then moving to
+a date-based, six-month release calendar releasing at the same time each year.
+
+Nitrogen
+========
+
++-----------+-----------+-----------+-----------+----------------------------------+
+| milestone | offset 0 | offset 1 | offset 2 | description |
++===========+===========+===========+===========+==================================+
+| M0/M1 | 6/7/2017 | 6/14/2017 | 6/21/2017 | Draft Release Plan |
++-----------+-----------+-----------+-----------+----------------------------------+
+| M2/M3/M4 | 6/28/2017 | 7/7/2017 | 7/14/2017 | Final Release Plan, |
+| | | | | Functionality Freeze, API Freeze |
++-----------+-----------+-----------+-----------+----------------------------------+
+| M5 | 7/28/2017 | 8/7/2017 | 8/14/2017 | Code Freeze |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC0 | 8/14/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC1 | 8/14/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC2 | 8/14/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| RC3 | 8/14/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| Release | 9/7/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR1 | 10/7/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR2 | 12/7/2017 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR3 | 2/7/2018 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+| SR4 | 3/21--5/7 | | | |
++-----------+-----------+-----------+-----------+----------------------------------+
+
+.. note:: Dates are calendar based on the 7th, 14th, 21st, and 28th of each month instead of being
+ on a particular day of the week. The intent is that projects will figure out how to meet
+ the deadline in the way that best works for them even if that means getting work done
+ ahead of time to avoid holidays, weekends, vacation or travel.
+
+Future Odd Releases
+===================
+
+Starting with Oxygen, our odd-numbered element releases will look like this:
+
++-----------+-----------+-------+-------+----------------------------------------+
+| milestone | off0 | off1 | off2 | Description |
++===========+===========+=======+=======+========================================+
+| M0 | 9/7 | | | Draft Release Plan |
++-----------+-----------+-------+-------+----------------------------------------+
+| M1 | 10/7 | 10/14 | 10/21 | Final Release Plan, Project Setup |
++-----------+-----------+-------+-------+----------------------------------------+
+| M2 | 11/7 | 11/14 | 11/21 | Functionality Freeze |
++-----------+-----------+-------+-------+----------------------------------------+
+| M3 | 12/7 | 12/14 | 12/21 | API Freeze |
++-----------+-----------+-------+-------+----------------------------------------+
+| M4 | 1/7 | 1/14 | 1/21 | Code Freeze *(note M3-M4 will likely |
+| | | | | be short since it includes 12/25-1/1)* |
++-----------+-----------+-------+-------+----------------------------------------+
+| RCs | 1/21-3/7 | | | (continuous build) |
++-----------+-----------+-------+-------+----------------------------------------+
+| release | 3/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR1 | 4/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR2 | 6/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR3 | 8/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR4 | 9/21-11/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+
+Future Even Releases
+====================
+
+Starting with Fluorine, our even-numbered element releases will look like this:
+
++-----------+-----------+-------+-------+----------------------------------------+
+| milestone | off0 | off1 | off2 | Description |
++===========+===========+=======+=======+========================================+
+| M0 | 3/7 | | | Draft Release Plan |
++-----------+-----------+-------+-------+----------------------------------------+
+| M1 | 4/7 | 4/14 | 4/21 | Final Release Plan, Project Setup |
++-----------+-----------+-------+-------+----------------------------------------+
+| M2 | 5/7 | 5/14 | 5/21 | Functionality Freeze |
++-----------+-----------+-------+-------+----------------------------------------+
+| M3 | 6/7 | 6/14 | 6/21 | API Freeze |
++-----------+-----------+-------+-------+----------------------------------------+
+| M4 | 7/7 | 7/14 | 7/21 | Code Freeze |
++-----------+-----------+-------+-------+----------------------------------------+
+| RCs | 7/21-9/7 | | | (continuous build) |
++-----------+-----------+-------+-------+----------------------------------------+
+| release | 9/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR1 | 10/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR2 | 12/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR3 | 2/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+| SR4 | 3/21-5/7 | | | |
++-----------+-----------+-------+-------+----------------------------------------+
+#Search for older releases
egrep --color -nir --include=*.rst beryllium\|lithium docs
+
+#Search for misspellings and miss-capitalizations of OpenFlow
egrep --color -nir --include=*.rst open\ ?flow docs | grep -v OpenFlow | grep -v openflow: | grep -v \-openflow\- | grep -v openflowplugin | grep -v openflowjava | grep -v Openflow13 | grep -v \_OPENFLOW | grep -v OpenflowNode | grep --color -i OpenFlow
+
+#Search for misspellings and miss-capitalizations of OpenDaylight
egrep --color -nir --include=*.rst open\ ?daylight docs | grep -v OpenDaylight | grep -v \.opendaylight\. | grep -v \/opendaylight | grep -v \=opendaylight | grep --color -i OpenDaylight
+
+#Search for misspellings and miss-capitalizations of ACL
egrep --color -nir --include=*.rst [^-]acl[^-_\":] docs | grep -v ACL | grep -vi maclearn | grep -vi oracle | grep --color -i acl
+
#the ovs[db] search seemed to produce only false positives
#egrep --color -nir --include=*.rst [^-/_\"\']ovs[^-:k_] docs | grep -v OVS | egrep -v ovsdb[:-] | grep --color -i ovs
+
+#Search for git.opendaylight.org links to the next release as opposed the current release
+# Note that past releases are caught above
+egrep --color -nir --include=*.rst hb=HEAD docs
+egrep --color -nir --include=*.rst hb=master docs
+
+#Search for links to jenkins.opendaylight.org and logs.opendaylight.org, which are temporary
+egrep --color -nir --include=*.rst jenkins\.opendaylight\.org docs
+egrep --color -nir --include=*.rst logs\.opendaylight\.org docs