Buona parte del materiale grezzo che ha dato vita a questo libro, proviene da cinque anni di lavoro al progetto Subversion (http://subversion.tigris.org/). Subversion è un sistema open source per il versionamento di un insieme di cartelle e documenti, scritto da zero, al fine di sostituire CVS come standard de facto tra i prodotti della categoria, nella comunità degli sviluppatori open source. Il progetto fu avviato dal mio datore di lavoro, CollabNet (http://www.collab.net/), all'inizio del 2000. Grazie al cielo CollabNet capì sin dall'inizio come portarlo avanti in maniera veramente collaborativa, come l'unione di tanti contributi distribuiti. Si presentarono molti volontari sin da subito; oggi siamo arrivati a circa 50 sviluppatori attivi sul progetto, dei quali solo una minoranza sono impiegati di CollabNet.
Subversion è per molti versi un classico esempio di un progetto open source, e ho finito per impegnarmi su di esso più di quanto originariamente avessi previsto. In parte è stata una questione di praticità: ogni volta che avevo bisogno di un esempio di una situazione particolare, potevo richiamarne di solito uno relativo a Subversion dalla memoria. Ma è stata anche una questione di verifica. Benché io sia impegnato in altri progetti di software libero a vari livelli, e parli con amici e conoscenti coinvolti in molti altri, ho scoperto ben presto che scrivendo articoli era necessario accompagnare la teoria con la pratica. Non volevo fare affermazioni su eventi di altri progetti basandomi solo su ciò che mi era capitato di leggere nelle liste di discussione. Con Subversion, ad esempio, un approccio del genere fornirebbe soltanto la metà delle risposte giuste. Così quando raccolgo ispirazioni o esempi su un progetto del quale non ho una particolare esperienza diretta, ho imparato a parlare prima con qualcuno che possa chiarirmi i dubbi, per acquisire confidenza sull'argomento ed essere in grado di spiegare come vanno le cose.
Subversion è stato il mio lavoro per gli ultimi 5 anni, ma mi occupo di software libero da 12. Tra gli altri progetti che mi hanno ispirato per la stesura di questo libro, mi piace ricordare:
L'editor di testo GNU Emacs, ed il relativo progetto della Free Software Foundation, all'interno del quale ho gestito alcuni piccoli pacchetti.
Il Concurrent Versions System (CVS), al quale ho lavorato intensamente nel 1994 – 1995 con Jim Blandy, continuando ad essere sporadicamente coinvolto da allora.
La collezione di progetti open source nota come Apache Software Foundation, in particolare l'Ambiente Portabile di Apache (APR) ed il server HTTP Apache.
OpenOffice.org, il sistema di basi di dati della Berkeley, il sistema MySQL; non sono stato coinvolto in questi progetti personalmente, ma li ho osservati e, in alcuni casi, ho avuto l'occasione di parlare direttamente con gli sviluppatori.
Il debugger GNU (GDB) (in generale).
Il progetto Debian (in generale).
Quest'elenco non è certo completo. Un po' come la maggior parte dei programmatori open source, mantengo dei legami "deboli" con molti progetti differenti,giusto per avere un senso dello stato generale delle cose. Di sicuro non potrei elencarli qui tutti, ma non trascurerò di citarli ove opportuno, durante la trattazione.