Domenica, Aprile 11, 2010

Linux è un fallimento?

cat_linux.pngQuando si pensa a Linux e ai comuni utilizzatori di PC, qualcosa non va.

Si! Senza ombra di dubbio, Linux dedicato ai comuni sistemi desktop e portatili, per ora, è un assoluto fallimento!

E’ inutile nascondersi o far finta che non sia così, è ora di scendere dal finto piedistallo, utilizzare un pò di umiltà ed ammetterlo. Da sostenitore del Software Libero e di Linux, non posso non constatare come il pinguino(Linux) stia andando nella direzione sbagliata.

In questo articolo voglio raccontarvi il mio punto di vista sugli scarsi progressi che le distribuzioni di Linux hanno compiuto negli anni e su come, volendo, Linux potrebbero diventare Veramente un serio concorrente di Windows.

Il successo

Molti anni sono ormai passati dalla comparsa di Linux nel panorama software mondiale.

La sua diffusione sui sistemi server è stata, ed è, inarrestabile. Sempre più aziende lo scelgono per governare i propri sistemi critici, fornendo una flessibilità ed una affidabilità invidiabile.

Basti pensare alla miriade di sistemi Linux che governano, di fatto, il web. Fornendo sempre eccellenti prestazioni e servizi senza interruzioni.

Tanto per fare degli esempi, ecco una raccolta di aziende che utilizzano, in modo massiccio, il pinguino:

http://www.focus.com … ou-might-not-expect/

La volontà

cat_software.png Ovviamente, dopo tanto successo, la domanda sorge spontanea. Per quale motivo non sostituire o affiancare Windows con Linux?

Ottima idea, anche se un po scontata. Viste le qualità di questo sistema, il passaggio ai pc dei comuni utenti sembra inevitabile.

Ma come procedere?

Visto che i sistemi server sono utilizzati da esperti, molto spesso non necessitano di particolari accorgimenti o interfacce, basta una linea di comando e una serie di istruzioni da digitare sapientemente.

Purtroppo però, per l’utente “comune” questo approccio è assolutamente inadeguato in quanto, non c’è alcun desiderio di apprendere, si desidera solamente utilizzare un sistema in grado di effettuare determinate operazioni, senza alcun interesse per i dettagli tecnici.

Questa tendenza è ormai consolidata tanto che, quando si acquista un PC dotato di Windows, tutto funziona immediatamente (nel 99% dei casi), i software necessari sono facilmente reperibili, siano essi a pagamento o gratuiti. Inoltre, la sua diffusione e il supporto che i costruttori di hardware e software forniscono, attualmente lo rendono l’unico sistema in grado di garantire all’utente una piena operatività.

Partendo da questo presupposto, nel corso degli anni, l’enorme quantità di programmatori dediti a Linux si è messa all’opera per consentire l’utilizzo del sistema ad utenti meno esperti e smaliziati. Proprio da questa volontà sono nate distribuzioni come PCLinuxOS, OpenSuse, Mandriva, la famosissima Ubuntu e la mia preferita Linux Mint (derivata diretta di Ubuntu).

La direzione pareva chiara, rendere Linux una valida alternativa a windows, non solo sui sistemi server ma anche sui pc utilizzati dai “normali” utenti aziendali e casalinghi.

Dopo anni di sviluppo, osservando ora questi progetti ed in genere l’insieme delle distribuzioni di Linux dedicate all’utente comune, non posso fare altro che constatarne lo scarsissimo successo. Anche se queste distribuzioni sono riuscite a suscitare l’interesse di persone ed aziende, nessuna consente la realizzazione, in tempi accettabili, di sistemi usabili e competitivi con l’onnipresente Windows.

Basta dare un’occhiata alla percentuale di utilizzatori che Linux è riuscito a raccogliere, percentuale che si ferma a pochi punti, ampiamente superato perfino da Osx di Apple (Mac) che, nonostante le promesse e il costo, difficilmente può essere definito un’alternativa completa ai sistemi Microsoft.

Gli unici casi in cui Linux è arrivato all’utente medio sono quelli gestiti dalle grandi aziende o da alcune strutture pubbliche le quali, sfruttando personale specializzato in grado di installare e configurare i sistemi, danno agli operatori PC di immediato utilizzo. In questo caso però, molto del lavoro è fatto prima che il sistema giunga al suo reale utilizzatore e, di fatto, non è applicabile alla maggior parte degli utenti nel mondo.

Cosa c’è che non va nelle distribuzioni di Linux?

develop.png Mentre scrivo questo testo, utilizzando Linux Mint e OpenOffice Writer, mi vengono alla mente una miriade di “problemi” avuti durante le varie installazioni di Linux che ho personalmente compiuto in ufficio, a casa, da amici e parenti.

