Entretien avec Raphaël Hertzog, développeur Debian

Jdh : Bonjour Raphaël et merci de participer à cet entretien pour le Journal du hacker. Pour nos lecteurs qui ne te connaissent pas, peux-tu te présenter rapidement ?

Raphaël : Je m'appelle Raphaël Hertzog, j'ai 36 ans, je suis marié et j'ai deux garçons (de 2 et 5 ans). Je vis près de Saint-Étienne (à Sorbiers) et j'y travaille aussi puisque je gère ma société (Freexian SARL) depuis chez moi et que l'ensemble de mes missions s'effectuent en télé-travail. Comme je suis très sédentaire, je pratique le badminton à un bon niveau pour entretenir ma forme physique.

Je suis développeur Debian depuis 1997 (ça fait 18 ans, soit la moitié de ma vie !) et j'ai déjà touché à plein de choses au sein du projet... des paquets importants (comme debian-cd, developers-reference, dpkg, python-django), l'administration de certains services (alioth.debian.org), la présidence de Debian France, l'organisation de Debian LTS, …

Mais ce qui m'attire le plus c'est de travailler sur l'infrastructure qui permet à tous les contributeurs d'être plus efficace et de faire un travail de meilleure qualité. Historiquement c'est l'équipe d'Assurance Qualité qui a cristallisé ce genre de projets et c'est au sein de cette équipe que j'ai créé le Package Tracking System et que je maintiens maintenant son successeur, le Debian Package Tracker (une réécriture en Django initiée lors d'un Google Summer of Code).

Accessoirement, je suis également l'auteur du Cahier de l'Admin Debian qui a donné naissance au Debian Administrator's Handbook (Roland Mas est devenu co-auteur avec moi au fil des éditions).

Jdh : C'est en effet l'infrastructure Debian qui assure à tous les contributeurs de ce projet de bonnes bases pour contribuer. Peux-tu nous donner quelques informations sur les efforts entrepris récemment dans ce domaine, les nouveautés déjà disponibles et peut-être celles à venir ?

Raphaël : Ben justement je n'ai pas l'impression qu'on ait fait beaucoup de progrès récemment sur ces thématiques. On peut tout de même citer sources.debian.net qui permet de naviguer facilement dans les sources des paquets Debian, de fournir un lien vers une ligne précise de code, ou vers un patch que Debian applique. Associée à l'extension Firefox/Chromium de Raphaël Geissert, on peut facilement créer un patch sur n'importe quel logiciel empaqueté dans Debian.

Il y a aussi le Debian Maintainer Dashboard qui a été mis en place en s'appuyant sur UDD (Ultimate Debian Database). Mais il fait doublon avec le DDPO (Debian Developer's Package Overview).

Enfin, je citerai volontiers dgit, car l'idée d'avoir une infrastructure centralisée permettant de gérer des paquets Debian simplement avec git est plutôt plaisante. Mais j'ai peur que le projet ne soit voué à l'échec car le projet souffre de limitations importantes : aucun historique n'est disponible sur les paquets, même lorsque le mainteneur utilise déjà git avec le paquet.

En ce qui concerne le futur et n'étant pas devin, je peux simplement donner quelques projets que j'aimerai voir aboutir et sur lesquels je vais sûrement essayer de travailler :

  • Modifier le Package Tracker pour gérer qui est responsable de quoi sur chaque paquet. Il s'agit de remplacer le concept un peu binaire qui veut que soit le paquet a un mainteneur et dans ce cas on suppose qu'il gère tout et que tout va bien, soit le paquet n'a pas de mainteneur et dans ce cas il est abandonné et rien ne va plus.
  • Dans la pratique on a souvent des mainteneurs qui ont besoin du paquet en dépendance d'un paquet qu'ils utilisent et qui vont corriger juste les bogues critiques mais qui laisseraient volontiers le paquet à un mainteneur plus intéressé. Ou alors on a des mainteneurs enregistrés mais qui en fait ne sont plus actifs et le paquet est négligé...

    Et puis on a de plus en plus d'utilisateurs externes qui dépendent de certains paquets dans Debian qui doivent pouvoir les surveiller pour s'assurer qu'ils ne seront pas supprimés dans la prochaine version (ce qui arrive de plus en plus souvent avec la politique de suppression automatique lorsqu'un bogue critique n'est pas corrigé sous 30 jours).

  • Étendre le Package Tracker pour qu'il intègre toutes les fonctionnalités de suivi / coordination qui existent actuellement dans divers services séparés : suivi par contributeur (cf DDPO/DMD déjà cité), suivi par équipe (cf Package Entropy Tracker), coordination de transitions (cf transition trackers de la Release Team)
  • Rationaliser le flux d'informations à destination des mainteneurs. J'avais déjà formalisé les objectifs à atteindre dans le DEP-2 rédigé il y a plus de 4 ans...

Jdh : Tu es au centre de l'initiative Debian LTS, qui fournit un support de longue durée aux différentes versions stables de Debian. Peux-tu nous en dire un peu plus, sur par exemple l'origine du projet, les moyens mis en œuvre, les avancées du projet et ses objectifs ?

Raphaël : Moi j'ai suivi cela de très près et lorsque le projet a été lancé et que quelques propositions d'aides financières ont été émises j'ai immédiatement proposé aux autres contributeurs intéressés par être payés pour travailler sur Squeeze LTS de s'unir derrière une offre unique que l'on pourrait mettre en avant.

C'est ainsi qu'est née l'offre Debian LTS de Freexian. Et à ce jour l'essentiel des contributions à Debian LTS proviennent de contributeurs financés par les sponsors gérés par Freexian. J'ai fait quelques statistiques à ce sujet que j'ai présenté lors de la DebConf (diapos, vidéo).

