From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 23D22C433FF for ; Thu, 15 Aug 2019 10:23:56 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 67AEE21743 for ; Thu, 15 Aug 2019 10:23:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67AEE21743 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ashroe.eu Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C8D051BE8E; Thu, 15 Aug 2019 12:23:53 +0200 (CEST) Received: from qrelay145.mxroute.com (qrelay145.mxroute.com [172.82.139.145]) by dpdk.org (Postfix) with ESMTP id C99C71B13C for ; Thu, 15 Aug 2019 12:23:51 +0200 (CEST) Received: from filter001.mxrelay.co (unknown [94.130.183.33]) by qrelay145.mxroute.com (Postfix) with ESMTP id DA12C12093B; Thu, 15 Aug 2019 06:23:50 -0400 (EDT) Received: from galaxy.mxroute.com (unknown [23.92.70.113]) by filter001.mxrelay.co (Postfix) with ESMTPS id 6E1D91000AF; Thu, 15 Aug 2019 10:23:48 +0000 (UTC) Received: from [192.198.151.44] (helo=localhost) by galaxy.mxroute.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from ) id 1hyCpb-0001e7-Hg; Thu, 15 Aug 2019 06:18:07 -0400 From: Ray Kinsella To: dev@dpdk.org Cc: mdr@ashroe.eu, thomas@monjalon.net, stephen@networkplumber.org, bruce.richardson@intel.com, ferruh.yigit@intel.com, konstantin.ananyev@intel.com, jerinj@marvell.com, olivier.matz@6wind.com, nhorman@tuxdriver.com, maxime.coquelin@redhat.com, john.mcnamara@intel.com, marko.kovacevic@intel.com, hemant.agrawal@nxp.com Date: Thu, 15 Aug 2019 11:23:35 +0100 Message-Id: <1565864619-17206-1-git-send-email-mdr@ashroe.eu> X-Mailer: git-send-email 2.7.4 X-AuthUser: mdr@ashroe.eu Subject: [dpdk-dev] [PATCH v3 0/4] doc: changes to abi policy introducing major abi versions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" TL;DR abbreviation: A major ABI version that all DPDK releases during a one year period support. ABI versioning is managed at a project-level, in place of library-level management. ABI changes to add new features are permitted, as long as ABI compatibility with the major ABI version is maintained. Detail: This patch introduces major ABI versions, supported for one year and released aligned with the LTS release. This ABI version is then supported by all subsequent releases within that one year period. The intention is that the one year support period, will then be reviewed after the initial year with the intention of lengthing the support period for the next ABI version. ABI changes that preserve ABI compatibility with the major ABI version are permitted in subsequent releases. ABI changes, follow similar approval rules as before with the additional gate of now requiring technical board approval. The merging and release of ABI breaking changes would now be pushed to the declaration of the next major ABI version. This change encourages developers to maintain ABI compatibility with the major ABI version, by promoting a permissive culture around those changes that preserve ABI compatibility. This approach begins to align DPDK with those projects that declare major ABI versions (e.g. version 2.x, 3.x) and support those versions for some period, typically two years or more. To provide an example of how this might work in practice: * DPDK v20 is declared as the supported ABI version for one year, aligned with the DPDK v19.11 (LTS) release. All library sonames are updated to reflect the new ABI version, e.g. librte_eal.so.20, librte_acl.so.20... * DPDK v20.02 .. v20.08 releases are ABI compatible with the DPDK v20 ABI. ABI changes are permitted from DPDK v20.02 onwards, with the condition that ABI compatibility with DPDK v20 is preserved. * DPDK v21 is declared as the new supported ABI version for two years, aligned with the DPDK v20.11 (LTS) release. The DPDK v20 ABI is now depreciated, library sonames are updated to v21 and ABI compatibility breaking changes may be introduced. Ray Kinsella (4): doc: separate versioning.rst into version and policy doc: changes to abi policy introducing major abi versions doc: updates to versioning guide for abi versions doc: add maintainer for abi policy MAINTAINERS | 4 + doc/guides/contributing/abi_policy.rst | 309 +++++++++++++++ doc/guides/contributing/abi_versioning.rst | 515 +++++++++++++++++++++++++ doc/guides/contributing/index.rst | 3 +- doc/guides/contributing/patches.rst | 6 +- doc/guides/contributing/stable.rst | 38 +- doc/guides/contributing/versioning.rst | 591 ----------------------------- doc/guides/rel_notes/deprecation.rst | 2 +- 8 files changed, 855 insertions(+), 613 deletions(-) create mode 100644 doc/guides/contributing/abi_policy.rst create mode 100644 doc/guides/contributing/abi_versioning.rst delete mode 100644 doc/guides/contributing/versioning.rst -- 2.7.4