Introduzione all'Open Source “La Sapienza” Linux User Group Cos'è Unix? Unix e' un sistema operativo, creato da .Kernighan e D. Ritchie insieme ad altri programmatori presso i Bell Labs nel 1969. B Questo gruppo di programmatori iniziò costruendosi un linguaggio di programmazione: il C ispirato al B. Il Kernel Unix fu scritto basandosi su quello di Multics e Unics. Codice disponibile In principio (quando ancora i soli a possedere l'hardware erano le universita' e i laboratori privati) chiunque poteva richiedere ai Bell Labs, ad un prezzo irrisorio, un nastro contenente il software e i manuali cartacei relativi . Inoltre si era completamente liberi di modificare il codice secondo le proprie necessita'. Fine anni '70: miglioramenti in Unix Verso la fine degli anni '70 l'Universita' di Berkley comincio' ad importare migliorie al codice Unix grazie alle loro ricerche relative soprattutto alle reti e al protocollo TCP/IP. BSD (Berkley Software Distribution) Iniziò da lì il cosidetto ramo "BSD" (Berkley Software Distribuition). Le varianti piu' famose di questi software sono: freeBSD, openBSD, e netBSD. Links (1) http://www.bell-labs.com/history/unix/ http://internethistory.org/archives/early.history.of.unix.html Software proprietario Siamo agli inizi del 1980: dopo l'esponeziale crescita della popolarita' di Unix e la sua cessione ad AT&T, i nastri del codice sorgente divennero un prodotto commerciale chiamato AT&T UNIX. Da quel momento tutti gli sviluppatori iniziarono a scrivere software proprietario di cui non era possibile vedere ne' tantomeno modificare i sorgenti. Richard M. Stallman Nel 1983, quando lavorava presso il laboratorio di Intelligenza Artificiale al MIT di Cambridge, Richard Stallman noto' un' inversione di tendenza tra i suoi colleghi, che iniziarono ad apprezzare la politica del closed-source. Ma lui non pote' recepire ne' tantomeno appoggiare la filosofia del software prorpietario: non poter condividere il lavoro, ne' modificarne uno gia' esistente. Il progetto GNU Per poter usare liberamente il computer serviva quindi un sistema libero. Stallman decise così di iniziare a scrivere un nuovo sistema operativo, pienamente compatibile con Unix, completamente open source. Prese così vita il progetto GNU (GNU is Not Unix). GPL (GNU Public License) La licenza GPL (GNU Public License) permette di distribuire software garantendo all'utente 4 libertà fondamentali: 0) libertà d'uso 1) libertà di copiare il codice sorgente 2) libertà di modificare il codice sorgente 3) libertà di redistribuire copie letterali o modificate del codice sorgente Free as in freedom Quando si parla di software libero si intende la liberta' e non di prezzo. Infatti nessuno vieta, a chiunque sviluppi software libero, di guadagnarci. In questo modo ogni utente ha tutta la liberta' di cui ha bisogno. Links (2) http://www.gnu.org/copyleft/gpl.txt Open Source Il concetto di software Open Source venne introdotto nel 1998 da alcuni programmatori. Essi temevano che il termine “free”, in Free Software, implicasse che il software dovesse essere gratuito e che venisse confuso con il freeware, distribuito gratuitamente ma nella sola forma di eseguibile. La Open Souce Initiative La Open Source Initiative venne fondata allo scopo di promuovere il software conforme alla definizione di "Open Source Software" ed e' derivata dalle Debian FreeSoftware Guidelines, inizialmente elaborate da Bruce Perens. Libero / proprietario In realta' parlare di open source e' restrittivo, infatti si potrebbe estendere il concetto, applicato ora al software, a tutto cio' che non e' materiale, come la musica, la libera informazione, il libero dialogo etc... In ogni caso ciò che differenzia il software libero da quello proprietario risiede nelle liberta' garantite dal primo ed esplicitamente negate dal secondo. Links (3) http://www.opensource.org http://www.gnu.org/philosophy/free-software-forfreedom.html Linux All'inizio degli anni '90, Linus Torvalds, un giovane studente finlandese di scienze dell'informazione, comincio' ad apportare modifiche al kernel di Minix, il sistema operativo usato nei corsi che seguiva e decise a quel punto di scriverne uno tutto suo. 1991: rilascio di Linux Alla fine del '91 Torvalds pubblico', sotto licenza GPL, il primo kernel di freaX, (gioco di parole tra Free, libero, Freak, strano, e la X di unix). Ma alla comunita' non piacque il nome, perche' troppo simile alla moda freaky in voga in quegli anni. Si decise così di intitolare il progetto a chi lo aveva creato. Quindi freaX divenne LINUX. Il più grande progetto collaborativo della storia Naturalmente Torvalds chiese supporto a tutti i programmatori che volevano lavorare al suo kernel. Questo aiuto non tardo' ad arrivare e permise a Linux di diventare cio' che e' adesso: un sistema universale che puo' essere utilizzato sia da Desktop environment che come piattaforma di sviluppo. Links (4) http://www.linux.org http://www.ils.org Cos'è una distribuzione? Per realizzare un sistema operativo completo ed usabile, singoli programmi e un kernel non bastano: e' necessaria un'organizzazione tra gli applicativi ed il cuore del sistema operativo, questa organizzazione prende il nome di distribuzione. Molte distribuzioni, un solo cuore Quando si parla di sistemi GNU/Linux si intende la suite degli applicativi GNU distribuiti insieme al kernel Linux. Quindi quando si sente parlare di Debian, Ubuntu, RedHat, SuSE, in realta' si tratta di distribuzioni che condividono tutte lo stesso cuore: Linux. Links (5) http://www.debian.org http://www.gentoo.org