1.1.3 Il ruolo di Open Source
Linux è iniziato nel 1991 come progetto hobby di Linus Torvalds. Ha reso la fonte liberamente disponibile e altri si sono uniti per dare forma a questo nascente sistema operativo. Il suo non è stato il primo sistema sviluppato da un gruppo, ma poiché si trattava di un progetto ex novo, i primi utenti avevano la capacità di influenzare la direzione del progetto e assicurarsi che gli errori di altri UNIX non fossero ripetuti.
I progetti software assumono la forma di codice sorgente, che è un insieme leggibile di istruzioni per computer. Il codice sorgente può essere scritto in una qualsiasi delle centinaia di diversi linguaggi di programmazione, Linux sembra essere scritto in C, che è un linguaggio che condivide la storia con l’UNIX originale.
Il codice sorgente non è compreso direttamente dal computer, quindi deve essere compilato nelle istruzioni della macchina da un compilatore. Il compilatore raccoglie tutti i file sorgente e genera qualcosa che può essere eseguito sul computer, come il kernel Linux.
Storicamente, la maggior parte del software è stata rilasciata con una licenza di origine chiusa, il che significa che hai il diritto di utilizzare il codice macchina, ma non riesci a vedere il codice sorgente. Spesso la licenza dice specificamente che non tenterai di decodificare il codice macchina al codice sorgente per capire cosa fa!
L’open source offre una visione del software incentrata sulla fonte. La filosofia open source è che hai il diritto di ottenere il software e di modificarlo per il tuo uso personale. Linux ha adottato questa filosofia con grande successo. Le persone hanno preso la fonte, apportato modifiche e le hanno condivise con il resto del gruppo.
Accanto a questo, c’era il progetto GNU (GNU, non UNIX). Mentre GNU (pronunciato “ga-noo”) stava costruendo il proprio sistema operativo, erano molto più efficaci nella costruzione degli strumenti associati a un sistema operativo UNIX, come i compilatori e le interfacce utente. Il sorgente era tutto liberamente disponibile, così Linux è stato in grado di indirizzare i propri strumenti e fornire un sistema completo. Come tale, la maggior parte degli strumenti che fanno parte del sistema Linux provengono da questi strumenti GNU.
Ci sono molte varianti diverse sull’open source e quelle saranno esaminate in un capitolo successivo Tutti concordano sul fatto che si dovrebbe avere accesso al codice sorgente, ma differiscono nel modo in cui è possibile, o in alcuni casi, ridistribuire le modifiche