This is a draft working document that is still to be approved by the TSC and adopted by the community.
Updated 2/10 based on comments from Tony Espy14 from comments of review in DevOps WG meeting
LTS is an abbreviation for “Long Term Support”.
. The TSC also reserves the right to release patch releases on-demand if/when security or critical bugs are discovered. An LTS release is meant to be a stable release for which organizations typically base products and for which the EdgeX community offers “support” as defined below.Tony E has recommended the following: "to simplify things, we should publish a patch release once a quarter for LTS releases. The TSC also reserves the right to release patch releases on-demand if/when security or critical bugs are discovered."No new functionality will be added to an LTS release. Only significant security and bug fixes will be added to the LTS. WG chairpersons, in consultation with the release manager, will coordinate work on LTS bug fixes and make determinations on new LTS minor releases or patches. Disagreements on whether a bug fix should be made on an LTS release and/or on the need for a new LTS minor release or patch will be adjudicated by the EdgeX TSC
The user community (developers) is encouraged to use the latest EdgeX development releases when creating new products and services. Businesses and organizations are encouraged to use the latest LTS release when releasing their own products and services on top of or including EdgeX. The EdgeX Foundry community makes announcements on its website about upcoming release end of life LTS events. Users are encouraged to watch the EdgeX Foundry web site and Wiki for support notifications. The Releases page of the EdgeX Wiki will always provide the latest status and news regarding EdgeX LTS releases.
Unless otherwise determined by the EdgeX TSC, any EdgeX LTS release will reach end of its maintenance commitment ("end of life") after five (two and a half (2.5) years. This is newly added - does 5 years feel right? Note: the intention of the 1/2 year allows some overlap between the 2 year LTS cycle.
Support is defined as:
- Community members best effort and development priority to fix a security or system bug or major flaw (as determined by the project’s appropriate working group chairperson(s) in consultation with the release manager) as soon as possible.
- Availability of the source code, test code and artifacts, and program artifacts such as micro service executables, shared libraries, container images (Docker), packages (snaps), etc. through the support period that were created and made available at the time of the release.
- Availability of the platform documentation through the support period that were created to explain and operate the release and all associated artifacts that were made available at the time of the release.
- Subject to legal restrictions, make available any supporting 3rd party component used by EdgeX as part of the release. Examples include MongoDB, Consul, Kong, Vault, any 3rd party library, etc. Where possible, EdgeX will provide archived binaries of the 3rd party components (MongoDB, Redis, Consul, Kong, Vault, etc.) used with LTS versions of EdgeX. Where possible, EdgeX will also keep an archive snapshot of 3rd party source code used in the creation of LTS versions of EdgeX (ex: code in the vendor directory of Go Lang repositories).
EdgeX will not offer support around 3rd party products. For example, EdgeX will not fix bugs or address issues directly associated to the 3rd party code like Kong, Vault, Consul, etc.
Additional professional support (LTS or STS) may be provided by other members of the EdgeX Foundry community. The EdgeX Foundry project and Linux Foundation can provide connections to providers as necessary.