[an error occurred while processing this directive]
diff logo Informatica e sistemi alternativi
su questo sito sul Web
    Home   Chi siamo    Contattaci    Scrivi per diff    Proponi un argomento 19/04/24
    Cos'è diff    Come accedere    F.A.Q.    Promuovi    Dicono di diff    Amici di diff    
AmigaOS
Linux
FreeBSD
BeOS
OpenSource
Java
Database
Informatica
Hardware
E-Commerce
Narrativa

Linux Standard Base
di Nicholas Petreley
traduzione di Pietro Leone

I BENEFICII DELLA LINUX STANDARD BASE

Molto si è speculato riguardo alla possibilità che Linux si possa dividere in tante versioni incompatibili fra loro.
Alcune di queste speculazioni sono abbastanza fondate, ma altre no, la meno credibile è quella che sostiene questo succederà perché è ciò che è già avvenuto per UNIX.
Questa affermazione tralascia completamente le dinamiche di mercato che hanno portato UNIX alla frammentazione in varie versioni, e, conseguentemente, il fatto che queste stesse dinamiche non siano applicabili a Linux. UNIX aveva come scopo la vendita di soluzioni hardware proprietarie, l'obbiettivo di Linux è completamente differente: una soluzione open source, libera (così come è la libertà di parola), stabile e scalabile, in quest'ottica, Linux ha in sè stesso la sua finalità.

Mentre molto può essere detto sulla possibilità che Linux si frammenti, si potrebbe anche osservare che vi sono sempre state poche direttive riguardanti la compatibilità fra le suediverse incarnazioni. Per ciò si può ringraziare la sua natura open source. Oggi, comunque, vi sono alcune incompatibilità che non rendono conveniente il supporto di più distribuzioni; sicuramente l'intero mercato di Linux trarrebbe beneficio nel vedere risolte queste incompatibilità senza pretendere troppo dalle risorse dei varii produttori di software per differenziare i loro prodotti.

Supporta la Linux Standard Base (LSB), il suo obbiettivo è di sviluppare e di promuovere degli standard che migliorino la compatibilità fra le varie offerte Linux e di permettere alle applicazioni di funzionare su qualsiasi systema Linux aderente a tali standard. In aggiunta LSB cercherà di coordinare gli sforzi per spingere i produttori di software a portare le loro applicazioni su linux ed a produrne altre ad esso dedicate.

Attualmente la LSB annovera fra i suoi membri: Caldera Inc., Corel Corporation, The Debian Project, Enhanced Software Technologies Inc., IBM, LinuxCare, Linux for PowerPC, MandrakeSoft, Metro Link Inc, The Open Group, TurboLinux Inc., RedHat Inc., SGI, Software in the Public Interest Inc., SuSE GmbH, VA Linux e WGS Inc..

Questo documento tratta dei beneficii che emergeranno dalla LSB per:

  • gli utenti
  • i produttori ed i distributori indipendenti di software
  • i distributori

I primi devono essere in grado di comprare una distribuzione di Linux che soddisfi le loro esigenze senza il timore che le loro applicazioni abbiano problemi di compatibilità con quella data distribuzione. La LSB garantisce al cliente che i programmi da lui scelti siano stati testati perché rispettino gli standard LSB e che funzionino su ogni distribuzione basata sulle raccomandazioni della LSB.

Gli sviluppatori ed i venditori indipendenti avranno bisogno della LSB perché è nel loro stesso interesse che le loro applicazioni funzionino sul maggior numero possibile di piattaforme Linux. Inoltre raggiungerebbero una base di utenza molto vasta senza dover instaurare particolari legami con le diverse distribuzioni.

Gli autori di programmi liberi vedranno il loro lavoro semplificato, i loro programmi funzioneranno sulle diverse distribuzioni senza dover fare modifiche al codice sorgente. Ciò aumenterà anche la quantità di software libero disponibile per Linux.

I distributori di Linux avranno bisogno della LSB perché così aumenteranno il valore aggiunto dello proprie distribuzioni senza dover modificare le applicazioni.

STANDARD BASATI SULLE SOLUZIONI

La Linux Standard Base comprende delle specifiche scritte, un insieme di test per provare l'aderenza allo standard ed una distribuzione OpenSource di Linux come base da cui partire. Questa sarebbe anche utile come strumento di sviluppo e di prova per gli sviluppatori e per i produttori indipendenti.

