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."