In technology (especially computing), backward compatibility has several related but differing meanings:
A system is backward compatible if it is compatible with earlier versions of itself, or sometimes other earlier systems, particularly systems it intends to supplant. That is, other systems or objects that interoperate with the old version of the system should continue to interoperate with the new version. For example, a PlayStation 2 is backward compatible with the PlayStation 1. A Game Boy Advance is backward compatible with the previous Game Boy systems. This means you can play games like Tetris on Game Boy Advance and games like Final Fantasy VII on PlayStation 2.
A program is backward compatible if it can share data with an earlier version of itself. For example, WordPerfect 6.0 can read WordPerfect 5.1 files, so it is backward compatible. It can be said that Perl is backward compatible with awk, because Perl was (among other things) intended to replace awk, and can, with a converter, run awk programs.
A library or platform is said to be backward compatible if programs that interfaced with the old version continue to work with the new version as well. For example, the Intel 80486 processor is backward compatible with the 80386 because it can execute programs written for the 80386.
We distinguish between binary compatibility and source_compatibility. Binary compatibility means that programs can work correctly with the new version of this library without requiring recompilation. Source compatibility requires recompilation but no changes to the source code.
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.