Al tempo l'unica alternativa sufficientemente completa era KDE, il quale raccoglieva diverse critiche riguardanti il non essere un ambiente aperto (KDE forniva le api per i soli linguaggi C e C++) e non completamente libero, in quanto le librerie grafiche su cui si basa, le Qt, non erano ancora state rilasciate con una licenza libera (in seguito sono state rilasciate sotto licenza GNU GPL e LGPL).
Attualmente GNOME è l'ambiente grafico predefinito di molte distribuzioni Linux, tra le quali Debian, Fedora e Ubuntu.
Il cuore di GNOME è programmato principalmente in C e interamente basato sulle librerie grafiche GTK+; è libero fin dalla sua nascita, essendo pubblicato sotto le licenze GNU General Public License e GNU Lesser General Public License (a seconda dei componenti). GNOME è stato progettato con un alto livello di astrazione, e proprio questa sua caratteristica ha permesso di poterlo compilare e includere in un gran numero di sistemi operativi unix-like; sono disponibili api e documentazione per lo sviluppo di applicazioni Gnome in diversi linguaggi, tra i quali Ruby, Java, C++, Perl, Scheme, C#, Python e, naturalmente, C. Attualmente il progetto cyGNOME[5] sta tentando di effettuare il porting sul sistema operativo Microsoft Windows appoggiandosi sul sistema cygwin.
GNOME è costituito da un grande numero di progetti diversi. Alcuni sono elencati qui sotto:
- Bonobo — una tecnologia per gestire documenti;
- GConf — sistema di gestione della configurazione delle applicazioni;
- GVFS — file system virtuale;
- GNOME Keyring — gestione di chiavi per la crittografia;
- GNOME Print — sistema di stampa;
- GNOME Translation Project — per la traduzione della documentazione e delle applicazioni in varie lingue;
- GTK+ — una libreria complessa che comprende:
- ATK — per l'accessibilità;
- GLib — funzioni per la programmazione in C;
- GObject — un framework per la programmazione orientata agli oggetti in C;
- Pango — per disegnare il testo sullo schermo in diverse lingue;
- Human Interface Guidelines — linee guida per la creazione di applicazioni GNOME facili da usare;
- LibXML — libreria XML;
- Metacity — un window manager.
L'uso di GTK+ permette a GNOME di sfruttare alcune sue caratteristiche: gestione dei temi (possibilità di cambiare look and feel al volo), grafica anti-aliased (grazie a Cairo) e la possibilità di portare le applicazioni su diverse piattaforme, quali Windows e Mac OSX (come The Gimp ed Inkscape).
Applicazioni Gnome.
La seguente lista include applicazioni che utilizzano tecnologie del progetto GNOME e che sono spesso incluse in un desktop GNOME:
- AbiWord — un word processor;
- Alexandria — programma per la gestione di biblioteche;
- Brasero — un programma per masterizzare su CD e DVD;
- Cheese — un programma per scattare foto e riprendere video usando la webcam
- Epiphany — un web browser;
- Ekiga — un programma per la telefonia e il voice over IP;
- Evolution — un gestore avanzato della posta elettronica, rubrica e impegni;
- File Roller — un front-end per la gestione di file compressi;
- Gedit — un editor di testo;
- Gnumeric — un foglio elettronico;
- Glom — un front end database RAD, basato su PostgreSQL, per la creazione di database in un unico file, come FileMaker Pro;
- Inkscape — una applicazione per il disegno vettoriale;
- Mono — un ambiente di sviluppo basato su Microsoft .NET Framework;
- Pidgin — un instant messenger;
- PiTiVi — editor video;
- Nautilus — un file manager utilizzabile anche come client FTP;
- Rhythmbox — un gestore di musica simile a iTunes;
- Totem — un lettore multimediale;
- Tomboy — uno strumento per appunti per il Desktop;
- GDM — un sistema di login grafico per accedere al sistema;
- Orca — una suite assistiva ai non vedenti/ipovedenti comprendente ingranditori schermo, sintesi vocale, barra Braille...
- Glade — un designer di interfacce GTK+ (GUI Builder);
- Screem — un editor HTML/CSS/PHP;
- GIMP — un avanzato software di fotoritocco;
- gnome-utils — Una serie di programmi di utilità che comprende: gnome-screenshot, per catturare screenshot, Baobab, un analizzatore grafico di uso del disco, gnome-system-log, gnome-search-tool, gnome-dictionary e gfloppy
Versioni.
Versioni Stabili.
Ogni parte che compone il progetto GNOME ha la propria versione. Ogni sviluppatore dei moduli coordina il proprio lavoro per rilasciare una versione completa e stabile ogni sei mesi. La seguente tabella mostra i principali rilasci del progetto GNOME. Le versioni instabili per i tester e i bugfix non sono elencati.
Versione Data Informazioni
Agosto 1997
Annuncio dello sviluppo di GNOME
1.0 Marzo 1999 Prima major release di GNOME
1.0.53 Ottobre 1999 "October"
1.2 Maggio 2000 "Bongo"
1.4 Aprile 2001 "Tranquility"
2.0 Giugno 2002 Major upgrade basato sulla versione 2.0 di GTK+. Introdotta la Human Interface Guidelines
2.2 Febbraio 2003 Introdotte funzionalità multimediali e file manager
2.4 Settembre 2003 Introdotto Epiphany
2.6 Marzo 2004 Nuovo spatial file manager e stile dei file dialog
2.8 Settembre 2004 Introdotto il supporto alle periferiche rimovibili, aggiunto Evolution
2.10 Marzo 2005 Ottimizzazioni generali, nuove applets (drive mounter e cestino), aggiunti Totem e Sound Juicer
2.12 Settembre 2005 Nuovo tema grafico, miglioramenti al file manager, nuova gestione della clipboard, supporto per i pannelli verticali, aggiunto Evince
2.14 Marzo 2006 Ricerca integrata nel file manager, nuovo screensaver, aggiunti Ekiga, Deskbar, Pessulus e Sabayon, migliore gestione della memoria
2.16 Settembre 2006
Ottimizzazione delle prestazioni, effetti 3D, pulizia codice. Tomboy, applicazione per la gestione dei post-it; Baobab: monitoraggio dell'uso del disco; Orca: lettore dello schermo per i non vedenti; Alacarte: editor di menu; miglioramenti per Totem, Nautilus e GNOME Power Manager; Metacity con il supporto composite; nuovo tema di icone. Basato sul GTK+ 2.10 con la nuova finestra di stampa
2.18 marzo 2007
Ottimizzazione delle prestazioni; miglioramenti al software di analisi dell'occupazione del disco; Orca screen reader; miglioramenti a Evince, Epiphany e GNOME Power Manager, Volume control; due nuovi giochi, GNOME Sudoku and glchess
2.20 Settembre 2007
Rilascio per il decimo anniversario; Funzionalità di backup per Evolution; miglioramenti per Epiphany, Eye of GNOME, GNOME Power Manager; gestione delle password per i portachiavi di Seahorse. Aggiunti: Possibilità di modificare i forms in Evince, funzione di ricerca integrata nelle finestre del filemanager, installazione automatica dei codec multimediali
2.22 Marzo 2008
Supporto elementare per le finestre composite per Metacity; introdotto il nuovo GVFS; migliorato il supporto per la riproduzione di DVDs, filmati di Youtube, MythTV per Totem; internazionalizzazione dell'applet dell'orologio; Supporto dell'uso dei tag di Google Calendar dei messaggi di posta Evolution; miglioramenti per Evince, Tomboy, Sound Juicer e Calculator. Aggiunti: Cheese, un'applicazione per acquisire immagini dalla webcam, e Vinagre, un visualizzatore di desktop remoti
2.24 Settembre 2008
Navigazione a schede e modalità compatta per la visualizzazione dei file in Nautilus; introduzione del client di messaggistica Empathy; nuovi strumenti per la Deskbar; miglioramenti alla gestione della risoluzione dello schermo e ai temi sonori; preparativi per le librerie GTK+ e GLib 3.0; basato sulle librerie GTK+ 2.14; rilasciata per la prima volta la piattaforma di sviluppo GNOME Mobile
2.26 Marzo 2009
Brasero è il nuovo strumento di masterizzazione ufficiale; migliorata la condivisione dei file in rete attraverso diversi protocolli; Epiphany presenta una nuova barra degli indirizzi disegnata riprendendo quella di Firefox; Deskbar permette di utilizzare i motori di ricerca OpenSearch; ridisegnato lo strumento per la gestione dell'audio con PulseAudio; basato sul toolkit grafico GTK+ 2.16
2.28 settembre 2009
Aggiunto GNOME Bluetooth, programma per la gestione di dispositivi Bluetooth; migliorati il browser Epiphany, che ha cambiato motore di rendering, passando da Gecko a WebKit, il programma Conteggio tempo (Time tracker), che consente di tenere traccia del proprio tempo e delle proprie attività, l'instant messenger Empathy; apportati miglioramenti all'accessibilità; basato sul toolkit grafico GTK+ 2.18
2.30[8] marzo 2010
Miglioramenti al file manager Nautilus, al client IM Empathy, a Tomboy, a Evince, a Time Tracker, al browser Epiphany e a Vinagre. I dispositivi iPod e iPod Touch sono ora parzialmente supportati tramite GNOME VFS attraverso libimobiledevice. basato sul toolkit grafico GTK+ 2.20
2.32 settembre 2010 Aggiunti GNOME Color Manager e Rygel. Miglioramenti ad Empathy, Evince, al file manager Nautilus e ad altri programmi. Il rilascio di GNOME 3.0 era previsto per settembre 2010, quindi gran parte degli sforzi per lo sviluppo della versione 2.30 sono stati rivolti alla versione 3.0
3.0 marzo 2011 Annunciata per aprile 2011
Aggiornamenti:
GNOME 2.32 è l'ultima versione dello GNOME Desktop: un ambiente grafico molto diffuso e multi-piattaforma. L'obiettivo di GNOME è essere di facile utilizzo, stabile e avere un eccezionale supporto per accessibilità e internazionalizzazione. GNOME è composto da software libero e open source e offre tutti i tipici strumenti che ci si aspetta da un moderno ambiente informatico, come client email, groupware, navigazione del web, gestione dei file, multimedia e ovviamente giochi. Inoltre, GNOME offre una piattaforma flessibile ed efficace per gli sviluppatori di software, per applicazioni dedicate a sistemi desktop e mobili.
L'attenzione del progetto GNOME agli utenti e alla semplicità d'uso continua anche in GNOME 2.32: moltissimi sono i problemi che sono stati corretti e molte sono state inoltre le proposte di miglioramenti degli utenti che sono state accolte. È impossibile riassumere in breve la totalità dei miglioramenti apportati, ma nelle presenti note di rilascio cercheremo di evidenziare alcune delle caratteristiche presenti in questa nuova versione di GNOME che potranno risultare più interessanti per gli utenti.
GNOME 2.32 è l'ultimo rilascio major pianificato per le serie 2.x di GNOME. D'ora in poi sono previste solo dei rilasci di manutenzione per GNOME 2.x e già in questa 2.32 le novità presente sono limitate ad alcune applicazioni, poiché gli sviluppatori stanno concentrando i loro sforzi sul prossimo GNOME 3.0, previsto per aprile 2011.
Il visualizzatore di documenti Evince offre finalmente supporto all'accessibilità. Sfruttando l'interfaccia AtkText si consente a Orca, il lettore di schermo di GNOME, di leggere i documenti aperti in Evince. È inoltre stato incrementato il massimo livello di ingrandimento consentito.
Risulta migliorato anche il supporto alle annotazioni: è ora possibile direttamente nel riquadro laterale aggiungere annotazioni e cambiarne le proprietà, come autore, colore, trasparenza e molto altro.
È anche stato aggiunto in supporto a SyncTeX, un metodo che abilita la sincronizzazione tra un file sorgente TeX e il relativo output PDF (o DVI). Il supporto a SynckTeX è disponibile sia in Evince che in gedit, sotto forma di plugin. Sono supportate sia la ricerca all'indietro, da Evince a gedit, che quella in avanti, da gedit a Evince.
In GNOME 2.32 sono stati apportati diversi aggiornamenti a Nautilus, il file manager di GNOME. Ora è presente un dialogo che consente di gestire con facilità i conflitti tra file durante le operazioni di copia o spostamento; inoltre quando si tagliano i file per incollarli in un'altra directory, le icone di questi file appaiono semitrasparenti.
Oltre ai grandi cambiamenti, come per ogni rilascio di GNOME, ci sono molte piccole aggiunte e correzioni.
- Eye of GNOME, il visualizzatore di immagini di GNOME, consente di selezionare manualmente un colore di sfondo per migliorare il contrasto dell'immagine.
- Totem, il riproduttore multimediale di GNOME, esegue automaticamente il deinterlacciamento di filmati e stream che siano stato registrati interlacciati, migliorando la qualità dell'immagine. Inoltre fornisce un migliorato supporto alle scalette, risultando più veloce e reattivo nel caricarle.
- Gli strumenti di sistema di GNOME permettono ora agli utenti di cambiare il proprietario di un file che si sta spostando nella propria directory home, qualora questo sia già presente