Lo scopo degli standard proposti dalla LSB comprendono il controllo e la "standardizzazione":

  • delle più utilizzate librerie condivise
  • dei comandi di sistema
  • della gerarchia del filesystem
  • del processo e degli script di inizializzazione del sistema
  • del rispetto dello standard POSIX.1 e delle estensioni della libreria glibc
  • dei socket
  • di X11
  • di un software di base per l'installazione
  • di un formato per i file oggetto

Lo scopo della LSB è di garantire compatibilità fra le distribuzioni e verso il basso delle applicazioni Linux senza, però, intralciare lo sviluppo di Linux. Le librerie condivise sono fondamentali per la compatibilità di molte applicazioni, specialmente quando queste librerie non sono soggette ad un rigido controllo di versione o quando lo sviluppatore del programma non sa quale utilizzare.

Molti sistemi operativi si basano sulle librerie condivise per fornire alle applicazioni un insieme di funzioni e di utilità standard senza sprecare inutilmente spazio su disco ed in memoria. Linux, per esempio, normalmente include librerie essenziali e molto utilizzate, come la glibc, phtreads, libm, Xt, ncurses insieme a molte altre. Applicazioni che sono state compilate con una determinata libreria si aspettano di trovare, al momento del lancio, la stessa medesima versione.

Mentre è possibile per queste applicazioni utilizzare incarnazioni più recenti la compatibilità verso quelle meno aggiornate non può essere garantita. Per esempio, vi sono problemi nell'utilizzo di librerie simili, come la glibc2.0, la 2.1 e la 2.2. Se un'applicazione è stata compilata per utilizzare la glibc2.1 non è assolutamente detto che possa funzionare con versioni più vecchie e non è garantito che funzioni correttamente con quelle più recenti.

Un sistema per aggirare questo problema è quello di includere più versioni della stessa libreria all'interno delle distribuzioni Linux e permettere alle applicazioni di scegliere quella per cui sono state compilate. Questa procedura a volte funziona, ma non è sempre praticabile a causa dello spazio utilizzato che può diventare eccessivo, limitando, inoltre, l'utilità di avere delle librerie condivisibili.

Come risultato è possibile vedere sistemi che sembrano dotati di più versioni della stessa libreria, ma in realtà queste sono dei link che puntano ad un unico file. Questo è un sistema comunemente utilizzato per ovviare alla richiesta di versioni diverse della stessa libreria da parte delle applicazioni, ma sarebbe inapplicabile alla strategia della LSB volta a risolvere i problemi di compatibilità. Innanzitutto non è abbastanza sicura per essere considerata una soluzione accettabile, secondariamente non previene la sovrascrittura da parte dei programmi di installazione delle librerie con versioni recenti che potrebbero rompere la compatibilità verso il basso.

La LSB definisce un minimo insieme di librerie come parte della distribuzione di base e dà a queste un nome univoco che le identifichi come aderenti alle specifiche LSB. Per esempio, la versione conforme di libcrypt dovrebbe essere libcrypt.lsb.1. Questa convenzione permette di creare un insieme di librerie su cui sia gli sviluppatori di applicazioni sia i produttori delle distribuzioni possono basarsi.

Questa convenzione previene la sovrascrittura delle librerie conformi LSB da parte dei programmi di installazione con nuove versioni delle medesime. Se, per esempio, una distribuzione includesse una libcrypt contenente nuove caratteristiche rispetto alla libcrypt.lsb.1, la prima potrebbe utilizzare una denominazione non conforme LSB come libcrypt.so.1.2. Questo file potrebbe sostituire libcrypt.so.1.1, ma non la libcrypt.lsb.1 poiché questa è conforme ai suggerimenti della LSB ed è stata quindi rinominata. Questo sistema rende disponibili le nuove caratteristiche senza compromettre le applicazioni che necessitano della libreria LSB. La Linux Standard Base permette la coesistenza fra queste nuove librerie e quelle LSB per garantire la compatibilità senza impedire sviluppi futuri.

Questo tipo di approccio garantisce a Linux la compatibilità verso il basso che spesso non è presente nei sistemi operativi propretarii sotto il controllo di un'entità commerciale. Intenzionalmente o meno, i produttori di sistemi operativi possono mettere in difficoltà i loro concorrenti sostituendo le librerie principali con nuove versioni. Purtroppo gli utenti non possono evitare il comportamento imprevisto che può derivare dall'inclusione delle modifiche nei soli aggiornamenti ufficiali o "service pack". Questi sistemi operativi proprietarii sono spesso automaticamente aggiornati o modificati con versioni meno recenti degli elementi quando l'utente installa delle applicazioni commerciali.

