Backward compatibility is a property of a system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially in telecommunications and computing.
Backward compatibility is sometimes also called downward compatibility. Modifying a system in a way that does not allow backward compatibility is sometimes called "breaking" backward compatibility. A complementary concept is forward compatibility, which is a design philosophy, usually based on open standards, that strives for methods that will continue to work with newer and future products. Design that is forward-compatible usually has a roadmap for compatibility with future standards and products.
The associated benefits of backward compatibility are the appeal to an existing user base through an inexpensive upgrade path as well as the network effect, which is particularly important, as it increases the value of goods and services proportionally to the size of the user base.
A good example is the Sony PlayStation 2 (PS2) which was backward compatible with games for its predecessor PlayStation (PSX or PSOne). While the PS2's selection of launch titles was small, sales of the console were nonetheless strong in 2000-2001 thanks to the large library of games for the preceding PSX/PSOne. This bought time for the PS2 to grow a large installed base and developers to release more quality PS2 games for the crucial 2001 holiday season.
The associated costs of backward compatibility are a higher bill of materials if hardware is required to support the legacy systems; increased complexity of the product that may lead to longer time to market, technological hindrances, and slowing innovation; and increased expectations from users in terms of compatibility.
A good example is the Sony PlayStation 3, as the first PS3 iteration was expensive to manufacture in part due to including the Emotion Engine from the preceding PS2 in order to run PS2 games, since the PS3 architecture was completely different from the PS2. Subsequent PS3 hardware revisions have eliminated the Emotion Engine as it saved production costs while removing the ability to run PS2 titles, as Sony found out that backwards compatibility was not a major selling point for the PS3 in 2006-2009, in contrast to the PS2 in 2000-2001. The PS3's chief competitor, the Microsoft Xbox 360, took a different approach to backwards compatibility by using software emulation in order to run games from the first Xbox, rather than including legacy hardware from the original Xbox which was quite different than the Xbox 360, however Microsoft stopped releasing emulation profiles after 2007.
Dennie van Tassel has remarked: "I've finally learned what 'upward compatible' means. It means we get to keep all our old mistakes."
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, a large number of listeners had only mono FM receivers. Forward compatibility for mono receivers with stereo signals was achieved through 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.
Full backward compatibility is particularly important in computer instruction set architectures, one of the most successful being the x86 family of microprocessors. Their full backward compatibility spans back to the 16-bit Intel 8086/8088 processors introduced in 1978. (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 as of 1974. The Zilog Z80, however, was fully backwards 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. 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.
Compiler backward compatibility may refer to the ability of a compiler of a newer version of the language to accept programs or data that worked under the previous version.
A data format is said to be backward compatible with its predecessor if every message or file that is valid under the old format is still valid, retaining its meaning under the new format.
- ^ J.K. Petersen (2002), The Telecommunications Illustrated Dictionary (Second ed.), CRC Press, ISBN 9781420040678
- ^ Paul Belleflamme; Martin Peitz (2010), "Strategies in standard wars", Industrial Organization: Markets and Strategies, Cambridge University Press, ISBN 9780521862998
- ^ Jeffrey Zeldman (2006). Designing with Web Standards. Peachpit Press. pp. 15–16. ISBN 0-321-38555-1.
- ^ Winder, Steve; Carr, Joseph (2002), Newnes Radio and RF Engineering Pocket Book (3 ed.), Newnes, pp. 121–123, ISBN 9780080497471
- ^ Naresh Jotwani (2009), Computer System Organization, Tata McGraw-Hill Education, pp. 320–324, ISBN 9781259081217
- ^ Perahia, Eldad; Stacey, Robert (2013), "Foreword", Next Generation Wireless LANs: 802.11n and 802.11ac, Cambridge University Press, ISBN 9781107016767
- ^ Kay, Michael (2004). XSLT 2.0 Programmer's Reference. Wiley. ISBN 0-7645-6909-0.
- ^ Bos, Bert (2003). "Backwards Compatibility". What is a Good Standard?. Retrieved July 12, 2016.