Програмните текстове, написани на C или C++ - най-често използваните езици за съвременните операционни системи, преминават през процес, наречен компилация. Специално приложение - компилатор - ги “превежда” на машинен език и в резултат се получават изпълнимите файлове, наречени още двоични (binaries). Ако се опитаме да отворим един изпълним файл през текстовия редактор, ще видим поредица от неразбираеми символи.
При “затворения” комерсиален софтуер, като MS Windows, ние разполагаме само с крайния резултат - компилирания код, бинарните файлове. Свободният софтуер, съгласно лиценза GPL, се разпространява задължително и със своите изходни текстове (source), а нерядко се публикува и само като изходен текст. Това означава, че ще трябва да си го компилираме сами, за да го използваме. В света на Linux обаче тази процедура е максимално опростена и не изисква никакви познания по програмиране, а средствата за това са също достъпни и свободни. Необходимостта от предоставянето на изходния код е ясна - една програма може да бъде променяна, единствено ако разполагаш с нейния с source.