Un pò di storia
In principio c'era solo la console, poi qualcuno pensò che alcuni programmi potevano essere gestiti in modo più funzionale se accompagnati da un'interfaccia grafica. In più si decise di dotare questo sistema di alcune caratteristiche che permettessero anche di interfacciarlo alla rete. Nacque così a metà degli anni '80 X Windows System un protocollo che permetteva (e lo fa tuttora) di avviare delle applicazioni da remoto per farle visualizzare su una macchina diversa da quella dove erano state eseguite. Tutti i programmi sono quindi solo dei client e il server X può essere considerato come una "lavagna virtuale" dove disegnare le finestre per le applicazioni. Essendo Unix un sistema operativo orientato alle reti quest'impostazione dava dei grossi vantaggi, primo tra tutti la possibilità di poter meglio distribuire le risorse tra i computer della propria rete. Anche Richard Stallman decise di utilizzare questo modello per il progetto GNU, così avviò il progetto XFree86.
Serviva però "qualcosa" che gestisse al meglio le finestre curando la loro disposizione e, perché no, abbellendole, magari con bordi e pulsantini. Naquero così una serie di progetti che avevano come scopo quello di creare un "gestore di finestre". A questi spesso venivano aggiunte delle funzionalità quali menù a tendina, barre e pulsanti per un più facile avvio dei programmi. Alcuni di essi come fvwm, AfterStep, BlackBox, WindowsMaker, Enlightenment, IceWM, tvm hanno fatto storia (e tutt'ora alcuni di essi continuano ad avere un grosso seguito). Tutto procedeva bene e gli utenti erano soddisfatti. L'utenza di allora era formata in gran parte da tecnici, studenti e gente del settore e le pretese erano poche. A molti bastava solo che questi gestori di finestre non fossero troppo pesanti, anche a scapito di usabilità e semplicità d'uso. Ma tutto questo ad alcuni non bastava.
Nell'ottobre 1996 un gruppo di programmatori pensò che una delle cose che mancava a Linux erano alcuni degli strumenti che avevano reso familiare Windows all'utenza domestica. L'obiettivo di fondo non era solo quello di creare una serie di applicativi facili da usare e belli da vedere, ma di legare tutto con un protocollo di comunicazione che possa incrociare strettamente tutti i componenti tra di loro. Per esempio È grazie a questi che È possibile con Windows trascinare un mp3 in una finestra di PowerPoint oppure spostare porzioni di testo con copia&incolla. Iniziò il progetto KDE (K Desktop Enviroment) che nel 1998 maturò finalmente la prima versione stabile. Tutto prometteva molto bene, se non fosse per un particolare molto caro agli utenti open source: la libertà.
Le librerie QT (sulle quali si basava KDE) non erano libere, e ci fu la durissima opposizione dei puristi del software libero, primo tra tutti Richard Stallman. Secondo Stallman le QT minavano seriamente il software libero perché «alcuni distributori commerciali di sistemi GNU/Linux, non scrupolosi nell'attenersi solo ai programmi liberi, aggiunsero KDE ai loro sistemi, ottenendo così sistemi che offrivano più funzionalità, ma meno libertà». Il rischio era che tutto KDE (che era open source in sé e per sé) un giorno potesse magari subire dei danni a causa di tutto ciò. Non era permessa la modifica delle QT ed esse erano vincolate a essere usate esclusivamente per X Windows System, ogni altro uso richiedeva il costo di 1500 dollari. Molti utenti chiusero un occhio di fronte a questa limitazione, ma il problema rimaneva. Naquero così due altri progetti GNOME (GNU Network Object Model Enviroment) e Harmony.
Il primo aveva l'obiettivo di creare un ambiente grafico totalmente open source da contrapporre a KDE, il secondo puntava a creare un clone di QT in versione completamente free. Troll Tech, spinto da queste proteste e temendo forse che il primato di KDE potesse essere mirato da un concorrente open source, decise di assegnare a QT una nuova licenza free. Questa licenza tuttavia sfruttava una scappatoia nella Open Source Definition che permetteva alle patch di avere un trattamento "particolare" (l'uso di questa scappatoia non rese entusiasta gente come Stallman che affermò che "la nuova licenza È scomoda e iniqua, per cui rimane comunque preferibile evitare l'uso di QT").
Nel 2000 Troll Tech ha finalmente annunciato una nuova licenza per QT, stavolta GPL, ponendo fine a una polemica durata diversi anni. Ciò nonostante il progetto GNOME È continuato e giunto anch'esso a maturazione. Nel frattempo (nel marzo 1999) fu rilasciata la prima versione stabile (che anche se per alcuni troppo "acerba") alla quale seguì una più matura 1.0.50 (Ottobre 1999). Per ottimizzare la distribuzione fu fondata dal capo progetto, Miguel de Icaza, una società, denominata Helix (ora Ximian) il cui scopo era di occuparsi dei pacchetti per le varie distribuzioni e della parte più "commerciale". Entrambi questi progetti possono considerarsi veramente maturi e quasi tutte le distribuzioni usano uno dei due di default. Andiamo ad analizzarle nei particolari.
KDE
KDE, giunto ormai alla versione 2.1, non ha molto da invidiare ai Desktop di altri sistemi operativi. Dispone di un'interfaccia all'avanguardia e semplice da usare. Particolarmente curati anche i dettagli estetici, sono stati ridisegnate le GUI (Grafical User Interface), in particolare i pulsanti. Ma non È tutto qui. La novità maggiore di KDE 2 È Konqueror che, sull'esempio di Internet Explorer funge sia da browser che da file manager.
Tutto all'interno di KDE È integrato: selezionando del testo si apre per esempio un menù con delle scelte su cosa fare. Anche la gestione dei file presenti sulla rete È semplificata e tutto viene trattato come se fosse su locale. Per esempio È possibile sfogliare i files condivisi tramite NFS o SAMBA (NetBIOS), ftp, email su un server, ecc. trattandoli come se fossero parte del proprio filesystem. Anche i plugin esterni appaiono integrati (potrete per esempio aprire un file PDF dall'interno del vostro browser) e tutto quanto assume una struttura modulare.
Oltre a Konqueror sono presenti un client di posta (Kmail), un'utility per le connessioni dial-up (KPPP, cfr. Articolo:Colleghiamoci ad Internet), un client per i newsgroup (KNode), un manager dei download (KMago), programmi per il multimedia e KOffice. Con KOffice si sta cercando di aggiungere a un ambiente già confortevole anche una suite per l'ufficio.
Allo stato attuale c'È ancora da lavorare per poter competere con i più blasonati MS Office (per Windows) e StarOffice (Linux, Solaris, Windows), ma sono un buon punto. In particolare sono presenti KWord (Word processor avanzato per il trattamento testi), KSpread (un foglio di calcolo), KFormula (per poter rappresentare formule), KPresenter (un programma per le presentazioni), KIllustrator (per la grafica vettoriale), KChart (per la creazione di grafici), Krayon (editor di immagini). KDE inoltre fornisce agli utenti un'ottimo ambiente di sviluppo integrato (IDE) chiamato Kdevelop, non vincolato strettamente a KDE per quel che riguarda la programmazione. Come già detto ha ancora da lavorare per essere all'altezza delle altre suite, ma i passi avanti sono notevoli.
Tutto KDE È basato sulle kdelibs che a loro volta usano le librerie QT. Queste librerie, fatte specificatamente per il C++ e per la programmazione orientata agli oggetti (OOP), permettono di curare particolarmente l'interfaccia grafica e l'internazionalizzazione. Questo consente una elevata pulizia del codice che facilita una migliore lettura, comprensione e riutilizzo. Purtroppo per l'altra faccia della medaglia uno dei limiti delle QT È proprio quello stretto legame con il C++ tale da non permetterne l'utilizzo con linguaggi di programmazione diversi.
GNOME
Come già detto GNOME È stata la risposta totalmente open source a KDE. Quando anche le QT sono diventate free GNOME ha proseguito il suo progetto entrando in competizione con KDE e lanciando la sfida sul campo della facilità d'uso, dell'estetica e dell'integrazione tra applicazioni. Come KDE È basato su QT, GNOME È basato su GTK (Gimp Tool Kit), una libreria creata inizialmente per lo sviluppo di GIMP (GNU Image Manipulation Program) una potente applicazione per l'editing delle immagini.
GNOME È strutturato in maniera altamente modulare, tanto da essere composto da un'infinità di pacchetti (spesso dipendenti uno dall'altro) che ne rendono particolarmente complicata la compilazione. GNOME ora ha delegato il compito della distribuzione a Ximian (ex Helix), mentre continua a occuparsi del codice. Anche la tendenza di GNOME È quella di fornire uno strumento (Nautilus) in grado di fare da file manager, browser, visualizzatore di immagini, ecc. Questo anche grazie all'estrema modularità di cui accennavamo prima. La sua ultima versione, la 1.4 oltre al già citato Nautilus ha al suo interno (solo per citarne alcuni) un client di posta (Evolution) sullo stile di Outlook, Pan per l'uso dei newsgroup, ovviamente GIMP per il fotoritocco e l'editing delle immagini in generale, XMMS per la multimedialità, X-Chat come cliet irc, Mozilla come browser. GNOME ha spesso "assimilato" progetti non nati sotto di lui (come per esempio Mozilla, Abiword, XMMS) accludendoli e integrandoli nel suo ambiente grafico. Nautilus per esempio usa Mozilla per il rendering delle pagine HTML. Attualmente GNOME sembra essere leggermente indietro, ma l'uscita di una versione stabile di OpenOffice (la suite per l'ufficio di GNOME) può decisamente rimettere le carte in tavola.
OpenOffice È il progetto derivato da StarOffice di SUN dopo che quest'ultimo È stato rilasciato open source. SUN e molte altre società infatti puntano moltissimo su GNOME (SUN in particolare pensa di usarlo come ambiente grafico di Solaris) anche se la presenza di questi colossi fa un pò paura e preoccupa qualcuno, temendo che l'intero progetto possa essere pilotato a vantaggio di uno di questi. Per ora comunque avere a disposizione il codice di un prodotto come StarOffice È di certo un grosso vantaggio. Ed È recente purtroppo la notizia che Eazel, società che finanziava progetti come Nautilus, ha chiuso a causa della mancanza di fondi. Alcuni (che già erano scettici di fronte a tanto "improvviso" interessamento all'open source) hanno quasi esultato alla notizia, e fa pensare a quanto sia difficile sopravvivere tra tutte le società e gli interessi nati sotto l'open source. Nautilus comunque resta un ottimo prodotto, molto bello da vedersi e facile da usarsi, ma purtroppo anche molto pesante. Sono solo le prime release quindi speriamo per il futuro.... L'estrema modularità di GNOME ha permesso anche di poter scegliere per esempio come windows manager (gestore di finestre) uno tra i tanti che si integrano (come Enlightenment, Sawfish, WindowsMaker), permettendo anche l'uso di componenti di GNOME con quest'ultimi.
G
TK al contrario di QT È stato creato per poter essere usato anche con più linguaggi di programmazione, anche se viene preferito il C. Questo comporta una pulizia del codice non paragonabile a quella avuta con le QT e C++, ma consente di avere ugualmente una grande eleganza e versatilità.
CONCLUSIONI
KDE e GNOME, maggiormente ora che non esistono più differenze di licenze, sono due ottimi prodotti. Gli sforzi sono notevoli per mettere a proprio agio l'utente. KDE sembra allo stato attuale un gradino al di sopra di GNOME, per via di una maggiore compattezza, di una migliore integrazione tra le varie componenti e (seppur di poco) maggior leggerezza.
Una delle critiche che vengono mosse a questi due ambienti grafici È che spesso le ricerca della semplicità e della grafica accattivante avviene a scapito della flessibilità e della potenza. In effetti questo È vero: non sempre È necessaria un'interfaccia pesante per dei compiti che possono benissimo essere svolti da linea di comando con gli stessi risultati e magari prestazioni migliori. Ad ogni modo chi ha più confidenza con la console e non vuole "sprecare" risorse preziose con X È sempre libero di non usare queste interfacce lasciandole agli utenti poco esperti e bisognosi di sentirsi a proprio agio in un mondo sconosciuto.
Un'altro dei limiti delle interfacce grafiche risiede nello stesso X, il cui modello non era stato studiato per ambienti Desktop. X risulta essere effettivamente troppo pesante per chi non ha la necessità di sfruttare a pieno tutte le sue caratteristiche. Basti pensare che effettivamente X stesso È un server dove le applicazioni sono i client. X È nato per essere sfruttato su una rete e effettivamente molti pensano che sia un ostacolo a Linux nel campo Desktop (seppur importante e molto più potente dei sistemi a finestra degli altri sistemi operativi). Ultima critica che viene posta a questi due ambienti grafici È più di carattere estetico: entrambi infatti riprendono un modello già esistente, quello di Windows.
Tutti e due hanno una barra da personalizzare con applet, delle iconcine sparse qua e là sullo sfondo, ma non c'È stato lo sforzo di cercare un'altro schema. Questo perché il loro obiettivo era quello di mettere a proprio agio l'utente, cosa a quanto pare riuscita a Windows con quel modello; inoltre un utente che vuole usare Linux troverà senza dubbio meno traumatica la transizione da quel sistema operativo se si fornisce un'interfaccia che gli ricordi già qualcosa. Effettivamente alcuni Windows Manager (mi viene da pensare a Windows Maker) hanno cercato di proporre un modello alternativo, e sarebbe effettivamente bello vedere qualcosa di diverso. Concludendo entrambi i progetti sono a uno stadio molto avanzato, sono molto belli da vedere e anche facili da usare.
KDE, come già detto, sembra per ora avere di poco la meglio, ma bisogna considerare anche che È un progetto più maturo. Per quel che riguarda GNOME parte importante avrà a mio avviso il ruolo che giocherà Nautilus, quanto esso riuscirà ad amalgamarsi all'interno dell'ambiente stesso e quanto riuscirà a darci senza continuare ad appesantire il sistema e a rendere più instabile un OS che tutti apprezzano per la sua leggerezza e stabilità.