The term backwards compatible refers to the ability of a recent software or hardware components to be able to work with earlier versions of the same product.
For example, the Intel line of microprocessors that includes the Pentium series has maintained backwards compatibility with the earliest 8080/86 versions that were introduced over 20 years ago. This practice allows software investments made with an earlier processor in mind to remain viable with later ones.
In contrast, games consoles have traditionally sacrificed backwards compatiblity to improve performance. Sony went against the trend by designing the PlayStation 2 to be able to run PlayStation games. It is not yet clear if the Xbox Next will be able to run games written for the Xbox.
Early documents produced by Microsoft Word that were once readable by later versions are now orphaned since the latest versions found that retaining compatibility would have inhibited future capabilities.
Backwardcompatibility is a relationship between two components, rather than being an attribute of just one of them.
Backwardcompatibility is the special case of compatibility in which the new server has a direct historical ancestral relationship with the old server.
Microsoft Word 2000 was backwardcompatible with Word 97 due to the fact that it could read and write files in Word 97 format, with the understanding that features unique to Word 2000 would not appear in Word 97.
Backwardcompatibility is really a series of promises to your users as to what they can expect when they upgrade to a new version of your software.
Once you've thought about the level of compatibility you want to promise to your users, the next step is to think about the actual places your project needs to worry about specific kinds of compatibility problems.
This means that backwardcompatibility is preserved at the level of the binary object code produced when you compile the library.