SCENARI DI CRESCITA
LICI: Debian è un progetto con una storia importante. In che paesi Debian è più diffusa ed utlizzata? Con i cambiamenti sociali avvenuti in questi ultimi anni nei vari scenari mondiali, hai notato una crescita del progetto in qualche area particolare?
Stefano Zacchiroli: Per un progetto software libero è difficile valutare con precisione il numero dei suoi utenti. Gli utenti sono liberi di, se non addirittura incoraggiati ad!, aiutarsi reciprocamente passandosi copie del software scaricato senza necessita di registrarsi, notificando i vendor del fatto che usano tale software. Debian, come molte altre distribuzioni, usa varie stime per capire dove si trovano i suoi utenti: correlazioni con la base di membri del progetto, volume del traffico su mailing list in lingua, gruppi di utenti, etc. In base a tali stime siamo stabilmente insediati in Europa e Nord America, in crescita stabile in Sud America, Giappone ed Oceania, più carenti in Cina ed India — dove sembra che molti progetti software libero fatichino a trovare contributori volontari.
LICI: Debian sta avviando un profondo processo di mutazione della gestione della multiarchitettura. Questo tipo di progetto è in qualche modo legato alla crescita anche del mondo mobile? Ci sono progetti, idee o esperienze nuove in questo senso?
Stefano Zacchiroli: Una delle caratteristiche di punta di Debian è, da sempre, il supporto per un vasto numero di architetture. Debian Squeeze rilasciata in Febbraio ne supporta una dozzina, dai dispositivi embedded fino a super-computer, con 2 kernel diversi (Linux e FreeBSD).
Per le architetture di interesse del settore mobile, siamo stati tra i primi a supportare ARM, l’architettura che oggi va per la maggiore su smartphone e tablet; abbiamo continuato a crederci anni fa quando molti davano ARM per morta. Stiamo lavorando per Wheezy ad un port “armhf” (ARM Hard Float) per, che su tablet di alta gamma dà speed-up considerevoli. Continuiamo inoltre a credere nelle architetture MIPS, snobbate da molti, ma sulle quali Android è stato portato di recente. Il
futuro di Debian sulle architetture tipiche del mondo mobile non potrebbe quindi essere più roseo!
Multi-arch sarà un grosso cambiamento in Wheezy e permetterà agli utenti di utilizzare pacchetti di architetture diverse sulla stessa macchina evitando ricompilazioni ad-hoc per ogni possibile combinazione di architetture. Il caso d’uso più comune resta però quello desktop, per utilizzare binari a 32 o 64 bit sulla stessa macchina, e su alcune architetture per grossi server tipicamente utilizzati per cloud privati. C’è una utilità importante di multi-arch per le architetture embedded, ma sarà principalmente per gli sviluppatori, in quanto multi-arch semplificherà la cross-compilation.
SAAS E FUTURO DEL SOFTWARE LIBERO
LICI: Con la diffusione del SAAS sta crescendo l’utenza che si affida, per lo storage dei dati e per la propria quotidianità applicativa, ai grandi data center, utilizzano applicativi on-line.
Come valuti questi cambiamenti? Pensi che impatteranno sulla prossima generazione di sviluppatori e generalmente sulla cultura dell’opensource? In che modo?
Stefano Zacchiroli: SaaS ed il cosiddetto “Cloud” costituiscono in effetti una rivoluzione: stanno spostando la computazione lontano dagli utenti verso computerfarm che non sono sotto il loro controllo. Sfortunatamente, è una rivoluzione negativa che induce due enormi problemi di interesse per il Software Libero. Il primo problema è sempre più spesso agli onori delle cronache: la privacy ed il controllo sui dati che, teoricamente, appartengono agli utenti, ma che di fatto appartengono ai SaaS provider. Il secondo problema è che alcune delle difese che abbiamo usato finora per promuovere il Software Libero hanno perso di efficacia:
licenze come la GPL non garantiscono agli utenti di software “in the cloud” la libertà di eseguirlo, studiarlo, modificarlo e redistribuirlo.
Licenze più recenti come la AGPL offrono migliori garanzie, ma sono ancora troppo poco diffuse e, forse, sono arrivate troppo tardi. In questo contesto, tutte le distribuzioni rischiano di perdere di rilevanza per gli utenti finali, seppure restando di grande interesse per i SaaS service provider che le usano giornalmente.
Riappropriarci di computazioni, dati e dei nostri diritti su di essi è la principale sfida della nostra epoca digitale. Non capire questo passaggio chiave rischia di portarci a vincere la battaglia storica di avere GNU/Linux su ogni desktop e cellulare, in un mondo nel quale tutte le computazioni “interessante” per gli utenti avvengono altrove. Ci sono strategie promettenti per vincere questa nuova battaglia, una su tutte è l’uso di economicissimi plug server in ogni casa, uniti tra loro da mesh network, con software distribuiti e federati, a partire da applicazioni quali i social network.
Uno dei progetti più avanzati in tal senso è quello proposto dalla FreedomBox foundation. Debian è un’ottima scelta di distribuzione per plug server e sta attivamente collaborando con la fondazione per realizzare questa visione.
LICI: Nella giungla di licenze software, Debian seleziona con attenzione quelle che considerate libere (rif DFSG), in particolare GPL e BSD.
Guardando la problematica dagli occhi degli sviluppatori, cosa ne pensi dell’uso della CLA (Contributor License Agreement), ormai obbligatorio per molti progetti importanti della galassia open source?
Stefano Zacchiroli: È un discorso abbastanza complesso, che purtroppo suscita spesso reazioni manichee.
Partiamo dal “folklore” delle comunità Software Libero storico. Secondo tale folklore, tutti gli interessati ad un certo software (Libero) hanno gli stessi diritti e gli stessi doveri. Esiste una licenza — spesso copyleft come le varie GPL, oppure più liberale come le BSD — associata ad ogni progetto. Chi contribuisce rilascia le sue
contribuzioni al progetto sotto quella licenza (inbound); chi vuole utilizzare quel software lo fa sotto quella stessa licenza (outbound). Questo modello tradizionale è stato definito recentemente “inbound=outbound”.
I Copyright Assignment Agreement (CAA), così come molti dei CLA che tu citi, cambiano questa simmetria. Con tali strumenti giuridici si stabilisce che qualcuno (e.g. un’azienda) degli attori interessati ad un certo software è “più uguale” degli altri e potrà in futuro compiere azioni, come ad esempio cambiare la licenza dell’intero progetto software, che ad altri attori (e.g. un membro della comunità) sono precluse. Questa differenza è chiaramente ingiusta e deve essere motivata.
La motivazione “serve per potere passare a licenze future che meglio difendono il Software Libero” non tiene, almeno per le licenze copyleft versionate. Tutte le licenze della famiglia GPL ad esempio offrono la possibilità di scegliere “version X or above”; versioni recenti permettono persino di delegare la scelta di se passare o meno ad una nuova versione ad entità terze parti. Non servono quindi CAA/CLA per fare ciò.
La motivazione “serve per license enforcement” è più ragionevole e la accetto. Personalmente però, ritengo accettabile firmare CAA/CLA verso associazioni non-profit con una chiara governance e molto meno firmare CAA/CLA verso un’azienda for-profit. Troppo spesso negli ultimi tempi abbiamo visto aziende un tempo “amiche” del Software Libero cambiare idea repentinamente, magari in seguito ad acquisizioni. Con queste tipo di precisazioni in mente, ogni contributore di codice può fare la sua scelta.
LICI: Ad una startup che vuole far crescere un nuovo progetto, magari vendendo il servizio in SAAS, restando fedele alla filosofia open, che licenza consiglieresti di usare?
Stefano Zacchiroli: Credo che si possa e si deva fare business con il Software Libero e credo che tale scopo si possa perseguire anche nel contesto di SaaS. Una tale startup dovrebbe agire secondo il motto “libertà per i nostri utenti”: libertà di controllare i propri dati e libertà di spostarsi su servizi concorrenti. Per molti, queste libertà saranno un valido motivo per *restare* su un servizio SaaS che offre tali libertà.
In termini di licenza, nessun dubbio: AGPL. È la licenza che ha, oggi, nel mondo di SaaS e del cloud, la stessa importanza che aveva la licenza GPL 20 anni fa, nel mondo dei personal computer.
RELAZIONI INDUSTRIALI
LICI: Quali valuti siano le relazioni più importanti che mantiene il gruppo Debian e che contribuiscono maggiormente alla sua crescita?
Stefano Zacchiroli: Abbiamo molti partner industriali nel nostro “Partners Program”, senza averne alcuno di “speciale”. Non esiste una, o poche aziende, che possono considerarsi le aziende di riferimento di Debian. Tutte le decisioni del progetto vengono prese dai responsabili di pacchetti e/o altre parti del progetto, e tali responsabili vengono scelti spontaneamente in base alla qualità ed alla quantità del lavoro svolto.
Ciò nondimeno, ci sono aziende che riconoscono di avere un interesse strategico nel contribuire a Debian e, a tal fine, decidono di aiutare il progetto in vari modi. Ad esempio donando denaro che usiamo per finanziare i nostri eventi, quali la conferenza annuale DebConf [1] ed il nostro programma di sprint [2]. Altri modi di aiutarci per le aziende sono quelli di donarci hardware (solitamente server di alta gamma), offrire hosting o altri servizi sempre relativi all’hardware, o ancora
prendersi carico di mantenere all’interno della distribuzione Debian pacchetti specifici (caso abbastanza raro).
[1] http://www.debconf.org
[2] http://wiki.debian.org/Sprints
LICI: Ormai sono un pò di anni che Canonical con il progetto Ubuntu ha fatto la sua entrata in scena. Oggi Canonical è tra gli sponsor della DebConf, quindi i rapporti sembrano buoni. Ad oggi, che tipo di relazione c’è tra i due progetti? Esistono e che dimensioni hanno i reciproci contributi?
Stefano Zacchiroli: Ho parlato lungamente di questo aspetto, recentemente, al recente Ubuntu Developer Summit 2011 [3]. In quell’occasione ho fatto il punto di circa un anno e mezzo di lavoro, sia dal lato Debian che dal lato Canonical, nel migliorare le relazioni tra Debian e Ubuntu che qualche anno fa non erano certamente rosee.
[3] http://upsilon.cc/~zack/talks/2011/20111031-uds.pdf
Oggi le relazioni tra Debian e Ubuntu hanno confini abbastanza chiari. Debian è la base su cui Ubuntu e costruita, circa i 3/4 dell’archivio Ubuntu (75%) sono costituiti da pacchetti Debian semplicemente ricompilati, ed un altro 15% circa sono pacchetti Debian modificati e ricompilati.
Ognuna delle due distribuzioni ha un ruolo ed una missione importante. La visione che abbiamo cercato di spingere è quella di un ecosistema di distribuzione del software libero fluido, nel quale diversi vendor basano il proprio lavoro su quello degli altri. Pensiamo che ogni vendor debba, oltre a dare il proprio contributo, impegnarsi a farlo fluire verso il proprio upstream. Solo in questo modo si massimizza la ricaduta delle proprie migliorie, si raggiunge la più ampia base di utenti
possibili e, in fondo, si è dei buoni cittadini del Software Libero.
Oggi una quantità importante di lavoro fatto in Ubuntu ritorna in Debian, ed è una quantità in forte aumento rispetto a pochi anni fa. Penso sia un effetto, tra le altre cose, anche del fatto che abbiamo creato canali di comunicazioni tra Debian e le sue distribuzioni derivati (come il Derivatives Front Desk [4]), nonché attivato altre
iniziative per aiutare le distribuzioni derivate da Debian (ne esistono circa 130) a contribuire il loro lavoro in Debian stessa.
[4] http://wiki.debian.org/DerivativesFrontDesk
Oltre a mantenere questo standard in futuro, mi piacerebbe vedere maggiori sforzi per facilitare l’arrivo di tecnologie native di distribuzioni basate su Debian, in Debian stessa. Ce ne sono molte di tali tecnologie, ma faticano a “risalire il fiume” verso upstream. Capisco la naturale necessità di differenziarsi delle derivate e di
costruirsi un solo mercato, ma più sapremo spingere tali tecnologie upstream, più ne garantiremo il successo sul lungo termine.
LICI: Infine, oltre alle donazioni (http://www.debian.org/donations), che invitiamo tutti i lettori a fare, qual’è la cosa di cui piu’ avete bisogno in questo momento per far crescere il progetto?
Stefano Zacchiroli:di nuovi membri del progetto , come in tutti i progetti di volontari.
<https://nm.debian.org>
<http://wiki.debian.org/HelpDebian>.
Stefano Zacchiroli anche su identi.ca