Come forse saprete alcune cose sono stanno cambiando in casa Canonical. Fino alla versione 10.10 Ubuntu è stata fermamente ancorata al progetto Gnome limitandosi a smussarne qualche aspetto, personalizzarne alcune componenti, e proporre software alternativi a quelli forniti di default dell’ambiente desktop (penso a firefox al posto di epiphany). Con l’avvicinamento della terza versione e con i suoi cambiamenti radicali Canonical ha però deciso di divergere dalla linea del progetto gnome. Non si tratta ovviamente di un abbandono delle tecnologie che da anni sono alla base del desktop Ubuntu ma del tentativo di progettare una user experience “in casa”. Il tassello centrale è rappresentato dalla nuova desktop shell Unity.
Chi segue le vicende della distro Sudafricana sa che Unity non è una vera e propria novità; la sua prima apparizione risale infatti alla versione 10.10 netbook edition.
Quello che è cambiata è la tecnologia alla base. Il nuovo window manager/compositor di gnome 3 mutter non è stato considerato abbastanza maturo per garantire un’esperienza soddisfacente sulla grande varietà di hardware che ubuntu è abituata a coprire. Si è deciso quindi di utilizzare come compositor il collaudato compiz (che è stato al centro di una recente riscrittura in c++).
Richiedendo compiz accelerazione hardware opengl, sarà comunque possibile utilizzare il classico ambiente gnome 2 per tutta quella gamma di hardware non in grado di far girare la nuova shell Unity.
A questo punto vi starete chiedendo cosa ha a che fare tutto questo con le Qt. Alcuni sviluppatori Canonical hanno iniziato a sviluppare una versione della shell Unity che non richiede accelerazione hardware basata proprio sul framework Nokia. Il software non sarà incluso nella nuova versione di Ubuntu ma il suo sviluppo così rapido e la reattività dell’implementazione anche su hardware non molto dotato hanno in qualche modo mostrato quello che Qt è in grado di poter fare.
Ubuntu è sempre stata una distribuzione GTK centrica ma le cose potrebbero cambiare. Dal suo blog Mark Shuttleworth ha annunciato che con il primo major upgrade di ubuntu Natty le Qt entreranno a far parte del CD di installazione. Il lavoro ovviamente non si limiterà alla mera inclusione ma anche all’integrazione del framework nel sistema. Un primo passo sarà la scrittura di binding Qt per l’accesso al sistema di configurazione dconf. Ci sono state come al solito alcune polemiche strettamente tecniche sul “come” cercare di armonizzare i due toolkit ma secondo me la vera notizia è la volontà di farlo.
Qt è una piattaforma in crescita, basta guardare i changelog per rendersene conto, e rappresenta una delle eccellenze nell’ambito del software libero. Relegarla all’installazione opzionale o alla sorella minore Kubuntu non è più possibile, sopratutto considerando che sarà la base di sviluppo per Meego spinta dai giganti Nokia e Intel.
Considerazioni di mercato a parte, quelle che considero molto positive sono le implicazioni pratiche per gli sviluppatori. A differenza di chi crede che ci sia un’unica via “giusta” di fare le cose applicando a priori scelte che dovrebbero essere fatte da chi il codice lo scrive, in questo caso si cerca di garantire la possibilità di sviluppare su e per ubuntu in maniera indipendente da preferenze ed esigenze tecniche o personali.