Il codice sorgente è un termine usato per riferirsi al file o ai file contenenti le linee effettive di istruzioni di programmazione scritte dai programmatori per il software che sviluppano. Linux® è il nome del codice sorgente scritto da Linus Torvalds, che ha sviluppato il kernel del sistema operativo Linux®. Queste istruzioni di programmazione sono chiamate codice sorgente Linux®. Il termine è talvolta usato in modo approssimativo, ma non corretto, per riferirsi al codice sorgente delle applicazioni sviluppate per essere eseguite sotto Linux® ma che non sono il kernel stesso. Un kernel è un software estremamente complesso che funge da gestore dei processi che si verificano all’interno di un sistema operativo e gli utenti raramente interagiscono direttamente con il kernel, che è il cuore o il “cuore” del sistema.
Torvalds ha rilasciato il codice sorgente di Linux® sotto la GNU General Public License, rendendolo disponibile gratuitamente tramite download. Sebbene la maggior parte del software open source sia gratuito tramite download, il termine “open source” non significa necessariamente che non vi sia alcun costo allegato a un programma software; piuttosto indica la libertà legale non solo di visualizzare il codice sorgente del programma ma anche di modificarlo in software personalizzato. Gli utenti del sistema operativo Linux® che non sono programmatori scaricano molto raramente il codice sorgente di Linux®, perché deve essere compilato, il che può essere un compito arduo per chi è nuovo ai principi e ai passaggi coinvolti nella compilazione del software.
Esistono differenze tra il codice sorgente Linux® e un sistema operativo Linux®, noto anche come distribuzione o semplicemente “distro”. Il codice sorgente di Linux® è solo la parte di gestione del sistema, mentre una distribuzione include un kernel in bundle con programmi che interagiscono e sono gestiti da quel kernel, fornendo agli utenti un modo per sfruttare la potenza del gestore. Coloro che sono interessati all’utilizzo di una distribuzione Linux® devono solo scaricare quel particolare sistema operativo senza alcuna preoccupazione per il codice sorgente di Linux®. Molte persone usano i sistemi operativi Linux® ogni giorno per gestire le proprie esigenze informatiche personali e aziendali con un’elevata automazione e facilità d’uso senza alcuna comprensione del codice sorgente di Linux®.
Il kernel Linux® contiene le istruzioni necessarie per i vari componenti hardware su cui verrà eseguito il sistema. Ciò include il codice per l’unità di elaborazione centrale, che è il “cervello” di un computer; la scheda madre; e altro hardware. I programmatori di computer che sono interessati a sviluppare il proprio “sapore” di Linux® possono scaricare il codice sorgente di Linux® e altre utilità che sono anche file open source e quei programmatori possono iniziare legalmente a creare una nuova distribuzione che potrebbero offrire gratuitamente o a pagamento. Quasi tutte le distribuzioni Linux®, tuttavia, sono offerte gratuitamente tramite download.