1. Introduzione a Linux

Indice di questa sezione

Linux è una reimplementazione di POSIX liberamente distribuibile, con estensioni SYSV e BSD (significa che sembra simile a Unix, ma non deriva dallo stesso codice sorgente), disponibile sia in codice sorgente sia in forma binaria. È protetto dai diritti di autore da Linus B. Torvalds (torvalds@kruuna.helsinki.fi) e altri collaboratori ed è liberamente distribuibile entro i termini della Licenza Pubblica GNU.

Linux non è di pubblico dominio, non è nemmeno ``shareware''. È software ``libero'', comunemente chiamato ``freeware'': si può copiare, ma si devono lasciare i sorgenti con esso o renderli disponibili in qualche modo. Se si distribuisce qualsiasi modifica, si devono allegare i relativi sorgenti. Vedere la Licenza Pubblica GNU per dettagli. Una copia è inclusa con i sorgenti Linux, oppure la si può prelevare via FTP da prep.ai.mit.edu in /pub/gnu/COPYING.

Linux è libero dalla versione 1.2 e continuerà ad esserlo. La natura del copyright GNU, a cui Linux è soggetto, rende illegale farlo non libero. Notare accuratamente: è perfettamente legale far pagare denaro per la distribuzione di Linux, a patto che venga distribuito anche il codice sorgente. Questa è una generalizzazione; per aspetti più accurati, leggere la GPL.

Linux gira solo su macchine 386/486/Pentium con bus ISA, EISA, PCI e VLB. MCA (bus della IBM) non è attualmente supportato in quanto ci sono pochi documenti disponibili, benché siano già disponibili alcuni pacchetti per alcune macchine.

C'è un trasporto in corso per piattaforme multiple Motorola 680x0 (attualmente funzionanti in alcuni Amiga e Atari), che ora funziona abbastanza bene. Richiede un 68020 con MMU, un 68030 o un 68040 e richiede anche l'FPU. Adesso funzionano rete e X.

Ci sono progressi anche per il trasporto su CPU Alpha della DEC, che attualmente supporta almeno l'hardware ``Jensen'' e le schede madri ``anonime'' Alpha costruite dalla DEC. Il trasporto è self-hosting (cioè il kernel Linux/Alpha si può compilare sotto Linux/Alpha) e il supporto della rete è in lavorazione. X non è ancora disponibile.

Trasporti su altre macchine, inclusi MIPS, PowerPC, e PowerMAC, sono in corso e stanno mostrando dei progressi. Non trattenete il fiato, ma se siete interessati e capaci di contribuire, si possono trovare facilmente altri sviluppatori che vorrebbero lavorare con voi.

Linux non è più considerato in test beta da quando è stata rilasciata la versione 1.0 il 14 marzo 1994. C'erano ancora bug nel sistema, e nuovi bug salteranno fuori e saranno risolti col passare del tempo. Siccome Linux segue il ``modello a sviluppo aperto'', tutte le nuove versioni sono rilasciate al pubblico anche se non sono considerate ``prodotti di qualità''. Comunque, per aiutare la gente a capire se sta prelevando una versione stabile o no, è stato adottato il seguente schema: Versione 1.x.y, dove x è un numero pari, sono le versioni stabili, e come vengono risolti bug viene incrementato y. Così dalla versione 1.0.2 alla 1.0.3 ci fu solo un bug risolto e non nuove caratteristiche. Versioni 1.x.y, dove x è un numero dispari, sono di qualità beta rilasciate per soli sviluppatori, e possono quindi essere instabili, cadere (crash) e hanno nuove caratteristiche aggiunte.

Come si stabilizza il kernel corrente, esso viene impaccato come un nuovo kernel ``stabile'', e lo sviluppo continua con una nuova versione del kernel. Molte versioni di Linux, beta o no, sono abbastanza stabili e si possono usare se fanno ciò che è necessario. Un sito ha un computer con la versione 0.97 patchlevel 1 (datato estate 1992) funzionante per più di 136 giorni senza errori o crash. (Sarebbe durato più a lungo se l'operatore non avesse commesso un errore col trasformatore principale di alimentazione...) Altri hanno riportato tempi superiori ad un anno.

Una cosa da considerare è che Linux è sviluppato usando un modello aperto e distribuito, invece di un modello chiuso e centralizzato come molto altro software. Questo significa che la versione correntemente sviluppata è sempre pubblica (con un ritardo di una o due settimane) in modo che tutti possano usarla. Il risultato è che ogni volta una versione con nuove funzionalità viene rilasciata, quasi sempre contiene bug, ma con il rapido sviluppo che c'è i bug sono trovati e corretti velocemente, spesso in ore, in quanto molta gente lavora per risolverli.

In contrasto, il modello chiuso e centralizzato significa che una sola persona o un gruppo lavora al progetto, e solo loro rilasciano il software quando ritengono che funzioni bene. Spesso trascorre un lungo intervallo tra le release, una lunga attesa per risolvere i bug e uno sviluppo lento. Certamente l'ultima release del software pubblico è spesso di alta qualità, ma la velocità di sviluppo è generalmente molto bassa.

Dal 5 luglio 1995, la versione stabile attuale di Linux è 1.2.11, e il nuovo progetto di sviluppo, 1.3.x, è alla versione 1.3.6. Usare i kernel 1.3.x solo per prove tecniche e non meravigliarsi se la macchina si pianta spesso e volentieri.


Capitolo Successivo

Indice di questo capitolo, Indice generale

Inizio del documento, Inizio di questo Capitolo