In 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.

  • 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 requries recompilation but no changes to the source code.

See also: legacy system, forward compatibility, source-compatibility


An earlier version of this article was based on a FOLDOC entry
compat