GNU/Linux

Da Luckylinux.org - Il wiki di informatica, tecnologia e programmazione.

GNU/Linux (talvolta chiamato brevemente solo Linux) è un sistema operativo libero, costituito dall'integrazione del software GNU con il kernel Linux.

Indice

Che cos'è Linux?

Linux è il kernel ( è il "nucleo" del OS) del sistema operativo GNU/linux. Il suo sviluppo è iniziato nel 1991 ad opera di uno studente universitario finlandese, Linus Torvalds, che tutt'ora ne detiene il copyright. Oggi, il kernel Linux è software libero, rilasciato sotto licenza GPL.

Approfondimenti

Che cos'è GNU?

GNU (acronimo ricorsivo: Gnu is Not Unix) è il progetto avviato da Richard Mathew Stallman nel 1983, che aveva lo scopo di fornire un sistema operativo del tutto libero. In quegli anni Stallman lavorava presso il laboratorio di intelligenza artificiale del MIT e faceva parte di una foltà comunità in cui si scambiavano liberamente programmi e ciò succedeva da parecchio tempo ormai. Infatti condividere i programmi (in partciolare i sorgenti) è antico come scambiarsi le ricette in cucina.

Al MIT era presente un sistema operativo progettato proprio da questa comunità di hacker, e il compito di Stallman era quello di migliorarlo. Ancora non c'era il concetto di software libero in quanto questa espressione ancora non esisteva, ma si trattava proprio di questo. Se qualcuno veniva a chiedere il codice di quel sistema, il codice le veniva reso senza problemi perchè codeste persone potevano a loro volta migliorarlo e quindi condividerlo a loro volta. Agli inizi degli anni '80 le cose iniziarono a cambiare, la comunità si dissolve e mano a mano il codice non fu più aggiornato e divenne obsoleto. Così fu adottato un nuovo sistema, proprietario, che possedeva delle clausole di non diffussione per il suo utilizzo. Praticamente si era imposto il motto “se condividi il software col tuo vicino sei un pirata. Se vuoi modifiche, pregaci di farle”. Queste imposizioni erano (o meglio sono) descritte dalle case produttrici di software come un "diritto naturale", e, se così fosse, nessuno negherebbe loro questo diritto; ma visto che nessuna carta costituzionale afferma che il copyright sia questo, in realtà si definisce come un monopolio imposto dal governo che limita il diritto degli utenti a effettuare delle copie.

Stallman allora si trovo davanti ad una terribile scelta morale: unirsi al mondo del software proprietario per arrivare ad una certa età e voltarsi indietro, capendo di aver lavorato una vita intera per costruire barriere tra loro e l'utente, oppure abbondanare il mondo dell'informatica. La svolta decisiva (si dice) fu quando un giorno nel cercare di far funzionare correttamente una stampante che aveva qualche problemino, Stallman si infurio perchè il produttore si rifiutò di fornirgli il codice sorgente del driver.

Così decise di iniziare un nuovo progetto che potesse fornire un sistema compatibile e simile a UNIX, ma libero, a cui tutti gli utenti avrebbero potuto fare e modifiche e migliorarlo. Un sistema operativo degno di essere chiamato così oltre al nucleo base forniva anche interpreti di comandi, assemblatori, compilatori, interpreti di linguaggi, debugger, editor di testo, programmi per la posta e molto altro e Stallman parti con l'idea che anche GNU dovesse possedere tutte queste cose. Per fare ciò, però, Stallman fu costretto a lasciare il MIT (per impedire che il laboratorio pretendesse diritti sul suo progetto), ma i responsabili del MIT consetirono comunque a Stallman di continuare ad usufruire dei calcolatori del laboratorio.

Iniziò a scrivere i primi programmi: GCC, famoso compilatore, e Emacs, uno dei più noti editor. A questo punto però alcune persone si iniziarono ad interessare ad Emacs e si pose il problema di come distribuirlo, all'epoca Stallman era appunto rimasto senza lavoro e così decise che chi non potesse procurarsi emacs via ftp, glielo avrebbe spedito su un nastro per un corrispettivo di 150 dollari (vi ricordo che vendere software libero non infrange per nulla la licenza GPL poi adottata da Emacs). Ma qui Stallman fu costretto anche a preoccuparsi del futuro del suo software in quanto chi avrebbe acquistato da lui emacs avrebbe potutto applicarci qualche restrizione e così allora fu stilata la prima versione della GPL, la GNU General Public License. La GPL che permette di fare qualunque modifica al software purchè esso rimanga sempre disponibile e libero, coprì e copre ancora tutto il software GNU.

Stallman e la comunità che ormai si era fondata intorno a lui, iniziaro a stilare una lista dei compiti: si fece un elenco in ordine di importanze di tutto quello che fosse necessario realizzare per un sistema completo: in questa lista furono inserite anche molte cose apparentemente strane come giochi, inutility ecc.

Mano a mano tutti i componenti furono realizzati eccetto uno, forse quello più importante, il kernel. Si era infatti deciso di aspettare il rilascio come software libero del micro-kernel MACH sviluppato dal Carnegie Mellon University, e dopo un debugging del codice di rinominarlo HURD (in origine Stallman aveva deciso di chiamarlo Alix) però questo lavoro si rivelo estremamente lungo e complicato. Così nel 1991 Linus Torvalds rese disponibile il kernel Linux, che, appunto perchè sviluppato come alternativa al kernel di UNIX, girava perfettamente con tutto il software GNU. Così si ebbe il primo sistema operativo completamente libero GNU/Linux.

Poi per molte ragioni tecniche Linux si rivelò un ottimo kernel e così mano a mano la comunità perse interesse in HURD (se volete provarlo potete provare la versione Debian basata su kernel HURD). Oggi tutte le distro offrono sistemi basati su GNU/linux ma la maggior parte di queste dimenticano di inserire nel loro nome anche GNU (es Suse Linux, Mandriva Linux, Gentoo Linux ecc)!!!

Approfondimenti

Che cos'è il software libero?

Partiamo da una precisazione fondamentale: Software libero non significa gratuito. Un software, per considerarsi libero, deve avere particolari caratteristiche:

  • si deve poter eseguire il programma per qualsiasi scopo;
  • si deve poter studiare come funziona il programma e adattarlo alle proprie necessità;
  • si deve poter accedere al codice sorgente;
  • si deve poter ridistribuire copie in modo da aiutare il prossimo;
  • si deve poter migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.

Il Software libero viene spesso impropriamente definito in inglese col termine Open Source, ovvero, codice aperto che sta a significare che chiunque ha accesso al codice di tale programma con la possibilità di modificarlo e ridistribuirlo. In realtà non tutto il software OpenSource è di conseguenza Software Libero, perché non concede tutte le libertà citate all'utente.

Software libero non significa privo di copyright. Infatti, molti di questi programmi hanno la licenza BSD o GNU GPL:

  • La licenza BSD è una licenza per software libero semplice, permissiva, senza permesso d'autore, compatibile con la GNU GPL.
  • La licenza GNU GPL è una licenza per software libero e una licenza con permesso d'autore.

Il software libero, anche se possiede tutte le caratteristiche sopra citate, può essere commercializzato, infatti, ci sono programmatori che vivono della vendita e della manutenzione dei programmi liberi da loro creati.


Approfondimenti

Immagine:P2pforumcollab.gif‎

Strumenti personali

-->
Navigazione
Siti amici
-->

Strumenti
-->

-->