jump to navigation

A single Community, a single Linux January 25, 2006

Posted by laspinanelfianco in Linux.
trackback

Secondo la più autorevole delle fonti, DistroWatch (http://www.distrowatch.com), in questo momento esistono 367 diverse distribuzioni attive di Linux, di cui 171 Live CD. In realtà, le distribuzioni esistenti sono sicuramente molte di più, visto che distrowatch non elenca diverse distribuzioni esistenti come FUSS (http://www.fuss.bz.it/). Questo è certamente un aspetto positivo di Linux perchè fornisce all’utente una gamma vastissima di soluzioni alternative per ogni possibile problema. Inoltre, è un grande segno di democrazia e libertà. Tuttavia, questa abbondanza di distribuzioni è anche all’origine del più grave problema che affligge Linux sin dalla sua nascita: la Babele dei sistemi di installazione del software e dei relativi “package”.

Le 367 distribuzioni di Linux, infatti, usano uno qualunque dei 10 o 12 diversi sistemi di gestione delle installazioni (RPM, YUM, APT, etc.) ed uno qualunque dei 10 o 12 formati corrispondenti (rpm, deb, tar.gz, etc.). Di solito, un pacchetto creato per una distribuzione non può essere installato su di un’altra (anche se esistono numerose eccezioni). Persino l’installazione dai sorgenti (tar.gz) non è sempre possibile, a causa delle dipendenze tra pacchetti software, delle diverse dotazioni di programmi delle diverse distribuzioni e della diversa struttura delle directory. In pratica, non siamo di fronte ad un singolo sistema operativo in 367 diverse versioni. Siamo di fronte a 367 diversi sistemi operativi che appartengono ad un quarantina di diverse “categorie”.

Questa situazione porta con sè diversi problemi:

  • Il mercato è molto frammentato. Linux occupa il 3% del mercato mondiale dell’informatica ma questo 3% è suddiviso in almeno una trentina di “tribù” che comunicano poco tra loro. Windows, con il suo 93% di share, deve far i conti con solo 3 o 4 versioni del suo sistema operativo e spesso ogni utente ha trafficato con ognuna di esse nell’arco della sua vita.
  • Ogni pacchetto deve essere preparato per almeno le 4 o 5 maggiori distribuzioni. Questo comporta una devastante duplicazioni di sforzi che sottrae energie allo sviluppo del software, alla documentazione ed al debugging.
  • La presenza di decine di piattaforme diverse rende difficile fare un’opera di collaudo e di messa a punto del software che sia realmente esaustiva. Come risultato, molto spesso un programma può essere ritenuto affidabile solo sulle 2 o 3 distribuzioni più usate. Sulle altre, è un problema del malcapitato utente risolvere eventuali problemi.
  • Infine, l’utente che approda a Linux deve, come prima cosa, fare i conti con la scelta della distribuzione. Scegliere una distribuzione fra 367 è un compito difficile per un utente epserto, figuriamoci per un principiante assoluto.

Tempo fa, alcuni dei più anziani sviluppatori di Linux hanno cominciato a denunciare questa situazione ed a sostenere che “se esistono 2 distribuzioni di Linux, allora ne esiste una di troppo”. Senza arrivare a questi eccessi, è comunque necessario rendersi conto che la frammentazione di Linux è davvero un problema.

La soluzione a questo problema passa attraverso 3 elementi:

  • Una struttura standard del sistema operativo, su cui si possa fare affidamento. Questo è il compito a cui dovrebbe provvedere il progetto LSB (Linux Standard Base).
  • Un sistema di gestione delle installazioni comune a tutti. Non è detto che si debba necessariamente scegliere per un sistema, ad esempio l’APT di Debian, a sfavore degli altri. Già adesso esistono diversi sistemi di gestione delle installazioni software che girano su tutte le principali distribuzioni e che sono in grado di trattare quasi tutti i tipi di pacchetti. Di conseguenza, dovrebbe essere sufficiente “aggregarsi” attorno ad uno di questi sistemi ed a un insieme ristretto di formati per i package.
  • Un insieme comune di strumenti di gestione per l’hardware, il sistema operativo ed il desktop. Ad esempio, Novell/SuSe ha reso Open Source il suo ottimo YAST per cui potrebbe essere sufficiente adottare questo strumento per fornire a tutti gli utenti ciò di cui hanno bisogno (la gestione dell’hardware è un discorso un po’ più complesso perchè dipende da molti elementi proprietari).

La mia personale speranza è che questi aspetti vengano tenuti presenti da tutti coloro che si occupano di distribuzioni. Se il mondo Linux non riuscirà a raccogliersi attorno ad un limitato insieme di soluzioni comuni, è destinato a fare la stessa fine degli Open Systems degli anni ’80 e ’90. La guerra degli Unix di quegli anni, è probabilmente una delle ragioni principali dello straordinario successo di Windows. Che sarebbe successo se nei primi anni ’90 Windows si fosse trovato ad affrontare sul mercato uno Unix “standard” a basso costo come il Coherent di Mark Williams Company, dotato magari dell’allora innovativo CDE?

Comments»

1. PB blog: IT stuff, ogame and various » Lettera per Alessandro Bottoni - January 25, 2006

[…] Alessandro, trovo il tuo blog "La Spina nel Fianco" molto interessante: ho letto il tuo articolo PI: Untrusted/ We don’t trust you e ho visto una serie di post sul tuo blog che trattavano solo questo tema. A un certo punto ho pensato "ma questo blog parla solo di trusted computing?". Vedo (leggendo il tuo articolo "A Single Community, a single Linux") che non è cosi Ad ogni modo mi piace come scrivi e vorrei leggere tutti i post che hai scritto prima che io trovassi il tuo blog. Penso che avrò molto da imparare. […]

2. Due sciocchezzuole - January 26, 2006

Lettera aperta

Visto che sul blog di Alessandro Bottoni non si pu commentare, mi tocca farlo da qui, relativamente a


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: