Une grande partie de la matière première de ce livre provient de cinq ans d'expérience à travailler sur le projet Subversion (http://subversion.tigris.org/). Subversion est un programme Open Source de gestion de versions, écrit à partir de rien, et créé pour remplacer CVS comme gestionnaire de versions de référence de la communauté Open Source. Le projet fut lancé, au début des années 2000, par mon employeur CollabNet (http://www.collab.net/), lequel comprit, heureusement dès le départ, comment le faire fonctionner de manière collective et répartie. De nombreux développeurs bénévoles y adhérèrent très tôt. Aujourd'hui, le projet en compte une cinquantaine dont peu sont employés par CollabNet.
De bien des manières, Subversion est un exemple classique de projet Open Source et je m'en suis finalement inspiré plus que je ne le pensais au début, en partie parce que c'était plus pratique. Chaque fois que j'avais besoin d'un exemple pour illustrer un phénomène particulier, c'est une expérience issue de Subversion qui me venait à l'esprit. Mais aussi pour une question de vérification : quoiqu'engagé, à divers degrés, dans d'autres projets de logiciels libres et malgré mes entretiens avec des amis et connaissances impliqués dans bien d'autres encore, on réalise rapidement en écrivant en vue d'une publication que tous les faits doivent être vérifiés. Je ne voulais pas faire de déclarations à propos d'évènements se produisant dans d'autres projets en me basant simplement sur ce que je pouvais lire dans les archives de leur liste de diffusion publique. Si quelqu'un le faisait avec Subversion, je m'en rends bien compte, il se tromperait la moitié du temps. Donc quand je m'inspire ou que je prends exemple sur d'autres projets avec lesquels je n'ai pas eu d'expérience directe, j'ai toujours essayé de vérifier mes informations auprès de quelqu'un d'impliqué, quelqu'un en qui je pouvais faire confiance pour qu'il m'explique ce qui s'est vraiment passé.
J'ai travaillé sur Subversion pendant les cinq dernières années, mais je suis impliqué dans le logiciel libre depuis douze ans. Voici d'autres projets ayant influencés ce livre :
Le projet d'éditeur de texte GNU Emacs de la Free Software Foundation, pour lequel je maintiens quelques paquets.
Concurrent Versions System (CVS), sur lequel j'ai beaucoup travaillé en 1994–1995 avec Jim Blandy mais auquel je participe seulement par intermittence depuis.
L'ensemble des projets Open Source connus sous le nom d'Apache Software Foundation et plus spécialement l'Apache Portable Runtime (APR) et l'Apache HTTP Server.
OpenOffice.org, la base de données de Berkeley de Sleepycat et la base de données MySQL: je n'ai pas été personnellement impliqué dans ces projets mais je les ai observés et, dans certains cas, j'ai pu parler avec des personnes en faisant partie.
Le GNU Debugger (GDB) (idem).
Le projet Debian (idem).
Évidemment, cette liste n'est pas exhaustive. Comme la plupart des programmeurs Open Source, je garde un œil sur de nombreux projets différents, juste pour avoir une idée générale de ce qui se passe. Je ne vais pas tous les mentionner ici, mais certains sont cités dans le livre quand je l'ai jugé approprié.