In computing, a device (usually a computer processor) that can run the same source code intended to be compiled and run on another device is said to be source-compatible.

The source code must be compiled before running, unless the device can work as an interpreter (this is the case of a few bytecode processors). Confusingly, sometimes the term is used for assembly language compatibility, where the source is already human-readable machine code but must be converted to executable code by an assembler.

Source-compatibility is a major issue in the developing of computer programs. For example, most Unix systems are source compatible, as long as one uses only standard libraries. Microsoft Windows systems are source compatible across one major family (NT, 2000 and XP or 95, 98 and ME), with partial source compatibility between the two families.

See also: Backward compatibility