Grazie anche alle distribuzioni Live, cioè a distribuzioni Linux in grado di avviarsi direttamente da CD, l’interesse delle persone è molto cresciuto nel tempo e molti si sono cimentati nella sperimentazione. Bisogna ammettere che il primissimo approccio è sicuramente piacevole.

Poi, ad un certo punto, si decide di “fare sul serio”, si parte con l’installazione e, il più delle volte, ci si compiace della scorrevolezza della stessa. I problemi arrivano successivamente. Non ho mai visto un sistema Linux funzionare immediatamente al 100% (e nemmeno al 99%). C’è sempre qualcosa che non va. Si va dalla stampante multifunzione, alla fotocamera non riconosciuta, alla webcam, ai lettori mp3, per non parlare delle periferiche “esotiche” come mouse speciali o dispositivi esterni particolari.

Ma i problemi non si fermano qui, si può andare ben oltre. Come è successo a me, si cade nel ridicolo quando, ad esempio, si tenta di accedere ad una cartella condivisa da un pc con Windows senza riuscirci.

Questi, nonostante possano sembrare veri problemi, in realtà non lo sono! Nonostante la configurazione non avvenga automaticamente, quasi la totalità di questi inconvenienti può tranquillamente essere risolta con un’adeguata configurazione manuale del sistema!!!!

Ad esempio. L’incapacità del mio sistema Linux Mint di accedere alle cartelle di windows, era risolvibile così :

http://www.techemia. … u-ubuntu-e-non-solo/

Quindi? Se la maggior parte dei problemi è risolvibile, qual’è il vero problema di Linux?

Il solo, unico, vero problema di Linux, che di fatto ne impedisce l’adozione in modo massiccio da parte dell’umanità, è quello di essere sviluppato da programmatori/tecnici/esperti ad uso e consumo di programmatori/tecnici/esperti!

Tutto qui. Si pensa troppo poco alle esigenze di semplicità delle persone “normali”, concentrandosi su aspetti tecnicamente più piacevoli ma, inesorabilmente, superflui. Basti pensare alla miriade di effetti grafici applicabili alle finestre, possono dissolversi, piegarsi, arrotolarsi, scorrere, bruciare, ma poi, quando si tenta di connettersi ad una risorsa di una rete locale…

Come se non bastasse, il proliferare di distribuzioni sempre più diverse tra loro e l’avvicendarsi di versioni che tengono troppo poco in considerazione la compatibilità con le precedenti release, genera una miriade di Linux incompatibili gli uni con gli altri che, di fatto, costringono troppo spesso a estenuanti ricerche per risolvere i problemi che via via si presentano.

In poche parole, troppo difficile da configurare, e in ultima analisi, per un’utente comune risulta troppo complesso avere un sistema funzionante al 100% in tempi accettabili.

L’utente che non impara

user.png Solitamente, quando affronto questo argomento con un “normale” utente di Linux, mi viene detto che “il problema della configurabilità è dato dal fatto che l’utente medio non vuole imparare”.

La mia risposta è sempre la stessa. Certo, è vero che l’utente medio non ha alcun desiderio di approfondire le proprie conoscenze sul sistema che sta utilizzando! Io mi chiedo, per quale motivo dovrebbe avere questo desiderio?

Alla fine dei conti, il computer con tutto il suo software, non è altro che uno strumento nato per semplificare il lavoro degli uomini quindi, per quale motivo dovrei sapere come funziona uno spazzolino elettrico? Una volta che so cosa fa e come farglielo fare, lo uso per raggiungere il mio scopo, lavarmi i denti. Cosa mi importa il motivo per il quale la testina si muove? Perchè devo sapere come funziona il suo carica batterie? Servono solamente le istruzioni minime e indispensabili per poterlo utilizzare al meglio, senza alcun tipo di tecnicismo superfluo, cioè qualsiasi cosa che non sia indispensabile per lavarmi al meglio i denti. Sapere come ricaricare le batterie serve, sapere che materiale viene utilizzato per costruire il mio spazzolino non mi aiuterà a lavarmi meglio i denti.

Prendiamo ad esempio il problema, esposto poco sopra, della mancata connessione del mio Linux Mint alle cartelle condivise da pc Windows. Per quale motivo l’utente dovrebbe sapere qualcosa dell’ordine dell’opzione “name resolve order” presente nel file “smb.conf”? O più semplicemente, per quale motivo l’utente dovrebbe conoscere una cosa di nome “samba” (componente software che gestisce questo tipo di connessioni)?

Dal mio punto di vista, se l’utente desidera conoscere i dettagli tecnici è liberissimo di farlo ma, giustamente, se non desidera approfondire le proprie conoscenze, il sistema Deve permettergli di compiere le normali operazioni senza costringerlo a spendere tempo prezioso per cose che non c’entrano nulla con lo scopo da raggiungere ma sono solamente operazioni, per l’utente, completamente superflue e scontate.

