[dpdk-dev] [PATCH v6 0/4] doc: changes to abi policy introducing major abi versions
Thomas Monjalon
thomas at monjalon.net
Mon Oct 21 11:50:42 CEST 2019
27/09/2019 18:54, Ray Kinsella:
> 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.
For the record, I would prefer a v7 saying it is a fixed period of time,
being one year at first and should be longer next.
Please don't state "supported for one year", which can be understood as a general truth.
> 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.
OK I agree with these explanations.
More information about the dev
mailing list