Personnellement j'estime que c'est un succès, mais un succès modeste tout de même, il nous a fallu plus d'un an pour arriver à financer l'équivalent d'un mi-temps. Quand on sait les moyens financiers des grosses entreprises, on se dit qu'on peut faire bien mieux. Et j'espère effectivement qu'on va réussir à convaincre d'autres entreprises pour pérenniser le projet et se donner des marges de manœuvre que l'on n'a pas encore.

D'ici quelques mois nous allons passer à Debian 7 Wheezy LTS parce que Debian 6 arrivera au terme des 5 ans de support et nous allons essayer d'avoir moins de restrictions en terme de paquets supportés (notamment sur les technologies de virtualisation)... mais il faudra des moyens supplémentaires si l'on ne veut pas que d'autres paquets en pâtissent à terme.

L'objectif de Debian LTS est simple : supporter l'ensemble des paquets Debian pendant 5 ans (sur les architectures où il y a des utilisateurs qui cherchent une version LTS). Mais les moyens d'y arriver sont multiples, d'un côté il faut travailler au jour le jour en corrigeant les CVE sur la version courante, et de l'autre il serait bon de faire un travail en amont pour s'assurer que les logiciels intégrés à Debian 9 Stretch puissent être maintenus pendant 5 ans supplémentaires ! Mon objectif est bien d'arriver à une situation où nous avons assez de ressources pour pouvoir avoir un impact sur les versions en développement et pas seulement sur la version LTS actuelle.

Au delà, j'aimerai que LTS soit une porte d'entrée pour que les entreprises prennent conscience de l'importance de leur implication et qu'ensuite elles contribuent non seulement à LTS mais aussi à d'autres projets Debian qui leur seront bénéfiques à plus long terme.

Jdh : Passons maintenant à un sujet qui passionne les utilisateurs du Logiciel Libre : les rapports Debian-Ubuntu. Toi qui es au cœur du projet Debian depuis des années, peux-tu nous retracer rapidement l'évolution de ces rapports et l'état actuel des interactions entre les deux projets ?

Raphaël : Je ne crois pas que cela soit encore un sujet si passionnant. Il y a eu des tensions au début lorsque Canonical avait embauché un grand nombre de développeurs Debian et qu'ils n'avaient pas les moyens de contribuer en retour à Debian. De nos jours, la communauté Ubuntu est plus large que juste les employés Canonical et les relations sont bien meilleures. De nombreux contributeurs Debian sont aussi des (anciens) contributeurs Ubuntu.

Le plus gros regret que j'ai c'est que Canonical n'ait jamais fait l'effort d'essayer d'intégrer ses développements les plus importants dans Debian, comme Unity par exemple.

Jdh : Tu es connu du grand public pour ton livre "The Debian Administrator’s Handbook" en anglais ou "Cahier de l'admin Debian" en français qu'on aime beaucoup. On trouve également géniales les initiatives que tu as lancées pour libérer les différentes versions. Peux-tu nous parler dans un premier temps de ces initiatives de libération, puis dans un second temps du processus de production du livre en lui-même tel qu'il est aujourd'hui (auto-édition, revue "communautaire", etc) ?

Raphaël : Le livre français avait été écrit pour le compte des éditions Eyrolles et c'est donc eux qui contrôlaient les droits sur le livre. N'ayant jamais réussi à en faire publier une traduction anglaise, Eyrolles a accepté de nous rendre (à moi et Roland) les droits sur une éventuelle traduction anglaise. La première campagne de financement visait simplement à nous donner les moyens de faire ce travail de traduction, avec un palier bonus où la traduction était en plus publiée sous licence libre.

Une fois cet objectif atteint, il restait le livre français sous licence propriétaire alors que le livre anglais était libre. Il fallait corriger cela et cela nécessitait de renégocier avec Eyrolles et de les convaincre que libérer le livre français était la bonne solution. On a profité d'une nouvelle édition à venir pour imaginer un plan gagnant-gagnant : une nouvelle campagne de libération permettait à la fois à Eyrolles d'écouler son stock de livre de l'édition précédente, de financer les frais d'édition de la prochaine édition et de financer une partie du travail des auteurs. Ainsi même si le livre ne se vendait pas (parce qu'il était libre), Eyrolles ne perdrait pas (trop) d'argent.

Au final, le livre français continue de se vendre, même si les chiffres sont plutôt faibles (moins d'un millier d'exemplaires par an).

D'un point de vue plus technique, le livre est rédigé en DocBook XML, il est maintenu dans un dépôt Git comme tout projet libre qui se respecte, les traductions sont gérées avec Publican qui génère des fichiers .po (et les traducteurs mal à l'aise avec les fichiers .po peuvent utiliser Weblate). Le PDF du livre papier est généré avec dblatex et une feuille de style LaTeX personnalisée. Il est imprimé à la demande par Lulu.com pour la version anglaise tandis que la version française est toujours éditée par Eyrolles.

Il se trouve justement que je passe pas mal de temps sur mon livre ces derniers temps car nous sommes en train de finaliser la version Jessie (Debian 8) du livre. J'invite ceux qui veulent être prévenus de la sortie de mon livre à s'abonner à ma newsletter (soit en anglais, soit en français). Et vous pouvez aussi déjà en profiter en ligne bien que la traduction ne soit pas terminée... et nous signaler les éventuelles coquilles avant sa publication !

- Entretien réalisé par Carl Chenet pour le Journal du hacker.

Vus : 1142
Publié par Journal du hacker : 419