Un utente di GNU/Linux non può non sapere quali sono le 4 libertà fondamentali secondo la Free Software Foundation di Richard Stallman.
Vediamo quali sono:
- L’utente deve essere libero di utilizzare il programma per qualsiasi scopo;
- L’utente ha la libertà di modificare il programma per le sue esigenze;
- L’utente ha la libertà di distribuire copie del programma, gratuitamente o dietro compenso;
- L’utente ha la libertà di distribuire copie modificate di qualsiasi programma.
Riguardo alla ridistribuzione del software bisogna dire che la licenza GNU/GPL prevede che insieme ai binari siano distribuiti anche i sorgenti o, in alternativa, l’indicazione sulle modalità per venirne in possesso.
Intorno agli anni ’70 un certo Richard Stallman lavorava come programmatore al laboratorio di intelligenza artificiale del MIT (Massachussets Institute of Tecnologiy). I sistemi operativi per i grandi laboratori venivano rilasciati senza copyright ed erano liberi. I programmatori delle varie università e laboratori erano liberi di scambiarseli. Nel periodo che va dagli anni ’70 agli anni ’80 le software house cominciarono a rilasciare il software con licenza proprietaria e per ottenerlo bisognava sottoscrivere „accordi di non diffusione“. Richard Stallman sperimentò di persona l’uso del software proprietario e si rese immediatamente conto delle conseguenze negative derivanti dalla sottoscrizione dell’accordo di non diffusione. Per motivi di lavoro aveva bisogno del codice sorgente del programma di controllo di una stampante del MIT per ampliarne le funzionalità, ma qualcuno glielo negò. La mancanza di alcune funzionalità nel programma di controllo rendeva frustrante l’uso di quella stampante. Questo episodio provocò in lui un grande disappunto dal momento che fino ad allora aveva condiviso, scambiato e modificato (quando necessario) con gli altri programmatori tutto il software che gli passava per le mani. Decise, insieme ad un manipolo di programmatori, di dare vita al progetto GNU che aveva lo scopo di scrivere da zero un intero Sistema Operativo che fosse compatibile con Unix ed allo stesso tempo libero. In questo modo il codice sorgente sarebbe stato sempre disponibile ed a disposizione della comunità per eventuali modifiche e miglioramenti. Ma tutto ciò doveva essere comunque tutelato da qualcosa di scritto altrimenti sarebbe stato facile da parte di qualsiasi software house impossessarsi del codice e farlo proprio. Per questo scopo Stallman pensò di istituire la Free Software Foundation (FSF) che ha partorito la famosa licenza GNU/GPL (Gnu Pubblic License). I programmi rilasciati sotto questa licenza potevano e possono tuttora essere liberamente modificati, copiati e ridistribuiti sempre sotto Licenza GNU/GPL. Si può facilmente intuire che se una qualsiasi software house venisse in possesso di un programma rilasciato sotto i termini di questa licenza, non potrebbe impossessarsene rilasciando a sua volta il programma sotto una licenza di tipo proprietaria, perchè commetterebbe una violazione della Licenza e quindi sarebbe perseguibile in sede giudiziaria. Dopo la fondazione del progetto GNU, si cominciarono a sviluppare i compilatori GCC e tuttte quelle utility che dovevano far parte dell’ossatura del nuovo sistema operativo, ma nel 1991 nonostante fosse tutto pronto il progetto non poteva essere messo realmente in pratica perchè mancava ancora un „piccolo particolare“, il Kernel. Proprio in quel periodo uno studente dell’università di Helsinki, Linus Benedict Torvalds annuncia sul newsgroup com.os.minix di aver iniziato a lavorare ad un nuovo sistema operativo per 386/486. Guarda caso aveva iniziato a lavorare proprio a quel piccolo particolare che mancava al progetto GNU, il Kernel Linux. Questa breve panoramica lascia facilmente intuire il perchè Richard Stallman insiste sul fatto che Linux non è il Sistema Opeartivo GNU vero è proprio, ma soltanto uno dei suoi kernel (infatti il kernel originario del progetto GNU è HURD). Non a caso Stallman non parla mai di „Linux“ ma di „GNU/Linux“. Effettivamente non ha tutti i torti perchè quello che conosciamo oggi come Linux è in realtà il risultato degli sforzi compiuti dal progetto GNU (con Richard Stallman in testa) ed il nutrito gruppo degli sviluppatori del Kernel Linux (con Linus Benedict Torvalds in testa). Per questi motivi ogni distribuzione dovrebbe identificarsi con il nome „GNU/Linux“, ad esempio la distribuzione Mandrake dovrebbe chiamarsi „Mandrake GNU/Linux“.