Backward compatibility
In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system.
Modifying a system in a way that does not allow backward compatibility is sometimes called "breaking" backward compatibility.[1] Such breaking usually incurs various types of costs, such as switching cost.
A complementary concept is forward compatibility; a design that is forward-compatible usually has a roadmap for compatibility with future standards and products.[2]
Usage[edit]
In hardware[edit]
A simple example of both backward and forward compatibility is the introduction of FM radio in stereo. FM radio was initially mono, with only one audio channel represented by one signal. With the introduction of two-channel stereo FM radio, many listeners had only mono FM receivers. Forward compatibility for mono receivers with stereo signals was achieved by sending the sum of both left and right audio channels in one signal and the difference in another signal. That allows mono FM receivers to receive and decode the sum signal while ignoring the difference signal, which is necessary only for separating the audio channels. Stereo FM receivers can receive a mono signal and decode it without the need for a second signal, and they can separate a sum signal to left and right channels if both sum and difference signals are received. Without the requirement for backward compatibility, a simpler method could have been chosen.[3]
Full backward compatibility is particularly important in computer instruction set architectures, two of the most successful being the IBM 360/370/390/Zseries families of mainframes, and the Intel x86 family of microprocessors.
IBM announced the first 360 models in 1964 and has continued to update the series ever since, with migration over the decades from 32-bit register/24-bit addresses to 64-bit registers and addresses.
Intel announced the first Intel 8086/8088 processors in 1978, again with migrations over the decades from 16-bit to 64-bit. (The 8086/8088, in turn, were designed with easy machine-translatability of programs written for its predecessor in mind, although they were not instruction-set compatible with the 8-bit Intel 8080 processor of 1974. The Zilog Z80, however, was fully backward compatible with the Intel 8080.)
Fully backward compatible processors can process the same binary executable software instructions as their predecessors, allowing the use of a newer processor without having to acquire new applications or operating systems.[4] Similarly, the success of the Wi-Fi digital communication standard is attributed to its broad forward and backward compatibility; it became more popular than other standards that were not backward compatible.[5]