venerdì 12 novembre 2010

Kubuntu non è Ubuntu


A marzo 2010 lessi un post di apachelogger, in cui si elencavano le differenze e le peculiarità di Kubuntu rispetto a Ubuntu, dal punto di vista organizzativo più che tecnico. Il post era davvero ben fatto! Mi ripromisi di chiedere all'autore il permesso e tradurlo in italiano, prima o poi (ah! che testa!). Adesso finalmente l'ho tradotto, alcune cose sono cambiate, il mondo dell'informatica viaggia veloce, ma il post è ancora molto attuale. Le mie considerazioni e integrazioni sono tra parentesi, in italico.

Questo post è stato scritto per chiarire cos’è Kubuntu. Scriverlo è stato necessario perché la gente ne ha sempre un’immagine sbagliata.

Entità

Lasciatemi spiegare le relazioni tra le varie entità di Ubuntu.

Primo e più importante è il progetto Ubuntu, questo mostro enorme che include Ubuntu Desktop, Ubuntu Server, Kubuntu, Xubuntu, Edubuntu (i flavours, cioè le versioni ufficiali di Ubuntu ndt) e qualcos’altro. Si potrebbe pensare al progetto Ubuntu come un ombrello che copre la maggior parte delle attività (semi-) ufficiali che circondano Ubuntu. Fare pacchetti di software KDE potrebbe essere una di queste attività, quindi anche uno sviluppatore Kubuntu contribuisce in un certo senso a Ubuntu.

Questa relazione è anche visibile.

Nella comunità Kubuntu abbiamo una membership (=una specie di “tessera del club” Ubuntu ndt) speciale per chi si è distinto come valido contributore a Kubuntu. Con questa membership si ottiene un indirizzo email @kubuntu.org e qualche altra cosa simpatica. Potrebbe non essere del tutto evidente, ma questa membership riflette le relazioni tra Kubuntu e Ubuntu. Quando qualcuno diventa membro (della comunità) Kubuntu diventa anche membro Ubuntu (tecnicamente parlando i membri Kubuntu sono un sottoinsieme dei membri Ubuntu). Questo perché chi contribuisce a Kubuntu alla fine contribuisce a Ubuntu (il progetto, ma non necessariamente la distribuzione).

Adesso sappiamo che Ubuntu è una grossa entità che consiste di altre entità (come Kubuntu), ma allo stesso tempo Ubuntu è anche il nome della distribuzione caratterizzata dal desktop GNOME e prodotta dal progetto Ubuntu.

Fino ad ora stavo parlando di Ubuntu come progetto, e dico, buttandola lì, questo progetto è guidato dalla comunità. Certo, Kubuntu e Ubuntu hanno persone che ci lavorano a tempo pieno, ma ci sono centinaia e forse migliaia di altri, che passano il loro tempo libero contribuendo a Ubuntu. E qui tutta la faccenda comincia ad essere un po’ complicata.

Kubuntu è controllato “5 a 1” dalla comunità, Ubuntu (la distribuzione per desktop) no. Ci si potrebbe chiedere come sono arrivato al “5 a 1”. Beh, il Kubuntu Council (Consiglio di Kubuntu ndt), quasi sempre la più alta autorità in Kubuntu, è composto da 6 membri, di cui 5 non lavorano per Canonical.

Canonical, ancora un’altra entità. Canonical è un’azienda che sta tentando di fare soldi con i prodotti Ubuntu. Canonical è anche l’azienda che rende possibile Ubuntu, il progetto. Ovviamente ci dimentichiamo molto spesso di questo, ma senza Canonical non ci sarebbero siti web *buntu, non ci sarebbe launchpad (la piattaforma web utilizzata per lo sviluppo di Ubuntu ndt), e di conseguenza nessun build deamon, nessuna daily CD builds of consistent manner (tutta roba tecnica, non fateci caso se non capite ndt)... in generale probabilmente non ci sarebbe nemmeno l’infrastruttura informatica per far girare tutte queste cose.

Solo la spesa per le infrastrutture (manutenzione, ...) deve essere abbastanza notevole. A dire il vero, non sono stato del tutto sincero con voi. Canonical non solo sta cercando di fare soldi con i prodotti Ubuntu, Canonical guida anche lo sviluppo della maggior parte di questi prodotti (o almeno fino a un certo livello).

