Poul-Henning Kamp raconte comment une querelle sur une liste de diffusion FreeBSD a popularisé le terme « bikeshed » dans l’informatique en 1999. Il était alors devenu une figure de référence informelle du projet et envoyait des messages sur les problèmes qu’il jugeait sérieux. Un échange particulièrement tendu lui a demandé plusieurs jours de réflexion avant de pouvoir en dégager un mécanisme général.

Le débat portait sur l’ajout des fractions de seconde à sleep(1). La modification aurait conservé le comportement existant tout en apportant la compatibilité avec OpenBSD et NetBSD. Une longue suite d’objections et de propositions s’est pourtant développée autour de ce changement limité. Kamp rend hommage à l’auteur initial, qui a persisté jusqu’à l’intégration de la modification dans l’arbre FreeBSD.

Kamp rattache ce mécanisme au livre « Parkinson’s Law » de C. Northcote Parkinson, publié au début des années 1960. Parkinson y oppose une centrale atomique complexe à un simple abri à vélos. La plupart des gens ont du mal à évaluer le grand projet et supposent que des spécialistes en ont vérifié les détails. Un petit abri paraît accessible à tous, ce qui favorise les préférences personnelles et les démonstrations d’implication. Kamp parle de « setting your fingerprint », une expression danoise qui renvoie à la volonté de laisser une marque visible et de défendre son prestige. Il cite aussi les récits de Richard P. Feynman sur Los Alamos comme exemple voisin.

Le message a d’abord fait de « bikeshed » un terme de la culture FreeBSD, comparable à un carton jaune pour une discussion qui absorbe trop d’énergie. Des committers FreeBSD l’ont ensuite diffusé ailleurs. Ben et Brian, du projet Subversion, ont repris l’idée dans leur conférence « How Open Source Projects Survive Poisonous People » et ont publié le message sur bikeshed.org. Pour Kamp, cette intervention marque un moment important de l’histoire du FOSS, car elle proposait des méthodes concrètes pour gérer les projets ouverts. Avant cela, la métaphore dominante était celle de « l’élevage de chats ».

D’anciens collègues de Kamp au sein de core.0 lui ont dit que la conférence décrivait les difficultés qu’ils avaient déjà rencontrées pendant la décennie précédente. Ils n’avaient jamais tenté de transmettre cette expérience de gestion à d’autres projets. Kamp estime que Ben et Brian ont rendu la dimension humaine de la gestion FOSS légitime et discutable publiquement. Une photo de BSDCan2007 montre Kamp et Warner portant les premiers maillots anti-bikeshed de BSDCon’03, aux côtés de Ben et Brian.

Pour BSDCon’03, Kamp avait conçu ces maillots pour féliciter l’équipe du projet. Un atelier de broderie voisin les a fabriqués. Il s’est rendu compte après coup que les abris auraient pu avoir des couleurs différentes sur chaque maillot sans coût supplémentaire. Les maillots ont rencontré un grand succès et sont restés disponibles chez CafePress et dans d’autres boutiques en ligne.

Kamp présente aussi le principe du « Goodbye & Good Luck » comme un multiplicateur de force. Les projets open source cherchent généralement à rester unis quand des désaccords stratégiques apparaissent. Selon lui, une séparation peut donner aux deux groupes de meilleures conditions pour avancer. Il cite OpenBSD, né après le départ de Theo de Raadt de NetBSD, puis à l’origine de logiciels de sécurité majeurs comme OpenSSH. Il espérait un effet comparable après l’exclusion de Matt Dillon de FreeBSD. À cette époque, il jugeait les résultats de DragonFlyBSD décevants.

Une fonction Google affichant « People also search for » a ensuite produit, autour du nom de Kamp, une suggestion de dîner insolite : « I blame… The bikshed email ». Kamp republie ensuite son message original. Poul-Henning Kamp l’a envoyé depuis phk@freebsd.org le Sat, 02 Oct 1999 16:14:10 +0200. Son Message-ID était <18238.938873650@critter.freebsd.dk>. Le message avait été envoyé en copie cachée aux listes des committers et des hackers.

Dans cette mail, Kamp précise que le débat sur sleep(1) durait déjà depuis de nombreux jours. Il s’en sert pour montrer pourquoi une petite modification soigneusement préparée peut déclencher une forte mobilisation. Son explication reprend l’observation de Parkinson selon laquelle des projets d’infrastructure valant des milliards passent plus facilement qu’un débat sur les détails d’un abri à vélos. Le petit objet permet à chacun d’afficher son jugement, sa contribution et son statut.

Kamp traite aussi du bruit des listes de diffusion. Il avait quitté la liste hackers plusieurs années auparavant parce qu’il ne pouvait plus suivre le volume de messages. Il avait ensuite quitté d’autres listes pour la même raison. Des filtres envoyaient vers /dev/null les messages de personnes comme Brett Glass, ainsi que les commits concernant des documents dans des langages qu’il ne connaissait pas et les commits liés aux ports. Le trafic restant dépassait encore ses capacités.

Il formule deux souhaits généraux : réduire le bruit inutile et laisser les contributeurs réaliser de petites tâches sans intervention hostile. Dans ses fenêtres d’alerte imaginaires, le logiciel de messagerie rappellerait qu’un message peut toucher plusieurs centaines de milliers de personnes. Chacune pourrait lui consacrer au moins dix secondes, pour un total d’au moins deux semaines de travail, et certains destinataires devraient payer le téléchargement. D’autres alertes indiqueraient que l’auteur n’a pas lu tout le fil ou tout le message. Un délai d’une heure empêcherait une réponse immédiate. Une dernière alerte comparerait la vitesse de frappe N.NN cps à une valeur de référence A.AA cps et signalerait le risque d’une réponse confuse ou émotionnelle.

Kamp attribue une partie de l’hostilité à un conservatisme réactionnaire chez certains anciens contributeurs. Il ne propose pas de remède technique. Il conseille de ne pas alimenter les voix perturbatrices et d’aider les nouveaux venus à résister à cette culture de liste de diffusion. Il présente ses excuses aux personnes découragées par cet environnement et souhaite à FreeBSD une base de contributeurs plus large et plus accueillante.