ricerca su
GNU
GNU è un acronimo ricorsivo e significa GNU is Not Unix (ovvero "GNU non è Unix).
Il logo GNU.
Il Progetto GNU, lanciato nel 1983 da Richard Stallman, si basa su una gestione particolare dei
diritti d'autore sul software, secondo la definizione di software libero (contrapposta a software
proprietario).
Scopo ultimo del Progetto GNU è la creazione di un sistema operativo completamente libero,
chiamato Sistema GNU; per arrivare a questo risultato, all'interno del progetto vengono creati
programmi per coprire ogni necessità informatica: compilatori, lettori multimediali, programmi di
crittografia... Nel 2005 il sistema non è ancora stato sviluppato completamente (il kernel HURD
non è ancora pronto per poter essere utilizzato), ma grazie al lavoro di Linus Torvalds è possibile
usare il Sistema GNU con il kernel Linux, ovvero il sistema GNU/Linux.
Attualmente esistono delle alternative al kernel Linux, fra cui Darwin che è anche alla base di Mac
OS X, ma nessuna è diffusa come il kernel Linux.
Fulcro di tutta l'attività del Progetto GNU è la licenza chiamata GNU General Public License (GNU
GPL), che sancisce e protegge le libertà fondamentali che, secondo Stallman, permettono l'uso e lo
sviluppo collettivo e naturale del software. Un'altra licenza, la GNU Free Documentation License
(GNU FDL), è stata scritta per coprire la documentazione, ed è usata anche dal progetto Wikipedia.
Per poter gestire alcuni casi, ad esempio lo sviluppo di librerie, il Progetto GNU ha creato anche la
GNU Lesser General Public License (GNU LGPL), che permette di integrare software libero
all'interno di software proprietario, specialmente per ragioni di compatibilità e portabilità.
Storia
Richard Stallman cominciò la sua carriera al MIT nel 1971, in un periodo in cui il software, usato in
modo molto simile all'attuale software libero (senza però nessuna regola scritta che ne sancisse le
modalità d'uso, cioè senza nessuna licenza), veniva utilizzato da molte compagnie private e i
programmatori non erano quasi mai soggetti a un contratto di non divulgazione. Già nel 1980 la
quasi totalità del software in circolazione era stato sostituito dal software proprietario. Stallman,
cominciando a confrontarsi con le conseguenze del cambiamento, si rese conto che l'avvento del
software proprietario ha l'effetto di impedire ai programmatori di collaborare tra loro.
Nel 1983 Richard Stallman lascia il suo lavoro al MIT e comincia a sviluppare il sistema con il
preciso intento di creare un sistema operativo che permettesse a chiunque di vedere il codice, di
modificarlo, di eseguirlo e di condividerlo con gli altri liberamente. L'annuncio originale (27
settembre) è seguito dal rilascio della prima versione del Manifesto GNU. Lo sviluppo del sistema
inizia nel 1984.
Nel 1990 il Sistema GNU aveva al suo interno un editor di testi estensibile (Emacs), un
compilatore, il GCC (GNU C Compiler), con funzioni di ottimizzazione e la maggior parte delle
librerie e delle utility di un sistema Unix standard. Era praticamente un sistema completo, mancava
però il componente centrale, il kernel, il cui sviluppo era cominciato nel 1986, prima sulla base di
TRIX (un kernel Unix realizzato al MIT) e successivamente (1988) sulla base di Mach (sviluppato
alla Carnegie Mellon University).
Lo sviluppo del kernel GNU, chiamato HURD, è tuttora (2005) in corso, ma non ha ancora
raggiunto una maturità ed una stabilità che ne permette l'uso in un ambiente di produzione.
Nel 1991 Linus Torvalds scrisse il kernel Linux e lo distribuì sotto licenza GNU GPL; grazie
all'interesse di molti programmatori coordinati dallo stesso Torvalds attraverso Internet, nel 1992 il
Sistema GNU e il kernel Linux vennero combinati in un unico sistema, chiamato GNU/Linux,
distribuito con licenza GNU GPL.
Kernel
Attualmente il sistema GNU è usabile con diversi Kernel, tra i quali:





Kernel Linux ed il sistema operativo prende il nome di GNU/Linux
Kernel NetBSD ed il sistema operativo prende il nome di GNU/NetBSD
Kernel kFreeBSD ed il sistema operativo prende il nome di GNU/kFreeBSD
Kernel HURD ed il sistema operativo prende il nome di GNU/HURD
Kernel Solaris ed il sistema operativo prende il nome di GNU/Solaris
Software GNU più diffuso




bash (bourne again shell): la riga di comando del sistema GNU. Il suo scopo è consentire
l'esecuzione dei software.
gcc (GNU Compiler Collection): è la suite di compilatori software più diffusi; supporta
numerosi linguaggi di programmazione (tra cui C, C++ , Objective C, Fortran, Java e Ada)
gdb (GNU debugger): ottimo software per effettuare il controllo di flusso su un programma
al fine di trovare bug o anomalie implementative
emacs (editor macros): editor testuale estensibile tramite macro scritte in linguaggio lisp



