Intervista a Stefano Zacchiroli, nuovo Debian Project Leader


Federico Biancuzzi: chi sei e cosa fai nella vita?
Stefano Zacchiroli:
ho 31 anni, vivo a Parigi e sono ricercatore in informatica; in particolare vengo da un background di informatica teorica che nel mio gruppo di ricerca applichiamo allo studio di grossi repository di componenti software (quali, guarda caso, le distribuzioni FOSS).
FB: di cosa ti sei occupato e ti occupi attualmente nel progetto Debian?
SZ: sono sviluppatore Debian dal 2001, in tutti questi anni mi sono occupato di temi diversi. Storicamente, ho iniziato a lavorare sui pacchetti relativi al linguaggio di programmazione OCaml, fino a creare e guidare il team che, ad oggi, gestisce più di 300 pacchetti con dipendenze molto intricate tra loro. Poi mi sono occupato di mantenere molti altri pacchetti relativi a software matematici, tecnologie XML, l’editor Vim, la suite per sviluppatori Debian nota come “desvscripts”, etc.
Altre due attività che mi hanno coinvolto ed entusiasmato molto sono la co-manutenzione del Package Tracking System (il portale web orientato agli sviluppatori che contiene tutte le informazioni su pacchetti Debian individuali) e l’iniziativa RCBW (Release Critical Bugs of the Week) nella quale per mesi ho contribuito a risolvere 1 bug Release Critical (che cioè impedisce il rilascio di un pacchetto) al giorno.

FB: quali saranno i tuoi compiti come project leader?
SZ:
i compiti del project leader Debian (DPL) sono enunciati nella costituzione Debian. In breve il DPL si occupa di comunicazione interna ed esterna portando l’opinione Debian ove richiesto; si occupa poi di gestire le risorse di Debian quali il denaro che riceviamo da migliaia di donatori in giro per il mondo; infine si occupa di guidare le discussioni all’interno della comunità degli sviluppatori Debian ed aiuta a risolvere conflitti o altri problemi “comunitari” qualora si presentino.

FB: in quale direzione pensi che si muoverà il progetto Debian nei prossimi anni?
SZ:
le tradizioni Debian di libertà del software, qualità e democrazia interna non cambieranno certo significativamente: in fondo sono i motivi di coesione del progetto! Una direzione che mi piacerebbe il progetto prendesse con maggiore decisione è quella del miglioramento della nostra capacità di comunicare questi nostri valori al mondo del software libero.
Sono valori che ci distinguono da molti concorrenti guidati da compagnie che vogliono e possono imporre le proprie decisioni alla comunità. Da noi ciò non accade: conta solamente il lavoro individuale (siamo una cosiddetta do-ocracy) e la democrazia interna, per le decisioni più spinose.
Comunicando meglio questi nostri valori al mondo renderemmo più merito al lavoro dei nostri volontari e miglioreremmo la nostra capacità di attirare gli sviluppatori che condividono i nostri ideali.

FB: c’è qualche obiettivo che definiresti una priorità?
SZ:
come necessità di Debian a medio termine, c’è appunto quella di “pubblicizzare” maggiormente non tanto la nostra distribuzione, quanto i nostri valori ed il nostro modo di lavorare. Sono molto peculiari e dovrebbero essere il nostro più importante “selling point” nell’attirare nuovi sviluppatori. Possiamo certamente fare meglio nel presentarli al mondo, a partire dalla nostra presenza su Web.
Poi, chiaramente, abbiamo al momento la priorità tecnica di rilasciare Squeeze!

FB: pensi che cambierete il modello di release seguendo quello di Fedora e Ubuntu ogni 6 mesi?
SZ:
non credo proprio. La filosofia di Debian è “we release when it’s ready”, ovvero quando tutti i bug che rendono un pacchetto inutilizzabile o dannoso per l’utente sono stati risolti. Un percorso alternativo che invece sarebbe interessante proporre alla comunità di sviluppatori Debian è quello delle “time-based freeze” nelle quali, con largo anticipo, viene indicata una data di “feature freeze” a seguito della quale il lavoro si concentra solamente sul risolvere tutti i Release Critical bug rimanenti.

FB: non reputi pericolosa questa filosofia del voler “sistemare” un pacchetto nel vostro repository invece di includere la versione “ufficiale” con le correzioni implementate dallo stesso autore? Mi viene in mente il problema con OpenSSL…
SZ:
no, assolutamente no. In primis, se non ci fosse alcun bisogno di modificare software upstream per includerli in una distribuzione, probabilmente avremo solo dei mirror centralizzati e dei sistemi di build, non delle distribuzioni come quelle di oggi. Una distribuzione è molto di più di ciò: è una collezione di software integrati tra di loro, tutti quanti aderenti ad una stessa policy di qualità. Per aderire a tale policy a volte è necessario modificare i software che si distribuiscono (qualcuno dei lettori forse ricorderà qualche famoso desktop environment che fino a qualche anno fa si installava sotto /opt).
Da lì in poi, l’obiettivo è di avere le modifiche accettate nel software upstream, ma la vita non è sempre bella e facile come si spera. A volte gli sviluppatori upstream non rispondono, a volte non concordano con le modifiche, a volte tali modifiche andrebbero generalizzate per essere accettabili ma nessuno ha tempo di farlo, a volte i maintainer dei pacchetti commettono errori e non inviano le modifiche upstream.
La pretesa di infallibilità non è del mondo open source, lo è invece quella di imparare dai propri errori e dalla collaborazione con gli altri. Non a caso ora Debian offre un patch tracker all’indirizzo: http://patch-tracker.debian.org in modo che sia utenti che autori upstream possano verificare in maniera molto semplice quali patch sono applicate ad ogni pacchetto Debian rispetto alla versione originale.

FB: quali sono le ragioni che dovrebbero spingere ad usare Debian?
SZ:
le ragioni che già oggi spingono gli utenti a scegliere Debian sono tecniche ed ideali. Tecniche per la nostra tradizione di eccellenza tecnica e di controllo di qualità che copre tutto l’archivio dei pacchetti Debian, senza distinzioni. Ideali di libertà del software, che permette agli utenti di sapere che tutto ciò che usano è software libero che possono studiare e modificare, senza dovere temere di incappare in una componente software proprietario senza averne l’intenzione.

FB: su quali fronti credi che Debian sia meno competitiva rispetto ad altre distribuzioni?
SZ:
la mia visione del mercato delle distribuzioni non è così agguerrita da ragionare in termini di competitività. Credo che i nostri utenti ci scelgano coscientemente, perché apprezzano i nostri valori ed i nostri processi. A volte tali scelte hanno conseguenze, come la necessità di installare manualmente software non-free, in quanto esso non fa parte di Debian. Questo forse ci rende meno “competitivi” per alcuni tipi di utenti, l’importante è che spieghiamo le nostre ragioni per tali scelte; questo a sua volta ci porterà altri utenti che tali scelte apprezzano e vogliono contribuire a difendere assieme a noi.

FB: quale legame avete con la FSF?
SZ:
formalmente non abbiamo alcun legame con la FSF. Certamente, però, siamo molto vicini in spirito, nella difesa e nella promozione del software libero, cui sicuramente teniamo di più che molte altre distribuzioni commerciali.

FB: credo che tu conosca almeno 3 lingue (italiano, francese e inglese), quale è la tua opinione sulla localizzazione del software per un progetto non sempre considerato user-friendly come Debian?
SZ:
confermo la tua supposizione sulle lingue che conosco. Ciò nonostante, non penso sia accettabile porre come requisito per utilizzare un sistema operativo libero quello di conoscere una lingua specifica (ovviamente sto pensando all’inglese). Sono quindi assolutamente favorevole alla localizzazione del software, nonostante io personalmente usi LC_MESSAGES=en_US.UTF-8. In Debian ce la caviamo abbastanza bene da questo punto di vista ed abbiamo team di internazionalizzazione e localizzazione molto attivi.
Il vero problema, che affligge molte comunità, è che l’inglese resta comunque un requisito per partecipare allo sviluppo. Nonostante ciò sia comprensibile, è un peccato perdere potenziali sviluppatori per questo motivo (penso ad esempio alla grande occasione dell’Asia, dove l’impatto anche culturale delle comunità di software libero potrebbe essere enorme). Purtroppo è un problema complesso, la cui soluzione richiederebbe forza lavoro di traduzione (nei bug report ad esempio) che non sembra al momento essere disponibile, né in Debian, né altrove.

FB: quali opportunità offre la comunità Debian agli sviluppatori?
SZ:
la principale opportunità è quella di partecipare allo sviluppo di una distribuzione veramente libera (dal basso del firmware fino all’alto della infrastruttura della distribuzione stessa) e democratica, dove chiunque può fare la differenza. Sembrano ragionamenti ovvi, di certo lo erano molti anni fa agli albori del software libero; oggi purtroppo non è più così, in un mondo open source dove i big player sono tutti supportati da grosse compagnie che impongono le loro decisioni alle comunità di volontari.
Per me come per molti sviluppatori Debian, questi aspetti sono una motivazione fortissima, credo che possono esserlo per molti altri. Invito quindi i lettori interessati ad avvicinarsi al mondo Debian, per conoscerlo meglio. Si può partecipare in tanti modi, partendo dal “bug triaging” di ciò che si trova nel nostro bug tracking system, passando per diventare membro di un progetto di pacchettizazione su http://alioth.debian.org, fino a diventare Debian Maintainer (http://wiki.debian.org/DebianMaintainer) o Debian Developer (http://wiki.debian.org/DebianDeveloper): ce n’è per tutti i gusti ed in particolare per tutti i gradi di “commitment” che si ha la possibilità di offrire.

