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-compatibility, where no recompliation 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.