Linux e' un Unix riscritto da capo, da Linus Torvalds (nella foto), studente all' universita' di Helsinky, in Finlandia, negli anni 90. Linus prende minix, una specie di mini-Unix scritto per scopi didattici da Andrew Tannenbaum , e lo porta su un PC 386, la prima versione, la 0.01 e' del 1991, la versione 1.0 e' del 1994, l'ultima e' la 2.6.16 (marzo 2006).
Linux e' sotto la licenza GNU, che permette a tutti di modificare, ridistribuire o rivendere il programma, purche' siano forniti anche i sources e facolta' di modificare il prodotto.
Linux e' un fenomeno unico, in quanto e' un sistema operativo sviluppato dagli
utenti del sistema stesso, che collaborano via internet.
Tutte le versioni sono disponibili a tutti, anche quelle in fase di sviluppo, e
chiunque puo' fare prove e proporre varianti, che sono discusse pubblicamente
in internet.
Linus Torvalds mantiene il controllo del kernel, nel senso che il marchio e'
suo; inoltre e' riconosciuto dagli sviluppatori come il coordinatore del progetto
e tutte le varianti al kernel vanno proposte a lui che decide se e come
inserirle. Ovviamente, per come e' fatta la licenza d'uso, chiunque potrebbe
fare le varianti che vuole, e difatti ci sono parecchie varianti "fuori del
coro", e 2 o 3 filoni principali del kernel. Tuttavia lo sviluppo del kernel
resta abbastanza unitario, essenzialmente perche' mantenere un sistema operativo
complesso come Linux e' molto impegnativo, e staccarsi dal
filone principale significa troppo lavoro per chiunque.
Finche' non ci sara' una ditta interessata ad investire pesantemente per
creare una sua variante di Linux non ci sara' un vero fork del kernel,
ed accade anzi il contrario, che ditte di hardware trovino conveniente
utilizzare
Linux per i loro sistemi, piuttosto che sviluppare un sistema operativo nuovo.
Le varie versioni del kernel si trovano in:
www.kernel.org
Il kernel vero e proprio viene completato da una serie di
routines gestite dalla GNU, un gruppo fondato da Richard Stallman.
Richard Stallman lavoro' al MIT, nel laboratorio di intelligenza artificiale dal 1971,
lascia il MIT nell'84 inizia il progetto GNU:
si mette a scrivere software free, in un senso particolare: la licenza d'uso
del software prevede che questo debba
essere distribuito col source e che ciascuno possa modificarlo, anche se ne fa
un prodotto commerciale, e tutti i prodotti derivati devono sottostare alle stesse
regole del software originale (licenza GNU). Il progetto GNU si trovo' ad avere
varie utility , editors ( Emacs ) e compilatori, ma non un kernel, e Linux
capito' a proposito, anche se ci sono progetti per basare il tutto sul
kernel Hurd, basato su Mach, un microkernel sviluppato
alla Carniege Mellon University.
Nel 1985 Stallman ed altri fondano la FSF ( free Software Foundation) che scrive software e lo vende sotto la licenza GNU. La FSF mantiene e distribuisce parti importanti di Linux: la shell (Bourne Shell), la libc, la libreria di sistema di base , l'editor Emacs, compilatori, debugger, l'utility Make, etc. etc.
Di software per Linux ce n'e' tantissimo, spesso incompatibile, sviluppato nella piu' totale anarchia, si tratta tuttavia di software spesso ben curato, fatto da appassionati che hanno interesse a farsi una buona pubblicita' producendo del buon software. Capita anche che sia software non finito, ad esempio sviluppato in ambito accademico da studenti che poi lo hanno abbandonato e si sono messi a fare altre cose. La parte grafica e' X11, curato dal gruppo Xfree86, di desktop ce ne sono 2 versioni, il KDE e il GNOME, curate da 2 gruppi indipendenti.
Il kernel piu' tutto il software di contorno costituisce quella che si chiama una "distribuzione" di Linux, la prime erano prodotte a SLACK ( slackware distribution) ed erano una raccolta di software che l'utente doveva compilare e configurare a mano, con lungo lavoro. Ora esistono grosse ditte che "assemblano" e distribuiscono Linux, come la Red Had, Mandrake o la Suse.
Il set-up del sistema viene reso piu' facile da queste distribuzioni, che hanno
gia' dentro di tutto e cercano di essere piu' user-friend possibile.
Nonostante questo Linux non e' un sistema facile da usare per utenti viziati dalla
Microsoft; Linux viene sviluppato da appassionati che implicitamente suppongono
che gli utenti siano come loro, abituati a mettere le mani dentro il software,
a scrivere files di configurazione etc., come nello spirito dell'Unix
degli anni 80; inoltre sono sempre troppo occupati a smanettare nel codice
per trovare il tempo di scrivere una documentazione decente.
Linux e' stato portato praticamente su qualunque macchina.
L'interfaccia grafica di Linux (e di tutti i sistemi Unix) e' X window. Questo sistema e' stato sviluppato al MIT, nel 1984, ed e' inteso come sistema da usare in rete; questo sistema trova presto interesse in ambito industriale e nel 1986 e' adottato dalla DEC per le sue Vaxtation II GPX, nel 1987 c'e' la versione 11 (X11),scritta in C, al cui sviluppo contribuisce anche la DEC.
Nel 1988 viene fondato un consorzio, comprendente il MIT
e vari produttori di workstation Unix per gestire e sviluppare questo software.
L' X consortium, viene ristrutturato nel 1993 e nel 1995 vengono
sviluppate Motif e CDE (common desktop environment). Motif e' un tentativo
di standardizzare le caratteristiche delle finestre, CDE e' il formato del "desktop"
usato dalle Workstation attuali (DEC, SUN, SGI, AIX).
Il consorzio fornisce
i source dell'X11; una versione free di questi e' portata su Linux dal
gruppo XFree86. Motif e CDE invece sono distribuiti sotto licenze piu'
restrittive, ed hanno quindi diffusione piu' ridotta: CDE non e' usato
da Linux ed altri progetti Free; di Motif in ambiente open source si trovano
dei cloni, non sempre perfettamente compatibili con l'originale.
Uno sviluppo recente nel mondo Linux e' il "Desktop", cioe' tutta una serie di tool grafici, che, lavorando sopra X11, offrono all'utente una interfaccia completamente grafica, stile Windows. L'idea e' di rendere Linux semplice, in modo da poterlo introdurre nel mercato del PC "home", ove ora ha ancora un successo limitato.
Il primo progetto di questo tipo e' stato il KDE (Kool Desktop Environment), che utilizza le librerie Qt della Troll Tech. Questo Desktop e' utilizzato ad esempio dalla distribuzione SuSE. Il progetto e' nato a fine 1996 in Germania, da un'idea di Matthias Ettrich, ed ha avuto un enorme seguito: nel 1997 aveva gia' un buon numero di sviluppatori, una struttura legale, ed era sponsorizzato da Suse, Caldera e parecchie altre ditte di software. La prima release e' del 1998. Nel 2004 si e' alla release 3.2 ed al progetto contribuiscono circa 800 sviluppatori.
A causa della natura proprietaria delle librerie Qt, e temendo una pesante ingerenza della Troll Tech nel business di Linux, altri gruppi hanno sviluppato il desktop Gnome (GNU Network Object Model Environment), che utilizza solo tools "free". Questo progetto e' stato iniziato da Miguel de Incaza nel 1997 ed e' subito stato sponsorizzato dalla Red-hat, nel 2000 entrano nella fondazione Gnome anche SUN, HP, IBM e Compaq. La prima versione stabile di Gnome e' del 1999.
La Troll Tech (1998) ha poi rilasciato le Qt sotto una licenza meno restrittiva, ma ora abbiamo 2 desktop alternativi, KDE e Gnome, in concorrenza.
Alcuni sviluppatori del kernel linux, all'Unix Kernel Developer Summit, Ottawa, 2005, (foto presa da www.lwn.net )