Source code compatibility (source compatible) means that a program can run on computers (or operating systems), independently of binary compatibility and that the source code is needed for portability.
The source code must be compiled before running, unless the computers can work as interpreters (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. This is different from binary code compatibility, where no recompilation is needed.
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, XP or 95, 98, ME), with partial source compatibility between the two families.