Per quale motivo la gestione delle periferiche non riconosciute, troppe volte implica l’editazione di file di testo solitamente introvabili e certamente incomprensibili alla maggior parte delle persone, e non viene fatta da maschere più amichevoli ed intuitive?

La risposa a queste domande è semplice. Linux finora è stato pensato ad uso e consumo di tecnici e programmatori, i quali non necessitano di queste semplificazioni.

I produttori di hardware non supportano Linux

cat_hardware.png Tutti gli utenti che tentano la strada Linux si accorgono, prima o poi, che i produttori di PC e di componenti, solitamente supportano scarsamente il sistema del pinguino(Linux). Io mi sono sempre chiesto perchè?

In questo caso, probabilmente, non esiste un solo “perchè”. Se io producessi hardware, cosa potrebbe trattenermi dal supportare Linux?

Prima di tutto lo scarso numero di utilizzatori.

Poi, anche se facessimo finta di nulla, c’è il problema dell’apertura dei sorgenti. Infatti molte distribuzioni sono restie nell’inserire software proprietari e chiusi al loro interno. Questo sarebbe perfettamente corretto se poi non si costringesse l’utente a “salti mortali” per sostituirli adeguatamente.

Infine, ma non ultima, la troppa diversità delle varie distribuzioni Linux. Nulla garantisce che il componente software che io produco oggi, funzioni su tutte le distribuzioni (o almeno sulla maggior parte). Questo mi costringe a test più estesi e costosi per garantire il funzionamento del mio componente software (solitamente un driver per gestire il mio hardware). Da questo punto di vista, rendere compatibile un componente con i sistemi Windows fornisce molte più “certezze”. Non solo garantisce che il mio lavoro funzioni correttamente per un certo numero di anni ma limita molto i test che dovrò effettuare, esistendo un numero ridotto di versioni del sistema operativo.

I produttori di software non supportano Linux

usbkey.png Al pari dell’ambito hardware, anche dal punto di vista software ci sono dei problemi. Nonostante la maggior parte dei software comuni esista e sia di buona qualità (es.: OpenOffice), nel mondo Linux mancano completamente tutta una serie di prodotti diventati uno standard nel mondo del lavoro. Tanto per fare alcuni esempi, possiamo citare Photoshop oppure AutoCAD.

Purtroppo, anche qui, il sopporto fornito dai produttori di software professionale è molto molto inferiore a quello che troviamo in Windows.

Perchè?

I motivi sono gli stessi che frenano i produttori hardware. Scarsità di utenti, soprattutto quelli disposti a pagare il software che utilizzano. Troppe diversità tra le distribuzioni con conseguente mancanza di “certezze”.

Come può, Linux, diventare un serio concorrente di Windows?

cat_win.png Veniamo alla parte che preferisco.

Tecnicamente Linux ha già tutto ciò che serve per competere ad armi pari con Windows!

Una volta che si è identificato il problema nella difficoltà, che l’utente medio riscontra nel configurare il proprio hardware la soluzione sembra semplice, rendere più facile le procedure di configurazione e potenziare le funzionalità di individuazione automatica.

Questa operazione richiede diverse modifiche, anche molto importanti. Prima di tutto, bisognerebbe eliminare tutte, o almeno la maggior parte, delle operazioni che l’utente è costretto a compiere dalla linea di comando. So perfettamente che ad alcuni la cosa sembra assurda ma, la linea di comando per l’utente medio è un peso insostenibile.

Come secondo passo è necessario eliminare tutte quelle situazioni che rendono il sistema, per l’utente medio, inutilizzabile. Mi riferisco, ad esempio, a quei casi in cui ci si ritrova al prompt dei comandi, senza alcuna interfaccia grafica, e senza possibilità da avere aiuto. Casi in cui, o si sa cosa si deve fare, oppure non se ne esce. Da questo punto di vista, è necessario far si che il sistema si avvii sempre con l’interfaccia grafica, anche se limitata, con adeguati messaggi, comprensibili anche da utenti non esperti.

Il terzo passo è quello di consentire l’installazione e la configurazione dell’hardware senza dover editare file di testo e senza avere conoscenze specialistiche (es.: sapere quale componente elettronico si trova all’interno della mia webcam). Ovviamente, in casi eccezionali, queste operazioni non potranno essere evitate ma, nella maggior parte delle situazioni il sistema non si può più permettere di abbandonare l’utente, soprattutto considerando il fatto che, l’utente, è già abbandonato dai produttori hardware.

