Avanti Indietro Indice

1. Introduzione a Linux

Linux è una reimplementazione completamente gratuita delle specifiche POSIX, con estensioni SYSV e BSD (il che significa che sembra proprio come Unix, ma non è derivato dallo stesso codice di partenza), disponibile sia come codice sorgente che in formato binario. Il suo copyright è posseduto da Linus Torvalds <torvalds@transmeta.com> e da altri collaboratori, ed è liberamente distribuibile nei termini della GNU General Public License (GPL). Una copia della GPL è inclusa nei sorgenti di Linux; è possibile ottenerne una copia anche da ftp://prep.ai.mit.edu/pub/gnu/COPYING.

Linux, di per sè, è solo il kernel del sistema operativo, la parte che controlla l'hardware, gestisce i file, suddivide i processi e così via. Esistono diverse combinazioni di Linux con insiemi di utilità ed applicazioni per formare un sistema operativo completo. Ognuna di queste combinazioni è detta una distribuzione di Linux. La parola Linux, sebbene in senso stretto si riferisca specificatamente al kernel, è largamente e correttamente usata per riferirsi all'intero sistema operativo costruito attorno al kernel Linux. Per un elenco e una breve descrizione delle diverse distribuzioni, si veda il http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html. Nessuna di queste distribuzioni è il ``Linux ufficiale''.

Linux non è di pubblico dominio, non è nemmeno ``shareware''. È un software ``libero'', comunemente chiamato freeware o Open Source Software[tm] (si veda http://www.opensource.org), e si possono distribuire o venderne copie, ma si devono includerne i sorgenti o renderli disponibili nello stesso modo con il quale si distribuiscono o si vendono gli eseguibili. Se si distribuisce una qualsiasi modifica, si è obbligati per legge a distribuire i sorgenti di queste modifiche. Si veda la GNU General Public License per i dettagli.

Linux è ancora libero, come nella versione 2.0, e continuerà ad esserlo. La natura del copyright GNU, a cui Linux è soggetto, renderebbe illegale il fatto che non sia più libero. Notare che: la parte `libera' implica l'accesso ai sorgenti indipendentemente dall'aspetto monetario; è 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 su macchine 386/486/Pentium con bus ISA, EISA, PCI e VLB. MCA (bus della IBM) non è attualmente ben supportato, sebbene nella nuova versione in fase di sviluppo, la 2.1.x, il supporto sia stato inserito. Se siete interessati, guardate http://glycerine.itsmm.uni.edu/mca.

È in corso il port per diverse piattaforme Motorola 680x0 (attualmente usate in alcuni Amiga, Atari e macchine VME), che ora funziona abbastanza bene. Richiede un 68020 con MMU, un 68030, un 68040 o un 68060 e richiede anche l'FPU. Per ora il supporto di rete e X non funzionano. Si veda news:comp.os.linux.m68k.

Linux funziona bene sulle CPU Alpha della DEC, supportando attualmente le piattaforme "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (meglio conosciuta come Multia). Per altre informazioni, si veda http://www.azstarnet.com/~axplinux/FAQ.html.

Linux funziona bene su Sun SPARC e viene utilizzato già su molte macchine sun4c, sun4m e sun4u, mentre il supporto per sun4 è in attivo sviluppo. Red Hat Linux è (alla scrittura di questo testo) la sola distribuzione disponibile per SPARC; si veda http://www.redhat.com/support/docs/rhl-sparc/.

Linux è in attiva fase di port per architetture PowerPC, incluse le macchine PowerMac (Nubus e PCI), Motorola, IBM e Be. Si veda http://www.cs.nmt.edu/~linuxppc/ e http://www.linuxppc.org/.

Port su altre macchine, tra cui MIPS (si veda http://linus.linux.sgi.com e http://lena.fnet.fr/) e ARM, sono in corso e stanno mostrando dei progressi. Non trattenete il fiato, ma se siete interessati e capaci di contribuire, potete trovare facilmente altri sviluppatori che vorrebbero lavorare con voi.

Linux non è più considerato in beta test 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: le versioni n.x.y, dove x è un numero pari, sono le versioni stabili, e come vengono risolti bug viene incrementato y. Così dalla versione 1.2.2 alla 1.2.3 ci fu la correzione di alcuni bug e non l'aggiunta di nuove caratteristiche. Le versioni n.x.y, dove x è un numero dispari, sono di qualità beta per soli sviluppatori, e possono quindi essere instabili e cadere (crash), ma hanno nuove caratteristiche aggiuntive. Non appena il kernel attualmente in sviluppo diviene stabile, verrà ``congelato'' in uno nuovo kernel ``stabile'', e lo sviluppo continuerà con una nuova versione del kernel. Si noti che la maggior parte dei rilasci del kernel Linux, beta o meno, sono relativamente robuste; in questo contesto ``stabile'' significa che ``cambia lentamente'' oltre a ``robusto''.

L'attuale versione stabile è 2.0.35 (questa continua a cambiare a mano a mano che vengono aggiunti nuovi supporti hardware e corretti bug), ed è partito lo sviluppo dei kernel sperimentali 2.1.x. I sorgenti del kernel Linux contengono un file, Documentation/Changes, che spiega i cambiamenti di cui si deve essere consci quando si aggiorna la versione del kernel. Comunque, la stragrande maggioranza degli utenti di Linux semplicemente aggiornano periodicamente la loro distribuzione per avere una nuova versione del kernel.

Molte versioni di Linux, beta o no, sono abbastanza stabili e si possono usare se fanno quel che vi serve. Un sito ha utilizzato un computer con la versione 0.97p1 (rilasciata nell'estate del 1992) per più di 136 giorni senza nessun errore o crash (ed avrebbe funzionato ancora più a lungo se un operatore sbadato non avesse erroneamente staccato la spina dell'alimentatore principale...) Altri hanno segnalato uptime di oltre un anno. Un sito ha ancora un computer che usa Linux 0.99p15 da oltre 600 giorni.

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 di sviluppo corrente è 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 esistente i bug sono trovati e corretti velocemente, spesso in ore, in quanto molta gente lavora per risolverli.

Diversamente, 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 questo porta ad un lungo intervallo tra le release, una lunga attesa per risolvere i bug e uno sviluppo lento. Certamente l'ultima release pubblica di tale software è spesso di alta qualità, ma lo sviluppo è di solito molto più lento.

Per una discussione su questi due modelli, si legga ``The Cathedral and the Bazaar'' a http://sagan.earthspace.net/~esr/writings/cathedral-bazaar/ di Eric Raymond.

Al 1 settembre 1998, la versione stabile corrente di Linux è 2.0.35, e quella in fase di sviluppo è 2.1.119.


Avanti Indietro Indice