Source-code compatibility (source-compatible) means that a program can run on computers (or operating systems), independently of binary-code compatibility and that the source code is needed for portability.
The source code must be compiled before running, unless the computer used has an interpreter for the language at hand. The term is also used for assembly language compatibility, where the source is a human-readable form of machine code that must be converted into numerical (i.e. executable) machine code by an assembler. This is different from binary-code compatibility, where no recompilation (or assembly) 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 (the Windows NT family, from NT 3.1 through Windows 10, or the family that includes Windows 95, Windows 98, and Windows Me), with partial source compatibility between the two families.
- Baron, R.J.; Higbie, L. (1992). Computer Architecture. Addison-Wesley series in electrical and computer engineering. Addison-Wesley Publishing Company. p. 106. ISBN 978-0-201-50923-6. Retrieved 9 May 2018.
- Data Processing Digest. Data Processing Digest, Incorporated. 1980. p. 21. Retrieved 9 May 2018.
- Stern, M.; Monti, G.; Bachmann, V. (1998). NT Enterprise Network Design (in Estonian). Sybex, Network Press. p. 17. ISBN 978-0-7821-2156-8. Retrieved 9 May 2018.