Abbiamo poi i messaggi. Si, mi riferisco proprio ai messaggi con i quali il sistema comunica con l’operatore. In Linux, dire che queste comunicazioni sono criptiche, significa essere ottimisti. Anche Windows molto spesso fornisce messaggi vaghi, ma almeno danno un’idea di cosa succede e di cosa non va. Purtroppo l’amato pinguino troppo spesso fornisce messaggi incomprensibili per l’utente medio oppure, in modo ridicolo, li fornisce nascosti. Tanto per fare un esempio, capita che i software forniscano messaggi di errore solo se lanciati dalla linea di comando/console/terminale.

Infine bisogna parlare della standardizzazione delle distribuzioni. E’ necessario ridurre fortemente il numero di distribuzioni di Linux e standardizzarne il funzionamento, non solo per diminuire la complessità della scelta che l’utente comune farà, ma soprattutto per fornire ai produttori di hardware e software un sistema più semplice su cui portare il loro lavoro.

Dal mio punto di vista, a tutte le distribuzioni Linux mancano solo queste poche cose, implementate le quali potrebbero benissimo sostituire windows nella maggior parte delle situazioni.

Purtroppo quelle che ho elencato sono “cose” che richiedono un impegno tale da riuscire a scoraggiare la maggior parte dei programmatori. Infatti queste modifiche necessitano, prima di tutto della realizzazione di un sistema unificato per l’installazione dei driver hardware, poi di un affinamento del sistema per renderlo più coerente ed uniforme, infine di un attento esame di come e dove comunicare comprensibilmente con l’utenza. Tutte operazioni che, per la maggior parte degli sviluppatori/tecnici, risultano estremamente Noiose e quindi quasi superflue, e come tali inserite alla fine della lista delle “cose da fare”.

Sarebbe il caso di prendere esempio sia da Windows, sia da Osx (Mac) che, anche se in modo non perfetto, sicuramente dedicano molta, molta attenzione in più a queste problematiche.

Quali sono le mie speranze?

cat_gnu.png Personalmente sono stato e sono un convinto sostenitore del software Libero, mi piacerebbe tanto vedere sempre più utenti chiedere prodotti Liberi e/o specifici per Linux. Nonostante ciò non penso che il software Libero possa o debba sostituire completamente quello commerciale, anzi, ritengo che la loro convivenza possa essere il miglior stimolo per l’adozione in massa del pinguino.

Sarei felicissimo di vedere uffici privati e pubblici con Linux come sistema operativo principale e sarei altrettanto contento nel vedere le quote di mercato di Windows ridursi nel tempo.

Nonostante le mie, per ora, siano solo speranze, continuando a proporre, a mostrare e ad utilizzare il pinguino(Linux), sottolineandone sempre pregi e difetti, spero che un giorno si realizzino concretamente.

Messaggio ai Lettori

cat_articoli.png Scrivendo questo articolo mi sono chiesto se potesse essere usato come motivo per non provare Linux. La risposta, ovviamente, è si. Una persona che, per la prima volta, tenta di avvicinarsi a questo sistema operativo potrebbe scoraggiarsi leggendo le mie parole.

Sappiate che non c’è alcun motivo per il quale una prova non debba essere fatta. Voglio sottolineare che un giro con Linux non è mai “tempo perso”! Sicuramente Linux vi permetterà di entrare in un “nuovo mondo”, con una filosofia differente dal solito Windows e che, con un po di pazienza, potrebbe soddisfare ampiamente le Vostre esigenze.

Personalmente ritengo che la spinta degli utenti possa essere fondamentale nel tentativo di aprire gli occhi ai tecnici/sviluppatori/programmatori delle distribuzioni di Linux, per condurli sulla retta via…

Un’ultimo appunto. Chiunque di Voi decida di provare Linux sappia che, più la distribuzione è utilizzata, maggiore sarà la probabilità di vedere il proprio sistema funzionare correttamente in tempi accettabili. Inoltre un’ampia diffusione porta con sè un maggior numero di persone pronte ad aiutarvi, infine, l’uso delle distribuzioni più famose favorisce la standardizzazione di questo sistema, sicuramente troppo variegato.

Per quanto mi riguarda esiste solo ed esclusivamente un nome : “Ubuntu”

Il mio consigli è quindi quello di utilizzare Ubuntu o una sua derivata. Se volete approcciare in modo ancora più semplice si può optare per Linux Mint che non è altro che “Ubuntu”, dotata di una serie di strumenti aggiuntivi che la rendono ancora più usabile e intuitiva.


Per concludere voglio ringraziarvi per aver avuto la pazienza di leggere tutto questo mio articolo.

Roberto Rossi

Roberto Rossi

Unisciti a noi...

Categorie

  .Net     Annunci     C/C++     Cad     Editor     Linguaggi     Linux     Lisp     Pensiero     Php     Software     Varie     Windows  

Siti Amici