The first computer compiler ever created was A-0, written by Grace Hopper in 1951. A-0 stands for Arithmetic Language version 0, which means the first computer language to be defined.
The A-0 was more of a loader than the modern idea of a compiler. A program in programming is just a sequence of arguments and subroutines. Subroutines in programming were identified with a numeric code, and arguments used to execute them followed the numerical code. The A-0 system translated specifications into machine code that the computer would execute repeatedly.
After the release of A-0, many better versions of computer compilers were released later. The A-0 system was followed by the A-1, A-2, and then the AT-3. The B-0 system is also used in some places.
UNIVAC division of Remington Rand created the A-2 system in 1953, and released it to customers in the same year. The customers was invited to send their improvements back to UNIVAC with the source code for A-2. A-2 is a good example of an early philosophy that is similar to open source software.