Fortunatamente la natura OpenSource di Linux rende quasi impossibile per un singolo distributore forzare in questo modo come standard una sua scelta, questo perché le librerie principali sono liberamente accessibili ed utilizzabili indipendentemente dalla distribuzione di Linux utilizzata. La Linux Standard Base aggiunge un ulteriore livello di sicurezza, infatti, indipendentemente da come sia aggiornata una distribuzione, l'aggiornamento non modificherà le applicazioni che seguono le regole della LSB perché le librerie LSB non saranno toccate.

UNO STANDARD OMNICOMPRENSIVO

Le regole della Linux Standard Base sono limitate alla gestione delle librerie, ma interessano anche alcuni comandi (quali cat, sleep, more, man, sed, nice, tail, ecc.) considerati come fondamentali in una distribuzione base di Linux. Gli standard proposti dalla LSB sono simili, anche se non identici, a quelli suggeriti nella seconda versione della Single UNIX Specification (conosciuta anche come UNIX98) del The Open Group. Le applicazioni di Linux si basano pesantemente sugli script della shell per compiere varie azioni quali l'installazione, la rimozione, l'inizializzazione e lo "shut down" dei programmi. Alcuni comandi, quindi, devono essere presenti perché questi script possano funzionare senza errori e gli sviluppatori possano continuare a scriverli senza tema che manchino i programmi basilari da loro scelti.

Per un sistema che si basi sugli standard della LSB, però, è importante non solo che sia presente un set minimo di programmi, ma anche che sia nota e certa la loro posizione. La LSB ha adottato il Filesystem Hierarchy Standard (FHS) per raggiungere questo ed altri obiettivi. FHS suggerisce come debbano essere posizionati file, librerie e comandi all'interno di un sistema che segua le specifiche LSB. Visitate l'indirizzo http://www.pathname.com/fhs per una descrizione completa di questo standard e delle aree da questo coperte.

LSB considera anche che nei sistemi aderenti alle sue specifiche alcune applicazioni possano e debbano essere lanciate al "boot" . Per questa ragione sono state definite delle regole anche per la posizione ed il contenuto degli script ed i file di inizializzazione. Lo standard permette ad un produttore di un database, per esempio, di installare gli opportuni file e script con l'assicurazione che gli altri processi necessarii per la partenza del proprio software siano già stati lanciati. Lo standard evita anche l'esistenza di dipendenze ricorsive che avrebbe come effetto l'inizio di un ciclo da cui il sistema non potrebbe più uscire.

I sistemi aderenti alla LSB supportano lo standard POSIX.1-1990 e le estensioni della glibc. Questo fornisce agli sviluppatori un set di istruzioni conosciuto e la documentazione su cui fare affidamento nello sviluppo delle applicazioni.

La LSB ha anche determinato le specifiche per l'interfaccia socket per l'accesso ad internet. Sempre più applicazioni utilizzano la rete e quindi la LSB incoraggia l'uso degli standard già esistenti e tutt'ora utilizzati.

Anche se non tutte le applicazioni utilizzano un'interfaccia grafica lo fa una tale percentuale che quest'area non può essere ignorata, quindi la LSB definisce lo strato inferiore a X11, ciò aiuterà a ridurre le dimensioni delle applicazioni poiché non sarà più necessario compilare staticamente queste librerie. Questo, però, permette grande libertà nella scelta degli strati superiori più conosciuti oppure di visualizzare le applicazioni X11 su un altro computer (compreso uno che non segua le direttive LSB o sul quale ci sia un sistema operativo diverso da Linux).

L'Executable and Linking Format (ELF) è il formato standard de-facto dei file eseguibili ed oggetto utilizzato in Linux. La LSB sostiene l'uso di questo formato e dei test per esso. Le specifiche per il formato ELF sono disponibili sotto forma di un file pdf all'indirizzo http://www.linuxbase.org/spec/refspecs/elf.pdf.

Ciò che non è coperto dal lavoro della LSB è importante tanto quanto quello che lo è. Gli utilizzatori di Linux, i produttori di software, delle distribuzioni e gli sviluppatori trarranno beneficio non solo dalla sollecitazione della LSB all'utilizzo di formati e strutture standard, ma verranno ancora maggiori vantaggi dalla libertà che deriva dalle aree non coperte dal suo lavoro.

É importante comprendere come il lavoro della LSB si incentri solo sugli elementi del sistema operativo Linux che influenzano la compatibilità delle applicazioni. Considerate ciò come uno strato intermedio fra il kernel di Linux e le caratteristiche di una distribuzione non richieste dal software, come i programmi di installazione o le applicazioni di terze parti.