fileutils e coreutils: sono dei pacchetti che contengono i software per riga di comando più
diffusi, atti a compiere operazioni basilari come copia di file, creazione e scrittura di file,
creazione di collegamenti ecc.
Glibc (GNU C Library): la libreria standard del C, utilizzata nei programmi per
GNU/Linux, ma non solo.
GNOME (GNU Network Object Model Environment): desktop environment (ambiente
grafico) dotato di un'interfaccia estremamente intuitiva e personalizzabile.
GNU Linux
GNU/Linux è un sistema operativo libero di tipo
Unix (o unix-like), distribuito con licenza GNU GPL,
costituito dall'integrazione del kernel Linux all'interno
del sistema GNU. La forma Linux (senza prefisso
"GNU/") è ritenuta da alcuni scorretta perché si limita
a indicare il solo kernel, tuttavia è ampiamente usata
come sineddoche per riferirsi al sistema operativo nel
suo complesso.
Un sistema GNU/Linux include il principale software
GNU e molti altri pacchetti (ad esempio l'X Window
System e TEX, che non sono software GNU, alcuni
programmi e librerie provenienti dal progetto BSD).
La presenza di una soluzione del genere ha permesso
di colmare la lacuna lasciata da HURD, il kernel
sviluppato in seno al progetto GNU, che non è
riuscito ad arrivare a uno stadio di completezza soddisfacente.
Fino a poco tempo fa (e in parte ancora oggi), chi utilizzava GNU/Linux doveva possedere una
solida cultura informatica di base ed essere in grado all'occorrenza di installare, configurare e
aggiornare autonomamente il proprio sistema. Con l'adozione del sistema da parte di molte aziende
sono stati creati programmi di installazione e manutenzione che non richiedono conoscenze
tecniche così approfondite per l'utilizzo di GNU/Linux; questi programmi hanno aperto la strada
all'ingresso di GNU/Linux all'interno del mercato desktop.
Esistono distribuzioni che si avviano da CD (detti Live CD) e che funzionano senza bisogno di
installazione su disco fisso, come ad esempio Knoppix e Morphix. Sono stati poi creati sistemi di
avvio da rete o (per un uso limitato, ad esempio per ripristinare un sistema non funzionante) da
dischetto floppy. Non ultima la distribuzione Gentoo Linux, che effettua la compilazione da
sorgente pacchetto per pacchetto in fase di installazione, in modo da ottenere un sistema con
prestazioni più elevate perché ottimizzato per la macchina su cui viene installato. Sulle macchine
moderne, tuttavia, l'aumento di prestazioni che ne deriva è limitato e può passare inosservato
all'utente comune.
GNU/Linux è anche un componente indispensabile del software per server LAMP, che ha raggiunto
un'ampia popolarità tra gli sviluppatori web.
Con l'evoluzione di ambienti desktop come KDE e GNOME, il sistema offre una interfaccia grafica
simile per facilità e comodità d'uso a quella di Microsoft Windows o di Mac OS X, più vicina alle
esigenze degli utenti meno esperti, rendendo il passaggio da un sistema all'altro meno traumatico e
garantendo un'elevata personalizzabilità dell'interfaccia.
GNU General Public License
La GNU General Public License è una licenza per software libero. Il testo ufficiale della licenza è
disponibile all'URL http://www.gnu.org/licenses/gpl.html, mentre all'URL
http://www.softwarelibero.it/gnudoc/gpl.it.txt è disponibile la traduzione non ufficiale in italiano.
Viene spesso indicata con l'acronimo GNU GPL o (quando non c'è il rischio di confondersi con
un'altra "General Public License") semplicemente GPL. Per evitare un errore alquanto comune, si
tenga presente che GPL non significa Gnu Public License.
La GNU GPL è stata scritta da Richard Stallman e Eben Moglen nel 1989 la versione 1.0 e nel 1991
la versione 2.0, per distribuire i programmi creati dal Progetto GNU. È basata su una licenza simile
usata per le prime versioni di GNU Emacs. Contrapponendosi alle licenze per software proprietario,
la GNU GPL permette all'utente libertà di utilizzo, copia, modifica e distribuzione; a partire dalla
sua creazione è diventata una delle licenze per software libero più usate. Attualmente è in corso di
definizione da parte della FSF la terza versione della GPL
Termini della licenza
Quanto segue è un riassunto dei termini della licenza. L'unica descrizione legalmente precisa, in
ogni caso, è quella del testo della licenza stessa.
Il testo della GNU GPL è disponibile per chiunque riceva una copia di un software coperto da
questa licenza. I licenziatari (da qui in poi indicati come "utenti") che accettano le sue condizioni
hanno la possibilità di modificare il software, di copiarlo e ridistribuirlo con o senza modifiche, sia
gratuitamente sia a pagamento. Quest'ultimo punto distingue la GNU GPL dalle licenze che
proibiscono la ridistribuzione commerciale.
Se l'utente distribuisce copie del software, deve rendere disponibile il codice sorgente a ogni
acquirente, incluse tutte le modifiche eventualmente effettuate (questa caratteristica è detta
copyleft). Nella pratica, i programmi sotto GNU GPL vengono spesso distribuiti allegando il loro
codice sorgente, anche se la licenza non lo richiede. Ci sono casi in cui viene distribuito solo il
codice sorgente, lasciando all'utente il compito di compilarlo.
L'utente è tenuto a rendere disponibile il codice sorgente solo alle persone che hanno ricevuto da lui
la copia del programma o, in alternativa, accompagnare il software con una offerta scritta di rendere
disponibile il sorgente su richiesta e per il solo costo della copia. Questo significa, ad esempio, che
è possibile creare versioni private di un software sotto GNU GPL, a patto che tale versione non
venga distribuita a qualcun altro. Questo accade quando l'utente crea delle modifiche private al
software ma non lo distribuisce: in questo caso non è tenuto a rendere pubbliche le modifiche.
Dato che il software è protetto da copyright, l'utente non ha altro diritto di modifica o
ridistribuzione al di fuori dalle condizioni di copyleft. In ogni caso, l'utente deve accettare i termini
della GNU GPL solo se desidera esercitare diritti normalmente non contemplati dalla legge sul
copyright, come la ridistribuzione. Al contrario, se qualcuno distribuisce un software (in particolare,
versioni modificate) senza rendere disponibile il codice sorgente o violando in altro modo la
licenza, può essere denunciato dall'autore originale secondo le stesse leggi sul copyright. È un
intelligente cavillo legale, ed è per questo che la GNU GPL è stata descritta come un "copyright
hack". La licenza specifica anche che il diritto illimitato di ridistribuzione non è garantito, in quanto
potrebbero essere trovate delle debolezze legali (o "bug") all'interno della definizione di copyleft.
Detentori del Copyright
La Free Software Foundation (FSF) detiene i diritti di copyright per il testo della GNU GPL, ma
non detiene i diritti del software rilasciato con questa licenza. A meno che venga emessa una
specifica nota di copyright da parte della FSF, l'autore del software detiene i diritti di copyright per
il suo lavoro, ed è responsabile di perseguire ogni violazione della licenza riguardante il suo
software.
In caso di violazione della licenza il detentore del copyright è l'unico che può richiederne il rispetto
nei termini di legge ed è l'unico che può chiedere aiuto alla FSF per la protezione di tale software,
quest'ultima può intervenire solo se è il detentore del copyright a richiederne il suo aiuto. La FSF,
normalmente, mette a disposizione i suoi legali per proteggere il software coperto da una licenza
GNU, chiedendo in un primo tempo il rispetto della licenza e solo se tale richiesta non viene
accettata si arriva al tribunale.
A differenza dei software con essa distribuiti, la GNU GPL non è liberamente modificabile:
copiarla e distribuirla è permesso, ma modificarla è vietato. La FSF permette di creare nuove
licenze basate sulla GNU GPL, a patto che tali licenze non usino il suo preambolo senza permesso.
Dato che, solitamente, la nuova licenza non è compatibile con la GNU GPL, la FSF sconsiglia di
creare versioni modificate.
Versione 3 della licenza GPL
La GPL versione 3 dovrebbe chiarire concetti come la compatibilità delle versioni con le norme
U.S.A. e del resto del mondo; norme sull'utilizzo del software GPLv2 da parte di aziende. Dovrebbe
poi obbligare le persone che distribuiscono software GPLv2 (proprio o meno) via web a distribuire
anche il codice. Infatti molte aziende non distribuivano il codice, ma solo il software; poiche la
versione GPLv2 non chiariva l'argomento "web", rendendolo cosi più simile alla licenza freeware
che a quella GPL. La maggior parte dei programmi con licenza GPLv2, utilizza il seguente testo
approvato dalla FSF: "This program is free software; you can redistribuite it and/or modify it under
the terms of the GNU/General Pubblic License as published the Free software fonduation; either
version 2 of the License, or (at your opinion) any later version". I programmi con il seguente testo
passeranno automaticamente dalla GPLv2 alla GPLv3. Gli sviluppatori potranno scegliere quale
versione della licenza GPL utilizzare. Linus Torvalds e stato inizialmente contrario alla licenza
GPLv3 per gli atteggiamenti di "crociata" che tale draft porta al suo interno. "Secondo me uno dei
motivi per cui Linux ha avuto tanto successo e la qualita del progetto, non certo l'atteggiamento di
crociata che molti gli vogliono attribuire" ha dichiarato Linus Torvalds. Infine ha ribaltato la
posizione di Richard Stallman: "non e la GPL ad aver reso famoso GNU/Linux, ma e Linux ad aver
reso "presentabile" la GPL, essendo dannatamente meno integralista di quello che la FSF vuole."