Backports
   HOME

TheInfoList



OR:

Backporting is the action of taking parts from a newer version of a
software system A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It "consists of a number of separate programs, configuration files, which are used to se ...
or software component and porting them to an older version of the same software. It forms part of the maintenance step in a
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 devel ...
, and it is commonly used for fixing security issues in older versions of the software and also for providing new features to older versions.


Overview

The simplest and probably most common situation of backporting is a fixed security hole in a newer version of a piece of software. Consider this simplified example: * Software v2.0 had a
security vulnerability Vulnerabilities are flaws in a computer system that weaken the overall security of the device/system. Vulnerabilities can be weaknesses in either the hardware itself, or the software that runs on the hardware. Vulnerabilities can be exploited by ...
that is fixed by changing the text 'is_unsecured' to 'is_secured'. * The same security hole exists in Software v1.0, from which the codebase for the newer version is derived, but there the text may read 'is_notsecure'. By taking the modification that fixes Software v2.0 and changing it so that it applies to Software v1.0, one has effectively backported the fix. In real-life situations, the modifications that a single aspect of the software has undergone may be simple (only a few lines of
code In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communication ...
have changed) up to heavy and massive (many modifications spread across multiple files of the code). In the latter case, backporting may become tedious and inefficient and should only be undergone if the older version of the software is really needed in favour of the newer (if, for example, the newer version still suffers stability problems that prevent its use in mission-critical situations).


Procedures

The process of backporting can be roughly divided into these steps: # identification of the problem in the older version of the software that needs to be fixed by a backport # finding out which (usually recent) modification of the code fixed the problem # adapting the modification to the old code situation (the proper backporting) # one or several levels of
quality control Quality control (QC) is a process by which entities review the quality of all factors involved in production. ISO 9000 defines quality control as "a part of quality management focused on fulfilling quality requirements". This approach places ...
testing whether the backported version maintains previous functionality as well as if it properly implements the new functionality. Usually, multiple such modifications are bundled in a
patch Patch or Patches may refer to: Arts, entertainment and media * Patch Johnson, a fictional character from ''Days of Our Lives'' * Patch (''My Little Pony''), a toy * "Patches" (Dickey Lee song), 1962 * "Patches" (Chairmen of the Board song) ...
set. Backports can be provided by the core
developer Developer may refer to: Computers *Software developer, a person or organization who develop programs/applications *Video game developer, a person or business involved in video game development, the process of designing and creating games *Web deve ...
group of the software. Since backporting needs access to the source code of a piece of software, this is the only way that backporting is done for closed source software the backports will usually be incorporated in
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two digits (0 and 1) * Binary function, a function that takes two arguments * Binary operation, a mathematical operation that t ...
upgrades along the old version line of the software. With
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. Op ...
, backports are sometimes created by software distributors and later sent
upstream Upstream may refer to: * Upstream (bioprocess) * ''Upstream'' (film), a 1927 film by John Ford * Upstream (networking) * ''Upstream'' (newspaper), a newspaper covering the oil and gas industry * Upstream (petroleum industry) * Upstream (software ...
(that is, submitted to the core developers of the afflicted software).


Examples

Many features of
Windows Vista Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, which was released five years before, at the time being the longest time span between successive releases of ...
were backported to
Windows XP Windows XP is a major release of Microsoft's Windows NT operating system. It was released to manufacturing on August 24, 2001, and later to retail on October 25, 2001. It is a direct upgrade to its predecessors, Windows 2000 for high-end and ...
when Service Pack 3 was released for Windows XP, thereby facilitating compatibility of applications (mostly games) originally with Vista as a minimum requirement to run on XP SP3 as a minimum requirement instead. Debian Project since September 2010 provides an official backporting service for some
Debian Linux 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 Deb ...
software packages, and
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: ''Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All the ...
Linux also supports backports, however Ubuntu Backports receives no support at all from Canonical, and is entirely community-maintained.


See also

*
Backward compatibility Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially i ...
* Retrofitting *
Java backporting tools Java backporting tools are programs (usually written in Java) that convert Java classes bytecodes from one version of the Java Platform to an older one (for example Java 5.0 backported to 1.4). Java backporting tools comparison Main information ...


References

{{Reflist Software maintenance Software quality Patch utilities