Cambiare i rilasci di Ubuntu: si, ma nel modo giusto
La pubblicazione da parte di Scott James Remnant (ex dipendente di Canonical, ora lavora a Google) di un articolo “A new release process for Ubuntu?” ha riaperto nella community la discussione sui tempi di rilascio di Ubuntu.
Quello che Scott propone è un rilascio mensile (11.10, 11.11,…) mostrato sotto forma di normali update dove le funzionalità vengono rilasciate solo quando sono pronte e non in base ad una data di rilascio prestabilita, inoltre propone due canali beta e alpha: il primo andrebbe rilasciato poche settimane prima della nuova versione e servirebbe come testing mentre il secondo come ramo di sviluppo e considerato che sia il ramo principale sia quello beta dovrebbero rimanere stabili lo sviluppo si dovrebbe effettuare su dei PPA: un ppa per la nuova versione di Unity, uno per quella del software center…
Il problema
Scott sottolinea che lo sviluppo della 12.04 a causa di festività e pause si svolgerà in sole 13 settimane e poi si passerà subito a al bugfixing: un tempo così breve per lo sviluppo di grandi cambiamenti probabilmente non sarà abbastanza e di conseguenza si avranno release sempre meno stabili.
I rilasci di 6 mesi erano nati per allinearsi a di Gnome ma adesso che con il passaggio a Unity questo ha meno importanza (anche se la maggior parte dei componenti fanno sempre parte di Gnome) si può di cambiare questa regola, credo, senza grossi problemi.
La soluzione sbagliata
Il problema è serio, ho sempre sostenuto che sei mesi son troppi pochi per riuscire a fare uno sviluppo completo (basta vedere Unity nella 11.04) e molti tra cui diversi sviluppatori di Unity la pensano così.
Allo stesso tempo penso che la soluzione mostrata da Scott sia addirittura peggiore:
- Mancano totalmente le LTS e per quanto potranno essere testate le feature prima di essere rilasciate si rischia sempre che una nuova versione del kernel sia in-compatibile, un driver non più funzionante oppure un software che richiede specifiche hardware più avanzate. Inoltre nessuno, a parte pochi curiosi, voglio trovarsi un nuovo software o una nuova interfaccia da imparare in modo improvviso senza che ci sia un’annuncio grosso come una casa ( e i changelog nell’update manager non lo sono).
- Il supporto come funzionerà? Si dovrà aggiornare sempre il sistema ogni mese per non rischiare di trovarsi con un software obsoleto e non supportato perchè dalla versione 11.11 alla 11.12 è stato aggiornato?
- Compatibilità. Gli sviluppatori di applicazioni dovranno perdere tempo a tenere il loro software sempre aggiornato per evitare problemi di in-compatibilità? Mettete per esempio che dalla 12.01 alla 12.02 cambi la versione di python e tutti i software debbano essere riscritti per supportare la nuova in meno di un mese di tempo, lo stesso può valere per il passaggio da gnome 3 a gnome 4 o da unity 3.x.x a 4.x.x.
Tutti questi punti si uniscono in un solo concetto: le release sono un punto di riferimento perchè si sa che il sistema non cambierà da rosso a giallo in un giorno, perchè si sa che con le LTS si può stare tranquilli per tutti i 3 anni del supporto, perchè nessuno ti obbliga ad aggiornare, perchè se il sistema funziona almeno per 6 mesi continuerà (si spera) a farlo, perchè non devo imparare niente di nuovo se non dopo una nuova versione, perchè ….
Un sistema del genere lo vedrei più adatto a Archlinux, che infatti è una rolling release, insomma a distro per geek o smanettoni non per Ubuntu che punta a essere user friendly.
La soluzione (secondo me)
Ma il problema rimane, ecco quindi come cambierei il sistema di rilascio di Ubuntu.
I tempi
Una versione all’anno in modo da permettere uno sviluppo maggiore e una LTS ogni 2 seguendo lo schema LTS – rilascio – LTS, i tempi tra LTS e LTS rimarranno gli stessi di adesso con la differenza che ci sarà 1 solo rilascio tra una e l’altra.
Tutti i cambiamenti importanti (es. gnome4, una nuova interfaccia) dovranno arrivare prima nella versione intermedia e non direttamente nella LTS in modo da permettere di avere nuovi software completi e provati da un testing molto lungo.
La scelta
Le LTS dovranno essere la scelta di default quando si scarica Ubuntu con la versione intermedia consigliata solo per i curiosi o contrassegnata come beta.
Il supporto
Secondo alcuni 3 anni di supporto per le LTS sono troppi e quando ho fatto notare che in informatica sono un’era mi è stato detto che nei loro uffici il capo non ci pensava neanche a cambiare xp, ma è proprio questo il punto Ubuntu non è Windows:
- Ubuntu è gratis: questo significa che se con Windows ci penso bene prima di spendere 70, 700, o 7000 euro per aggiornare i miei 1, 10 o 100 computer da XP a Vista o da vista a Seven con Ubuntu non ho questo problema essendo le spese pari a 0.
- Ubuntu non richiede un pc nuovo: ho pc vecchio di 10 anni che ho aggiornato versione dopo versione fino ad arrivare alla 11.04 con Unity 3d sostituendo solo la scheda grafica mentre con Windows avrei dovuto comprarne uno totalmente nuovo considerato che i requisiti sono passati nel caso di XP->Vista da 256mb di ram ad almeno 1 gb.
- L’aggiornamento su Ubuntu è semplice: per aggiornare un pc con Ubuntu bastano pochi click e tutto avviene in automatico, in caso si abbia a che fare con moltissime installazioni e non si voglia fare l’operazione pc per pc si può usare ssh oppure sistemi come Landscape di Canonical.
Gli aggiornamenti
Per evitare di avere software obsolete si dovrebbe permettere ai singoli sviluppatori di inviare aggiornamenti per le loro apps senza dover aspettare la release successiva :come succede adesso ma solo per le apps a pagamento o partner di Canonical.
Secondo voi i rilasci di Ubuntu vanno bene così? Come li vorreste?
-
Angeloexpo
-
Alessandro Arcidiaco
-
http://paglias.net/ Paglia
