GNU
Da Wikipedia, l'enciclopedia libera.
GNU è un acronimo ricorsivo e significa GNU is Not Unix (ovvero "GNU non è Unix").
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, ecc. 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, difatti tutti gli antecedenti sistemi liberi Unix/BSD usano un altro kernel monolitico, ma questa famiglia è molto differenziata sotto il profilo della licenza del codice (vedere Licenza BSD) che è allo stato attuale incompatibile con le licenze GNU.
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à.
Indice |
[modifica] 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 [1]. 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 (2007) 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.
[modifica] Kernel
Attualmente il sistema GNU è usabile con diversi Kernel, tra i quali:
- Kernel Darwin ed il sistema operativo prende il nome di GNU/Darwin
- 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 FreeBSD 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
[modifica] 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.
- GIMP (GNU Image Manipulation Program): un programma libero di fotoritocco che permette di creare e modificare immagini raster.
[modifica] Voci correlate
- GNU/Linux
- Linus Torvalds
- Open source
- kernel Linux
- Gnuteca
- Software Libero
- Software proprietario
- copyright
- copyleft
[modifica] Altri progetti
- Wikimedia Commons contiene file multimediali su GNU
[modifica] Collegamenti esterni
- Sito ufficiale GNU al cui interno è possibile trovare molti articoli sul progetto e un archivio di programmi che sono Software Libero
- (EN) Sito di Richard Stallman.
|
||
---|---|---|
Storia | Manifesto GNU · Progetto GNU · Free Software Foundation · Storia del software libero | |
Licenze GNU | GNU General Public License · GNU Lesser General Public License · GNU Free Documentation License · GPL linking exception · GNU Affero General Public License | |
Software | GNU (Varianti) · GNOME · Gnuzilla · Gnash · bash · GCC · GNU Emacs · glibc · Coreutils · GNU build system · Lista dei pacchetti GNU | |
Rappresentanti | Robert J. Chassell · Loïc Dachary · Miguel de Icaza · Ricardo Galli · Georg C. F. Greve · Federico Heinz · Benjamin Mako Hill· Rasmus Lerdorf · Lawrence Lessig · Bradley M. Kuhn · Eben Moglen · Ian Murdock · Bruce Perens · Mark Shuttleworth · Richard Stallman · John Sullivan · Linus Torvalds |
- Portale Software libero: accedi alle voci di Wikipedia che parlano di Software libero