
Qualche settimana fa’ e’ stata approvata la mia richiesta per un account git sui repository del progetto Gnome, mossa dopo l’invito di Philip Van Hoof sulla mailing list di Tracker. Ne ho presto approfittato per caricare su git.gnome.org il codice di libgrss, inizialmente sviluppata su BarberaWare ma ora dipendenza di Tracker e, se e quando avro’ modo di avanzare richiesta di inclusione, modulo ufficiale di una delle prossime versioni del desktop environment.
Un paio di mail ed un paio di commit mi hanno permesso di entrare a far parte di un team ben piu’ grande di quelli cui sono stato sinora abituato, e ad un livello ben piu’ alto, di vedere il mio proprio codice girare su milioni di PC sparsi sul globo terracqueo, di oltrepassare la sottile linea che separa chi il freesoftware lo considera un passatempo da chi lo considera un obiettivo.
Cosa implica cio’?
Dal punto di vista prettamente strutturale, una sequenza di complicazioni: rigide guidelines da seguire per la formattazione del codice, la responsabilita’ di mantenere sempre sul repository qualcosa di funzionale e quanto piu’ possibile esente da bugs, il dovere di provvedere ricca documentazione di ogni funzione destinata ad essere usata da altri, l’impegno a rispettare determinate deadlines e determinati tempi di consegna per rientrare nel ciclo di sviluppo del progetto. Questa posizione mi aiuta a ricordare il fatto che il “software libero” sara’ pure “libero”, ma e’ anche “software”, ovvero un prodotto manufatto che richiede una certa precisione ed il rispetto di regole di stampo ingegneristico: bellissimo il fatto di poter condividere il sorgente, ma se non fa quello che deve esso e’ totalmente inutile e le prediche sulla “liberta’” diventano esercizi di retorica fini a se’ stessi.
Dal punto di vista sociale, il progresso e’ notevole: sorvolando sul fatto di potersela inopportunamente “tirare” con gli amici, e sulla soddisfazione di aggiungere la dicitura “Developer Gnome” sul curriculum (che ora come ora risulta essere un documento particolarmente utile…), c’e’ da considerare il credito accumulato nell’economia meritocratica in vigore nel mondo freesoftware. Pubblicare il proprio codice sui repository Gnome garantisce che esso venga visto ed usato da molta piu’ gente, e nuove opportunita’ si aprono per implementare e far implementare architetture complesse. Poco fa’ ho inviato richiesta per vedere il mio blog (non questo, ma quello piu’ tecnico) in Planet Gnome Italia, e dunque aumentare di molto la visibilita’ dei miei contenuti e delle mie idee. Un po’ alla volta si ottiene familiarita’ coi processi e con le persone, e piu’ facile viene apportare e far apportare modifiche utili ai propri scopi, sia all’interno dei progetti su cui si lavora direttamente che su altri affini.
Il mio attuale status (con i benefici sopra elencati) non deriva da eccelse ed uniche qualita’ programmatorie, ma semplicemente da un minimo impegno e da uno sforzo marginale ma oculatamente indirizzato. Come si puo’ constatare dal codice di tracker-miner-rss, che appunto e’ il componente per il quale sono stato chiamato a far parte del team Tracker, l’opera svolta non brilla per complessita’ o ingegnosita’: ho prelevato il codice che mi serviva da Liferea, usando la libraria apposita l’ho integrato con il programma principale, e basta. Un qualsiasi mediocre programmatore con qualche esperienza su piattaforma Linux avrebbe potuto fare altrettanto, magari pure in meno tempo. Cio’ vuol dire che superare la sottile linea oggetto di questo post non e’ questione di capacita’ o fortuna, ma esclusivamente di volonta’. La volonta’ di fare qualcosa di mirato e specifico per il miglioramento.
Ben venga il progettino su cui lavorare alla domenica (io stesso ne ho una lista infinita, e non ci lavoro solo alla domenica), ma molti di piu’ dovrebbero avere la fermezza di voler aggregarsi ad un progetto piu’ grande ed affermato, magari di fare il sacrificio di abituarsi alle guidelines e alle deadlines, e meglio sfruttare le risorse intellettuali di cui dispongono per dirigere la crescita verso una direzione univoca e comune, anziche’ frammentare gli sforzi in mille direzioni diverse.
Il Bugzilla di Gnome pullula di tickets aperti, molti dei quali molto facilmente risolvibili eppure lasciati li’ a marcire da anni a causa della legittima mancanza di tempo dei maintainers. Non dubito che anche KDE, OpenOffice, o qualsiasi altro progetto di grosse dimensioni siano nelle stesse condizioni. Val la pena farci un giretto, aprire qualche pagina a caso, dare uno sguardo al codice, e magari confezionare una patch. E poi un’altra. E un’altra. E chiedere un account sul repository, in modo da potersi committare le altre da soli. Ed oltrepassare la sottile linea che separa chi blatera su quanto sia bello il software libero da chi il software libero lo fa.
