domenica 27 ottobre 2013

Care distribuzioni se volete i desktop dovete “pensare diversamente”

In questo articolo ho parlato di come le distribuzioni GNU/Linux non siano adatte ai desktop, nominando in particolare Ubuntu LTS.

Sempre nel precedente articolo ho parlato di Sistema Operativo Linux (Android e ChromeOs) e di Distribuzione GNU/Linux (Es. Ubuntu).
La differenza fondamentale sta nel modo in cui viene gestito il supporto.
Il software può essere distinto in due componenti fondamentali: il sistema operativo da una parte e i programmi utente dall'altra. Questo permette di avere il programma aggiornato anche in versioni più vecchie del sistema operativo.
Questo paradigma non sembra essere stato colto dalle distribuzioni GNU/Linux Desktop più diffuse che si ostinano a sviluppare tutto insieme, congelando la versione delle applicazioni al momento del rilascio. Il risultato è che una distribuzione GNU/Linux avrà per tutta la durata del suo supporto quella stessa versione del programma (salvo toppe messe dall'utente).
Facendo un confronto “in ufficio” tra la mia distribuzione GNU/Linux preferita Ubuntu 12.04 e Windows 7, tra 5 anni Ubuntu avrà ancora LibreOffice 3.6 mentre l'utente Windows avrà l'ultima versione. Lo stesso vale per la maggior parte degli altri programmi.
A questo punto mi chiedo a cosa servano 5 anni di supporto se già oggi (dopo meno di 2) l'utente Windows 7 può vantare programmi Open Source più avanzati e meglio supportati di me?

Rivolgendo agli sviluppatori e manutentori delle principali distribuzioni questa domanda, le risposte ottenute in ordine di “simpatia” sono state le seguenti:

1) Se non ti sta bene fatti la tua distribuzione e pacchettizzala come ti pare
2) Sputi nel piatto in cui mangi
3) E' gratuito non rompere, se non ti sta bene paga Windows
4) C'è sempre Arch ch'è facilissima da usare
5) Per motivi di sicurezza e stabilità, perchè il programma potrebbe non funzionare più dopo l'aggiornamento; però puoi sempre installarlo manualmente o con i repository di terze parti se vuoi
6) I programmi sono molti e noi pochi, non possiamo stare dietro a tutti.

Tralasciando le prime tre risposte, francamente idiote e salutando i simpatici amici “Arceri” così bravi da non rendersi conto che non tutti sono alla loro altezza, vorrei concentrarmi sulle ultime due.

Vorrei analizzare separatamente i tre aspetti della quinta risposta.


  • I motivi di sicurezza e stabilità: quest'aspetto non regge affatto. Primo perchè nelle LTS sono previsti aggiornamenti ben più rischiosi, come il Kernel e l'Xorg, dove il pericolo correlato ai malfunzionamenti da avanzamento di versione potrebbe portare alla completa inusabilità del sistema stesso; secondo perchè ad esempio Firefox viene costantemente e rapidamente aggiornato all'ultima versione stabile quindi s'è possibile per Firefox perchè non potrebbe essere fatto con gli altri. Per giunta se un programma è considerato stabile dal suo sviluppatore, perchè dovrebbero esserci problemi di sicurezza? Per chiarire meglio il concetto ricordiamo che vecchio non è sinonimo di stabile, ma di obsoleto; le aziende potrebbero benissimo avvalersi di software stabile e moderno allo stesso tempo, mentre congelare per tutta la durata del supporto i programmi utente, quando invece lo sviluppo prosegue con nuove versioni stabili, è quantomeno illogico.
  • Il suggerimento di installare direttamente il programma mi fa rabbrividire. Infatti molti sviluppatori, bontà loro, rilasciano l'eseguibile per Windows e MacOS, ma si guardano bene dal rilasciare pacchetti per le distribuzioni GNU/Linux e gli utenti di questo sistema operativo sono costretti a compilare i sorgenti. Questa condizione pone due problemi: primo per installare il programma spesso è necessario “sporcare” il sistema con numerosi pacchetti per la compilazione, secondo non tutti sono in grado di farlo. Questa disparità di trattamento da parte degli sviluppatori di certo non aiuta l'ecosistema Open Source. Infine se ti vanti di avere un Software Center dal quale “poter installare i programmi con un clic” il discorso “vattelo a cercare” dovrebbe essere escluso a priori.
  • Veniamo ora ai repository di terze parti. Mi si pongono problemi di sicurezza e stabilità e poi mi si chiede di aggiungere diversi repository per mantenere aggiornati i programmi? Questo discorso non quadra, perchè i repository di terze parti sono la principale fonte di insicurezza e di instabilità di una distribuzione; infatti se un singolo repo in più crea rischi minimi, incrementando il numero delle fonti il rischio cresce esponenzialmente.

  • Arriviamo ora alla sesta risposta: siamo pochi rispetto alla mole di programmi.
Verissimo, però c'è anche da dire che ad esempio Ubuntu sforna una nuova versione del sistema operativo ogni 6 mesi, il che vuol dire che nell'arco di 5 anni ne ha tirate su 10. A questo punto perchè invece di fossilizzare una versione dopo l'altra non si fanno 2 versioni ben mantenute?
O in alternativa, perchè non si può fare per i programmi quello che si fa con Kernel e Xorg che dall'ultima versione stabile vengono passati sulla LTS dopo qualche mese di rodaggio?
Inutile dire che tra le 2 soluzioni preferirei dei rilasci più distanziati ma ben mantenuti.
Ma son gusti.

Articoli correlati: