Long-term support (LTS) is a
product lifecycle management policy
Policy is a deliberate system of guidelines to guide decisions and achieve rational outcomes. A policy is a statement of intent and is implemented as a procedure or protocol. Policies are generally adopted by a governance body within an orga ...
in which a
stable release
A stable is a building in which livestock, especially horses, are kept. It most commonly means a building that is divided into separate stalls for individual animals and livestock. There are many different types of stables in use today; the ...
of
computer software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consist ...
is
maintained for a longer period of time than the standard edition. The term is typically reserved for
open-source software
Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. ...
, where it describes a software edition that is supported for months or years longer than the software's standard edition.
''Short term support'' (STS) is a term that distinguishes the support policy for the software's standard edition. STS software has a comparatively short life cycle, and may be afforded new features that are omitted from the LTS edition to avoid potentially compromising the stability or compatibility of the LTS release.
Characteristics
LTS applies the tenets of
reliability engineering
Reliability engineering is a sub-discipline of systems engineering that emphasizes the ability of equipment to function without failure. Reliability describes the ability of a system or component to function under stated conditions for a specifie ...
to the
software development process
In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software deve ...
and
software release life cycle
A software release life cycle is the sum of the stages of development and maturity for a piece of computer software ranging from its initial development to its eventual release, and including updated versions of the released version to help impro ...
. Long-term support extends the period of
software maintenance
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
A common perception of maintenance is that it merely involves fixing defects. H ...
; it also alters the type and frequency of software updates (
patches) to reduce the
risk
In simple terms, risk is the possibility of something bad happening. Risk involves uncertainty about the effects/implications of an activity with respect to something that humans value (such as health, well-being, wealth, property or the environm ...
, expense, and disruption of
software deployment
Software deployment is all of the activities that make a software system available for use.
The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur on the ...
, while promoting the
dependability of the software. It does not necessarily imply
technical support
Technical support (abbreviated as tech support) is a call centre type customer service provided by companies to advise and assist registered users with issues concerning their technical products. Traditionally done on the phone, technical suppor ...
.
At the beginning of a long-term support period, the
software developer
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invo ...
s impose a
feature freeze: They make patches to correct
software bug
A software bug is an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs i ...
s and
vulnerabilities
Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally."
A window of vulnerability (WOV) is a time frame within which defensive measures are diminished, com ...
, but do not introduce new
features
Feature may refer to:
Computing
* Feature (CAD), could be a hole, pocket, or notch
* Feature (computer vision), could be an edge, corner or blob
* Feature (software design) is an intentional distinguishing characteristic of a software ite ...
that may cause
regression. The
software maintainer either distributes patches individually, or packages them in
maintenance release
A maintenance release (also minor release or Maintenance Pack or MP) is a release of a product that does not add new features or content. For instance, in computer software, maintenance releases are typically intended to solve minor problems, typi ...
s,
point releases, or
service pack
In computing, a service pack comprises a collection of updates, fixes, or enhancements to a computer program, software program delivered in the form of a single installable package. Companies often release a service pack when the number of individ ...
s. At the conclusion of the support period, the product either reaches
end-of-life, or receives a reduced level of support for a period of time (e.g., high-priority security patches only).
Rationale
Before upgrading software, a
decision-maker
In psychology, decision-making (also spelled decision making and decisionmaking) is regarded as the cognitive process resulting in the selection of a belief or a course of action among several possible alternative options. It could be either rat ...
might consider the
risk
In simple terms, risk is the possibility of something bad happening. Risk involves uncertainty about the effects/implications of an activity with respect to something that humans value (such as health, well-being, wealth, property or the environm ...
and cost of the upgrade.
As software developers add new features and fix software bugs, they may introduce new bugs or break old functionality.
When such a flaw occurs in software, it is called a ''
regression''.
Two ways that a
software publisher
A software publisher is a publishing company in the software industry between the developer and the distributor. In some companies, two or all three of these roles may be combined (and indeed, may reside in a single person, especially in the cas ...
or
maintainer can reduce the
risk
In simple terms, risk is the possibility of something bad happening. Risk involves uncertainty about the effects/implications of an activity with respect to something that humans value (such as health, well-being, wealth, property or the environm ...
of regression are to release major updates less frequently, and to allow users to test an alternate, updated version of the software.
LTS software applies these two risk-reduction strategies. The LTS edition of the software is published in parallel with the STS (short-term support) edition. Since major updates to the STS edition are published more frequently, it offers LTS users a preview of changes that might be incorporated into the LTS edition when those changes are judged to be of sufficient
quality.
While using older versions of software may avoid the risks associated with upgrading, it may introduce the risk of losing support for the old software. Long-term support addresses this by assuring
users
Ancient Egyptian roles
* User (ancient Egyptian official), an ancient Egyptian nomarch (governor) of the Eighth Dynasty
* Useramen, an ancient Egyptian vizier also called "User"
Other uses
* User (computing), a person (or software) using an ...
and
administrators
Administrator or admin may refer to:
Job roles Computing and internet
* Database administrator, a person who is responsible for the environmental aspects of a database
* Forum administrator, one who oversees discussions on an Internet forum
* ...
that the software will be maintained for a specific period of time, and that updates selected for publication will carry a significantly reduced risk of regression.
The maintainers of LTS software only publish updates that either have low
IT risk or that reduce IT risk (such as
security patches).
Patches for LTS software are published with the understanding that installing them is less risky than not installing them.
Software with separate LTS versions
This table only lists those have a specific LTS version in addition to a normal release cycle. Many projects, such as
CentOS
CentOS (, from Community Enterprise Operating System; also known as CentOS Linux) is a Linux distribution that provides a free and open-source community-supported computing platform, functionally compatible with its upstream source, Red Hat En ...
, provide a long period of support for every release.
:1. The support period for Ubuntu's parent distribution,
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
, is one year after the release of the next stable version. Since Debian 6.0 "Squeeze", LTS support (bug fixes and security patches) was added to all version releases. The total LTS support time is generally around 5 years for every version.
Due to the irregular release cycle of Debian, support times might vary from that average
and the LTS support is done not by the Debian team but by a separate group of volunteers.
See also
References
Further reading
*
*
*
*
*
*
*
*
*
{{DEFAULTSORT:Long-term support
Computer security procedures
Product lifecycle management
Reliability engineering
Software maintenance
Software quality