jump to navigation

A single Community, a single Linux January 25, 2006

Posted by laspinanelfianco in Linux.
2 comments

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?