Il kernel di Linux, che risiede al di sotto dello strato della LSB deve potersi evolvere senza restrizioni. Sopra di esso lo strato fornito dalle specifiche fornisce un livello al di sotto del quale nulla deve essere modificato perché venga garantita la compatibilità per le applicazioni, come conseguenza di ciò praticamente tutto va "posizionato" al di sopra di questo livello. Garantendo un ambiente che subisca solo cambiamenti ponderati ed ordinati, i produttori delle distribuzioni di Linux ed gli sviluppatori indipendenti potrebbero differenziare i proprii prodotti senza avere problemi di compatibilità. Sempre che le distribuzioni di Linux rispettino le linee guida proposte dalla LSB sarebbe anche possibile aggiungere software senza che l'utenta perda i beneficii dati dalla formula OpenSource. Per esempio, una volta terminata l'installazione il programma proprietario preposto a tale scopo praticamente scompare, senza più influenzare la compatibilità della distribuzione con i programmi aderenti alle direttive della LSB.

Di contro un produttore potrebbe volere che tutto il proprio codice sia OpenSource per rivolgersi ai clienti che pretendono di avere i sorgenti di ogni programma, persino quelli che aderiscano solo parzialmente ai suggerimenti della LSB.

La Linux Standard Base volutamente evita di imporre il funzionamento dell'amministrazione del sistema Linux. Per esempio, la LSB non richiede uno rigido insieme di regole sulla sicurezza per il file system e per i gruppi e gli utenti. L'aderenza alle norme richiede che le applicazioni continuino a funzionare anche se l'amministratore di sistema modifica le impostazioni di siscurezza predefinte(entro un ragionevole limite, ovviamente. Un pessimo amministratore potrebbe danneggiare qualsiasi sistema, la LSB non vuole, e non potrebbe, prevenire simili eventualità.)

Infine, l'intento della Linux Standard Base di indirizzarsi alla grande distribuzione, ma non necessariamente agli adattamenti di Linux, come quelli del mercato "embedded". Mentre è sicuramente possibile , ed in certi casi desiderabile, per le soluzioni personalizzate, come quella per il progetto di un router Linux, essere parzxialmente aderenti alla LSB, vi sono aspetti di questa che sono irrilevanti per questo progetto o similari. Comunque, la LSB, continuamente rivaluta la necessità di standard importanti per questi mercati e lavora con le parti interessate perché Linux continui a crescere.

IL CLIENTE VINCE

Vi sono molti potenziali beneficii nell'adottare gli standard della LSB. Regole ben definite forniscono agli sviluppatori commerciali e non delle linee guida ben definite per produrre buoni sorgenti. Una profonda aderenza alla LSB significa che le applicazioni funzioneranno su qualsiasi macchina Linux invece di dover essere modificate per un minore segmento di mercato. La Linux Standard Base favorisce un mercato più ampio per ogni produttore di Linux perché incoraggia un maggior numero di rivenditori, sviluppatori e fornitori indipendenti a supportare Linux. Persiste, però, un forte incentivo per chiunque ad innovare al di fuori dei confini così stabiliti, senza minacciare, quindi, l'inestimabile valore che è la natura OpenSource di Linux stesso.

LINUX
OPENSOURCE


Pietro Leone
Studente di Scienze Naturali all'Universita degli Studi di Torino.
Appassionato di informatica, utente Amiga, Linux e programmatore dilettante in C.
Altri hobby: storia militare, strategia e Giochi di Ruolo.

Puoi contattare l'autore scrivendo a:
leone@diff.org


Altri articoli tradotti da Pietro Leone:
Troppo Linux
Linux è come la pizza?
Migliaia di cittadini morti e milioni privati dei diritti civili?
L'idiozia brevettabile
Unix vs. Microsoft Windows NT Server 4
Introduzione a Darwin
X Window deve morire!
Che cosa Linux può imparare da FreeBSD?
Cosa c'è di nuovo in Gnome 1.2


 


La tua opinione su quest'articolo ci sarà utile per la scelta dei contenuti dei prossimi articoli, per cortesia lasciaci un tuo parere su quello che hai letto:
nome:
email:
eta:
Professione
Commento:
Gradimento:
Utile Interessante Continuate con quest'argomento

© 1999,2000,2001,2002 NonSoLoSoft di Ferruccio Zamuner (Italia)- tutti i diritti sono riservati