diff mbox series

[v2] doc: update stable section

Message ID 20210219111711.416979-1-ktraynor@redhat.com (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers show
Series [v2] doc: update stable section | expand

Checks

Context Check Description
ci/github-robot success github build: passed
ci/travis-robot fail travis build: failed
ci/intel-Testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/checkpatch warning coding style issues

Commit Message

Kevin Traynor Feb. 19, 2021, 11:17 a.m. UTC
Updating the docs to elaborate on the stable release
characteristics and better document the current practice
about new features in stable releases.

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>

---
v2: Send to right dev list this time.  Fix typo.
---
 doc/guides/contributing/stable.rst | 33 ++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

Comments

Kevin Traynor Feb. 22, 2021, 12:37 p.m. UTC | #1
On 19/02/2021 11:17, Kevin Traynor wrote:
> Updating the docs to elaborate on the stable release
> characteristics and better document the current practice
> about new features in stable releases.
> 
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> 
> ---

Acked-by: Luca Boccassi <bluca@debian.org>
Christian Ehrhardt March 10, 2021, 10:32 a.m. UTC | #2
On Mon, Feb 22, 2021 at 1:38 PM Kevin Traynor <ktraynor@redhat.com> wrote:
>
> On 19/02/2021 11:17, Kevin Traynor wrote:
> > Updating the docs to elaborate on the stable release
> > characteristics and better document the current practice
> > about new features in stable releases.
> >
> > Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> >
> > ---
>
> Acked-by: Luca Boccassi <bluca@debian.org>
>

Acked-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
diff mbox series

Patch

diff --git a/doc/guides/contributing/stable.rst b/doc/guides/contributing/stable.rst
index 20b081670..7a0a505aa 100644
--- a/doc/guides/contributing/stable.rst
+++ b/doc/guides/contributing/stable.rst
@@ -19,4 +19,8 @@  consumers of DPDK with a stable target on which to base applications or
 packages.
 
+The primary characteristics of stable releases is that they attempt to
+fix issues and not introduce any new regressions while keeping backwards
+compatibility with the initial release of the stable version.
+
 The Long Term Support release (LTS) is a designation applied to a Stable
 Release to indicate longer term support.
@@ -94,12 +98,29 @@  commit message body as follows::
 Fixes not suitable for backport should not include the ``Cc: stable@dpdk.org`` tag.
 
-Features should not be backported to stable releases. It may be acceptable, in
-limited cases, to back port features for the LTS release where:
+To support the goal of stability and not introducing regressions, new code
+being introduced is limited to bug fixes. New features should not be backported
+to stable releases.
 
-* There is a justifiable use case (for example a new PMD).
-* The change is non-invasive.
-* The work of preparing the backport is done by the proposer.
-* There is support within the community.
+In some limited cases, it may be acceptable to backport a new feature
+to a stable release. Some of the factors which impact the decision by
+stable maintainers are as follows:
 
+* Does the feature break API/ABI?
+* Does the feature break backwards compatibility?
+* Is it for the latest LTS release (to avoid LTS upgrade issues)?
+* Is there a commitment from the proposer or affiliation to validate the feature and check for regressions in related functionality?
+* Is there a track record of the proposer or affiliation validating stable releases?
+* Is it obvious that the feature will not impact existing functionality?
+* How intrusive is the code change?
+* What is the scope of the code change?
+* Does it impact common components or vendor specific?
+* Is there a justifiable use case (a clear user need)?
+* Is there a community consensus about the backport?
+
+Performance improvements are generally not considered to be fixes, but may be considered
+in some cases where:
+
+* It is fixing a performance regression that occurred previously.
+* An existing feature in LTS is not usable as intended without it.
 
 The Stable Mailing List