Nel precedente articolo, Web e Open Source, introduzione, ho interrotto il mio post con queste parole:
[…] si può [..] associare la “perfezione”, reale o percepita che sia […], a due aspetti: l’utilizzatore, o meglio colui che andrà ad interfacciarsi con il sistema e la diffusione del sistema stesso.
Riprendendo il discorso con le spiegazioni promesse affronterò proprio questi due aspetti.
Il primo, cioè l’utilizzatore, è importante perché, oltre a definire la vicinanza alla perfezione come soggettiva (come effettivamente è, non trattandosi di perfezione stessa), è utile a far notare che la persona non esperta non andrà ad interagire direttamente con un server ed il suo sistema operativo al contrario di quanto può capitare in ambiente domestico, dove si potrebbe trovare ad utilizzare un pc con una distribuzione linux trovandosi di conseguenza non a suo agio. La persona inesperta che andasse ad interagire con un server troverebbe probabilmente estremamente complicati sia l’utilizzo che la configurazione di qualsiasi soluzione, open source o proprietaria che sia.
La seconda, cioè la diffusione, è decisamente più importante, personalmente trovo che più un software o parte di esso sia diffusoa e più questa si avvicini alla perfezione, soprattutto in un ambito open source, visto e considerato che gli utilizzatori (esperti) spesso contribuiscono al miglioramento costante del software, segnalando e correggendo continuamente i problemi riscontrati.
Linux, si.
Tornando rapidamente all’esempio della distribuzione Linux possiamo considerare separatamente la parte fondamentale del sistema operativo e l’interfaccia.
La parte fondamentale del sistema operativo, che corrisponde al kernel linux e ad una serie di altri applicativi utili a fornire interfacce base per periferiche ed utilizzatore è ottima, pochi cercheranno di convincere qualcuno che esistano sistemi operativi migliori o più stabili, questo è dovuto in buona parte all’enorme diffusione, non soltanto sui computer domestici che sono relativamente e numericamente insignificanti, ma soprattutto sui server diffusi per il mondo.
L’interfaccia (grafica)invece, secondo molti, è complessa e carente, e questo è attribuibile alla sua relativamente scarsa diffusione. Questo è dovuto al fatto che un interfaccia grafica non è quasi mai presente sui server e che sui rimanenti computer domestici è frammentata tra le numerose distribuzioni e personalizzazioni (senza contare il fatto che la maggior parte dei contributori attivi di questi progetti sono programmatori e non grafici e user-interface designers).
Ma perchè diffusione = perfezione?
Prendendo ad esempio il sistema operativo più diffuso in ambito generico, Windows, i dipendenti impiegati nel suo sviluppo sono circa 10.000 (secondo alcune fonti non confermate) il numero preciso poco importa perchè va considerato che questi 10.000 individui sono da suddividere ulteriormente tra interface design, grafica, testing, sviluppo, aggiornamento delle versioni precedenti.
Anche soltanto considerando la parte di mero sviluppo dovremmo dividere questo numero ulteriormente fino a trovare soltanto gli individui che si occupano dello sviluppo del kernel in modo da poter fare un confronto con il kernel linux.
Lascio a ciascuno l’onere di fare queste supposizioni visto che non potrei farne di precise, vi basti sapere che ad ogni versione del kernel linux contribuiscono mediamente 1000 sviluppatori che certamtente non lo fanno per lavoro e a tempo pieno ma spesso solo per passione.
Propendo per l’idea che se sul kernel windows lavorassero 1000 sviluppatori come sul kernel linux, la qualità di un lavoro fatto per passione e su un progetto comunque incredibilmente più ridotto per dimensioni e funzionalità sia estremamente più affidabile.
A questa considerazione va aggiunto che linux e le sue derivazioni sono disponibile gratuitamente, permettono aggiornamenti di major release completamente gratuiti e spesso senza particolari complicazioni (spesso al contrario di quanto accade con le soluzioni proprietarie ) e permettono di eseguire gli stessi compiti con risorse generalmente più limitate
Per questi motivi mi sento di consigliare fortemente a chiunque debba scegliere un sistema operativo per il proprio server una distribuzione linux, in particolare caldeggio per le distribuzioni debian, che pur mantenendo un impatto limitato sulle performance del sistema permettono aggiornamenti e configurazioni infinitamente più agevoli.
Nel prossimo post cercherò di affrontare un argomento spinoso, quale linguaggio di programmazione scegliere.