Redazione Linux&C.: Molti nella community Open Source considerano Ubuntu “Lamer”, nel senso più classico del Jargon File: colui che prende molto senza dare nulla indietro. In effetti, i contributi a livello di codice nei repository dei progetti più importanti (kernel, X.org, Gnome) sono molto risicati e gli sforzi di Canonical si sono concentrati più su marketing, design d’interfaccia e integrazione. La grande diffusione (dovuta all’”hype”, se vogliamo) ha permesso di avere su Launchpad un numero elevatissimo di bug report, una risorsa inestimabile per gli sviluppatori. Che ne pensi? L’apporto di una distribuzione va misurato solo in base al codice aggiunto ai repository? E com’è il rapporto di Debian con Ubuntu? E come si evolverà nel futuro?
SZ:
una delle forze del software libero è che permette di essere usato sia “bene” che “male”. Chiunque può usare software libero, modificarlo e contribuire a migliorare il codice da cui si è partiti collaborando con i suoi autori. Parimenti, chiunque può usare software libero, modificarlo e creare il suo proprio orticello senza preoccuparsi dei problemi di “merge”.
Nelle comunità puramente volontarie, come Debian, la collaborazione è un mantra basilare e irrinunciabile, per motivi prettamente economici (in senso lato): le forze sono poche e non ci si può permettere di sprecarle in fork, salvo quando si arrivi a dissidi tecnici profondi. Nelle realtà più “corporate”, come Ubuntu/Canonical, ci sono indubbiamente le risorse per potersi permettere di pendere più frequentemente verso fork o quasi-fork, senza preoccuparsi del dispendio di energie, almeno nel breve termine. A mio avviso è questa attitudine che ha attirato in passato antipatie verso Ubuntu da parte di alcuni dei suoi upstream, tra i quali figurano progetti come Debian e GNOME.
Ciò nonostante, non credo sia interamente una scelta deliberata. Per quanto riguarda Debian ad esempio ho avuto recentemente modo di verificare di persona che c’è molta ignoranza in Ubuntu (anche dal lato prettamente community) a proposito di Debian e vice versa. Questa ignoranza consiste nel non sapere cosa un progetto desidera dall’altro e come rapportarsi in termini di forwarding di bug, di patch, di mutua pacchettizazione, etc. Credo che il semplice tentativo di colmare questa ignoranza possa migliorare di molto la collaborazione ed in parte contribuire a ridurre le antipatie reciproche. Per quanto riguarda Debian/Ubuntu abbiamo cominciato a lavorarci recentemente, vedremo se e quanti frutti darà nei prossimi mesi.

LC: Linux sui cellulari. E’ un tema importante ora e lo sarà sempre più nel futuro. Gli attori in campo sono molti e variano molto i gradi di libertà del software prodotto. Come pensi che affronterà, Debian, questa “nuova frontiera”? Avete già un port per ARM, che tra l’altro era la base di Maemo prima della fusione con Moblin, pensi che nasceranno delle altre distribuzioni per cellulari basate su Debian?
SZ:
come spesso accade in Debian, in quanto progetto puramente comunitario, non abbiamo “nuove frontiere” di mercato delle quali preoccuparci.
Debian è per tutti ed è universale, di certo è un’ottima base per sistemi operativi per smartphone e device simili, così come progetti quali Maemo e EmDebian hanno ampiamente dimostrato.
C’è quindi sicuramente ampio margine per la nascita di distribuzioni per cellulari basate su Debian. Dal lato nostro ne saremmo orgogliosi, ma chiederemmo a loro ciò che chiediamo a tutte le distribuzioni derivate: lavorare a stretto contratto con noi e contribuire all’indietro i loro miglioramenti, in modo che il software libero in generale ne benefici.

LC: nel campo dei cellulari (ma non solo), un altro scoglio importante riguarda i firmware “binari” necessari, molto spesso, per il supporto dell’hardware, il compromesso è necessario?
SZ:
ovviamente no, non per noi. Abbiamo di recente rimosso il firmware non-free dal kernel in Debian/main, di certo non vogliamo ri-aggiungerlo per supportare smartphone; vogliamo piuttosto che gli smartphone, come tutti gli altri device, cessino di dipendere da firmware non-free!
Ciò nonostante, l’infrastruttura Debian è abbastanza flessibile da permettere a distribuzioni derivate di aggiungere firmware non-free all’abbisogna.