Source code and object code refer to the "before" and "after" versions of a computer program that is compiled (see compiler) before it is ready to run in a computer. The source code consists of the programming statements that are created by a programmer with a text editor or a visual programming tool and then saved in a file. For example, a programmer using the C language types in a desired sequence of C language statements using a text editor and then saves them as a named file. This file is said to contain the source code. It is now ready to be compiled with a C compiler and the resulting output, the compiled file, is often referred to as object code. The object code file contains a sequence of instructions that the processor can understand but that is difficult for a human to read or modify. For this reason and because even debugged programs often need some later enhancement, the source code is the most permanent form of the program.
When you purchase or receive operating system or application software, it is usually in the form of compiled object code and the source code is not included. Proprietary software vendors usually don't want you to try to improve their code since this may created additional service costs for them. Lately, there is a movement to develop software (Linux is an example) that is open to further improvement by anyone who wants to improve it, and here the source code is provided.