GNU/Linux

Nel 1991, dal lavoro di uno studente universitario, nacque il kernel di un sistema operativo Unix-like13 che il progetto GNU (Gnu’s Not Unix)14 attendeva per la realizzazione di un vero e proprio sistema operativo open source15. Tale kernel, denominato Linux in onore del suo autore Linus Torvalds, unito alle librerie di sistema già sviluppate da GNU, dette origine a GNU/Linux, ovvero il sistema operativo Unix-like open source che negli ultimi anni, grazie anche ad Internet, si è diffuso in tutto il mondo con una velocità senza eguali.


pict
Figura 1: Il simbolo del progetto GNU ed il pinguino Tux (di L. Ewing), simbolo di Linux.

Si tenga presente che Linux è soltanto uno dei possibili kernel del sistema operativo GNU, ideato dalla Free Software Foundation16, un organismo fondato nel 1985 da R. Stallman, con lo scopo di creare del software libero, a disposizione di tutti, sorgenti compresi. Esistono anche altri kernel, come Hurd17, che permettono di far funzionare tale sistema, anche se per il momento non sono arrivati al livello di sviluppo di Linux.

Grazie al fatto di essere governate dalla licenza GNU GPL (General Public License)18, quindi libere da qualunque restrizione al loro utilizzo, modifica e diffusione, le varie componenti software del sistema operativo GNU/Linux non sono rimaste appannaggio di una sola persona o azienda, ma hanno coinvolto nello sviluppo un gran numero di persone in tutto il mondo, che costituiscono quella che comunemente viene detta “comunità GNU/Linux”.

La velocità dello sviluppo di GNU/Linux è impressionante tanto che in pochi anni tale sistema operativo è divenuto adatto anche per utenti inesperti di informatica. Infatti, oltre all’interfaccia a caratteri o shell (v. fig. 2), GNU/Linux è dotato anche di un’interfaccia grafica19 (un esempio della quale è riportato nella fig. 3) e di un corredo di software che nulla ha da invidiare a quello già presente in commercio per altri sistemi.


pict
Figura 2: Esempio di interfaccia a caratteri (shell) di GNU/Linux.


pict
Figura 3: Esempio di interfaccia grafica di GNU/Linux.

Ma ciò che più di ogni altra cosa contraddistingue GNU/Linux è, come per altri sistemi operativi Unix-like, la sua affidabilità. Nessun processo infatti può compromettere il funzionamento del sistema operativo, neanche la stessa interfaccia utente (a meno che non si tratti di un processo che gira in kernel space). Inoltre GNU/Linux ha un’altra importante caratteristica: può gestire più terminali per l’accesso alla stessa macchina, ovvero si presenta come un vero sistema operativo multiutente. Questo va a vantaggio anche della manutenibilità del sistema, poiché anche se un processo potesse rendere impossibile l’utilizzo di un terminale, ci sarebbe la possibilità di accedere al sistema attraverso un altro terminale e poter così terminare il processo che tiene bloccato il primo terminale.

GNU/Linux, inoltre, come molti programmi sviluppati per questo sistema, fa parte del software libero (free software)20 e questo è il suo vero punto di forza. Chiunque ha la libertà di leggere, modificare e ridistribuire il codice sorgente che lo compone. Per di più, sebbene si possa acquistarne una specifica distribuzione commerciale, è possibile reperire GNU/Linux anche scaricandolo gratuitamente da Internet o tramite l’acquisto di riviste mensili del settore informatico, con CD (DVD) allegati, al costo di qualche euro!

La scelta di un software può vincolare chi lo sceglie, al produttore dello stesso. Infatti, la licenza con la quale è distribuito un software proprietario vincola l’utente finale al solo utilizzo dello stesso, negando a tutti, ad eccezione del produttore, di poter intervenire sul software stesso per modificarlo (correggerlo, adattarlo alle proprie esigenze). Si è comunque costretti ad attendere la modifica da parte del produttore, sempre che il produttore sia interessato ad apportare una modifica al proprio software. Con il software libero, invece, viene concessa la libertà di modifica a chiunque.

Bisogna considerare anche il fatto che un software totalmente bug free (senza falle) è molto difficile da realizzare (per grossi progetti, praticamente impossibile). Inoltre un bug trovato da un utilizzatore del software diviene di pubblico dominio in tempi brevissimi grazie ad Internet, cosicché chiunque può venire a conoscenza della falla presente nel software e sfruttarla per comprometterne l’uso o addirittura danneggiare l’intero sistema (questo dipende dal ruolo che riveste il software che contiene il bug all’interno del sistema). E questa possibilità c’è per tutto il tempo che intercorre tra la scoperta del bug ed il rilascio di una patch (toppa) o di una nuova versione del software da parte dell’azienda fornitrice del prodotto, che risolve il problema. Il software libero invece ha il vantaggio che, qualora venga rilevato un bug, chiunque (in grado di farlo) può realizzare e rendere disponibile una soluzione al problema (dato che il codice sorgente è modificabile) e chi lo desidera può reperirla ed utilizzarla nel proprio sistema.

Un’altra caratteristica di GNU/Linux è la sua elevatissima configurabilità, tanto che è possibile utilizzarlo su PC, palmari, supercomputer e macchine specifiche, utilizzando essenzialmente lo stesso kernel, modificando soltanto la configurazione del sistema. Nel testo quindi verrà fatto molto uso delle espressioni “in generale”, “generalmente”, ... che indicano appunto il comportamento predefinito (default) del sistema, che, se diversamente configurato, potrebbe risultare differente da quello riportato nel testo. Anche i programmi sviluppati per il sistema GNU/Linux, in modo particolare quelli che appartengono alla categoria del software libero, sono caratterizzati da un’elevata configurabilità, tendendo a portare avanti l’idea che è il software che si deve adattare all’utente e non viceversa (gli utenti possono avere esigenze diverse).

Infine, GNU/Linux, riesce a gestire molto bene reti di computer, tanto che molti dei computer utilizzati per la gestione dei servizi su Internet sono basati su questo sistema operativo. Esso utilizza i protocolli definiti da standard pubblici, che danno quindi una maggiore garanzia di sicurezza ed affidabilità rispetto a quelli non pubblici (proprietari). Non solo, il sistema è anche in grado di gestire dei meccanismi di sicurezza molto efficaci, tanto che le macchine sulle quali esso gira, possono anche essere utilizzate come veri e propri firewall.

Per tutti gli aspetti sopra elencati, molte aziende hanno già adottato il sistema GNU/Linux per il proprio parco macchine. Esso infatti può essere considerato come una valida alternativa libera ai costosi sistemi operativi proprietari, che spesso investono più sul marketing che sulla qualità del prodotto, ovvero più sull’apparire piuttosto che sull’essere.

Va anche detto che GNU/Linux è un sistema operativo che si presta molto bene per essere utilizzato a scopi didattici per l’enorme documentazione in proposito ed anche per il fatto che il sistema, appartenendo al software libero, non pone alcun limite alla possibilità di vedere come esso è stato realizzato.

Comunque sia, il fatto che in un mercato sia presente la possibilità di scelta da parte del cliente, ovvero un regime di concorrenza, è, senza dubbio, di per sé un fattore positivo, poiché questo spinge tutti i concorrenti (produttori) a fare meglio, e quindi a rilasciare sul mercato dei prodotti sempre migliori. Spetta poi al cliente valutare e scegliere il prodotto che meglio si confà alle sue esigenze.