Quindi il progetto Ubuntu è guidato dalla comunità E da Canonical (io avrei invertito l'ordine dei soggetti ndt). Alcune parti più dalla comunità, e altre più da Canonical. Come sempre succede, questo significa che la comunità può concentrarsi sulle parti divertenti mentre Canonical riempie i vuoti del lavoro che deve necessariamente essere fatto in un progetto di creazione di una distribuzione. E questo funziona nella maggior parte dei casi. La maggior parte dei contributori liberi lo fa perché è divertente, o perché vogliono raggiungere obbiettivi personali (tipo far partire un sistema in 2 secondi), ma di solito non tutto il lavoro di creazione di una distribuzione è divertente. Penso sia inutile dire che contribuirebbero meno persone se queste dovessero passare tanto tempo su cose complicate e noiose. Insomma, qualcuno lo deve pur fare, perché non qualcuno pagato per questo? :-)

Naturalmente si tratta di uno schema molto semplificato, ma quello che sto cercando di spiegare è che c’è una simbiosi tra le attività all’interno del progetto Ubuntu.

Potere e responsabilità

“Da un grande potere deriva una grande responsabilità” si sente nel primo film dell’Uomo Ragno. Queste parole sono molto vere, anche nel contesto di Ubuntu. Quelli che hanno il potere di guidare lo sviluppo, devono anche essere responsabili nel caso la direzione fosse sbagliata. E dirò di più, affermando che quelli che sono responsabili devono tenersi il potere di guidare lo sviluppo.

Che cosa significa questo per il progetto Ubuntu?

Canonical ha scelto GNOME come desktop preferito, e Debian come distribuzione preferita, poi ha fatto una nuova distribuzione basata su questi 2 strati di software esistente. Canonical vende contratti di supporto, infatti Canonical tenta di vivere solo su questo e su qualche altra attività all’interno o attorno all’universo Ubuntu. Quindi, quando qualcosa va storto, Canonical è la prima responsabile nei confronti dei propri clienti e partner. Supponiamo quindi che il prodotto sia Ubuntu, la distribuzione, e l’errore sia che GNOME è completamente inutilizzabile. Il cliente non andrà a lamentarsi dalla comunità, anche se contribuisce in parte al progetto. Il cliente andrà a lamentarsi da chi ha un contratto con lui, che è quindi Canonical. Canonical è quindi responsabile e deve avere abbastanza potere per evitare situazioni in cui potrebbe perdere consistenti quantità di denaro a causa di problemi nel prodotto. Quello che sto cercando di dire non è che Canonical ha o deve avere un controllo assoluto su Ubuntu, la distribuzione o il progetto, ma un certo controllo, quello necessario ad assicurare il loro giro d’affari e di conseguenza garantire il futuro dell’intero progetto Ubuntu.

Il panorama per Kubuntu è diverso. Kubuntu ha avuto origine grazie al contributo della comunità che ha innestato KDE sullo strato di base Ubuntu. Canonical decise di usare GNOME per il suo desktop e qualche membro della comunità decise di creare un’altra versione con KDE come desktop. Canonical pensò che questa fosse una buona idea e incorporò Kubuntu nel progetto Ubuntu, fornendo quindi le infrastrutture per la costruzione dei pacchetti e l’hosting e l’hosting per il sito web e la costruzione dei CD... Ma aveva poco interesse a sfruttare le potenzialità dell’affare e quindi decise di prendersi poche responsabilità. Che consistettero nell’assumere a tempo pieno uno dei padri fondatori di Kubuntu. La comunità ovviamente continuò a guidare i praticamente tutti gli aspetti, e quindi la comunità ha la maggior parte del potere sul corso dello sviluppo, semplicemente perché la comunità è responsabile del progetto e dello sviluppo del prodotto.

Kubuntu non è Ubuntu

Questa affermazione potrebbe sembrare incredibilmente ovvia, e ancora qualche volta qualcuno non capisce esattamente in quanti livelli si applica.

Certo, a livello tecnico Kubuntu non è Ubuntu perché usa KDE, anche se comunque utilizza uno strato di base Ubuntu.... Ancor più importante è far notare che ci sono altri settori in cui è valida l’affermazione precedente. Kubuntu non è un grande progetto come il progetto Ubuntu, è una parte del progetto Ubuntu, e deve perciò obbedire in parte alle sue regole e regolazioni. Questo significa per esempio che (noi sviluppatori) non possiamo inserire software non libero a caso nei nostri CD. Significa anche che Kubuntu non è il marchio scelto da Canonical, ma lo è Ubuntu, e questo è il motivo per cui il progetto si chiama Ubuntu e la distribuzione si chiama Ubuntu e i prodotti associati sono in qualche modo relativi a Ubuntu, magari usando anche il marchio (per esempio Ubuntu One).

Un’altra differenza importante è che la maggior parte delle modifiche non viene da Canonical. Le modifiche vengono da KDE o dalla comunità di sviluppo di Kubuntu (di cui solo 2 persone lavorano per Canonical...). Uno degli esempi più interessanti di supposizioni errate in questo campo, che mi riguarda da vicino, è che il programma di installazione di Mozilla Firefox, disponibile per Kubuntu 9.10 e successivi rilasci, è stato creato da Canonical. Ci sono alcune recensioni che lo affermano, invece l’ho creato io, e io non sono un dipendente di Canonical, né Canonical ne possiede il codice (Kubuntu non ha Firefox installato in maniera predefinita perché usa un altro browser web; è disponibile però un programmino molto semplice per facilitare l’installazione di Firefox in qualsiasi momento ndt).

In generale si potrebbe dire che il materiale presente su Kubuntu per la maggior parte non ha niente a che fare con Canonical, e nel caso lo sia, allora è approvato e tollerato dalla comunità.

Riprendendo quando ho scritto più sopra che quelli che hanno il potere devono essere responsabili e i responsabili devono avere potere, mi piacerebbe fare chiarezza su quanto segue: la comunità Kubuntu detiene la maggior parte del potere e della responsabilità. Considerare Canonical responsabile dei problemi di Kubuntu, e di problemi ce ne sono molti, come in qualsiasi progetto software, è semplicemente sbagliato. Perché anche se ci sono stati errori da parte di Canonical, la comunità non ha ancora fatto niente per rimediare.

Implicazioni

La suddetta affermazione comporta anche qualcos’altro. Primo e più importante è che Kubuntu non deve ricevere la stessa attenzione da Canonical che Ubuntu, la distribuzione, riceve. Non c’è neanche nessun problema per questo. Né dalla prospettiva di Kubuntu né da quella di Canonical.

Dal punto di vista degli affari, per fare di Kubuntu una valida opportunità, Canonical dovrebbe investire abbastanza risorse su Kubuntu, che poi entrerebbe in competizione direttamente con il suo altro sistema, Ubuntu, che è anche il marchio principale. Sarebbe un po’ un problema, dal momento Kubuntu è percepito come un marchio diverso da Ubuntu (anche se potrebbero essere associati, in un modo o nell’altro). Ovviamente questo non andrebbe bene a entrambi i marchi perché finirebbero per dividersi la quantità di attenzione del pubblico, invece di essere indirizzato a un marchio in particolare. In più, vorrebbe dire che Canonical diventerebbe più responsabile (e quindi così avrebbe bisogno di più potere, vedi sopra). Quindi infine questo farebbe di Kubuntu un po’ meno prodotto della comunità e più un prodotto Canonical (supponiamo a circa come è adesso con Ubuntu). Questo porterebbe a sua volta Kubuntu a diventare più personalizzata rispetto a KDE upstream, perché ovviamente un’azienda vorrebbe distinguere il suo prodotto in tutti gli aspetti rispetto ai propri concorrenti, e questo significherebbe interventi importanti sul marchio, funzioni speciali, ecc.

Conclusione

Quindi, finché Canonical continua a non sfruttare tutte le potenzialità d’affare che derivano da Kubuntu, la comunità probabilmente sarà ancora responsabile per qualche tempo a venire.

Questo significa in definitiva che la comunità detterà le regole e le decisioni di quello che pensa sia il meglio possibile. Finché la comunità sarà composta in maggioranza di persone che contribuiscono nel loro tempo libero, la risorsa tempo sarà limitata e quindi uno (sviluppatore) deve scegliere attentamente quali battaglie combattere. Di conseguenza questo significa che alcune cose semplicemente non possono essere fatte. Come per esempio l’integrazione con Ubuntu One (proprio apachelogger ha sviluppato qualche mese fa, dopo aver pubblicato questo post ndt), ma adesso ci sono molte altre cose importanti su cui lavorare. Lo stesso per portare su Kubuntu il Software Center (a questo hanno rimediato modificando KPackageKit, che adesso assomiglia in modo tremendo a Ubuntu Software Center ndt). Infine significa che la comunità deve decidere quanto “branding” deve essere inserito, e attualmente l’opinione è di rimanere quanto più fedeli a KDE. Non solo la grafica di KDE è di altissima qualità, ma sono anche i principali contributori del desktop di Kubuntu, quindi meritano la maggior parte del credito.

Vorrei infine sottolineare che l’obiettivo di Kubuntu era di fare la miglior distribuzione KDE, non la migliore derivata di Ubuntu, quindi modificare grafica e colori di KDE non sarebbe solo in conflitto con il fatto che grafica e colori di Kubuntu sono quasi uguali a KDE, ma anche con quello che Kubuntu sta tentando di diventare.

In breve: Kubuntu non è Ubuntu. In qualche occasione blog, storie e segnalazioni di errori suppongono che Canonical sia responsabile per quello che non è. In generale, il sottoscritto e gli altri sviluppatori di Kubuntu siamo responsabili di Kubuntu, per favore tenetelo a mente quando vi lamentate o ci elogiate.

Grazie.

Scritto il 17 Marzo 2010 da apachelogger



Link:


Post originale di apachelogger sul suo blog (in inglese)
Posta un commento
Related Posts Plugin for WordPress, Blogger...