mercredi 9 juin 2010

C'est le bazaar dans la TuxFamily

La bataille des systèmes de contrôle de versions est terminée et le gagnant est SVN, sans discussion possible. La victoire fut relativement facile d'ailleurs, les adversaires potentiels étant tous parti mener un autre combat : celui des systèmes de contrôle de versions distribués.

Sur ce terrain là, par contre, ça se frite dur et les candidats (et leurs supporters) sont encore nombreux : Git (Linux), Mercurial (Mozilla), Bazaar (Ubuntu) pour les plus connus ; mais aussi d'autres tels que Darcs, Monotone ou encore Fossil (qui semble super cool, soit dit en passant).

Parmi les supporters de chacun de ces différents systèmes, les forges logicielles occupent une place à part : en se basant sur tel ou tel système, elles lient leur destinée à celle du système choisi, du succès de l'un dépend le succès de l'autre.

Du coup, certaines forges préfèrent jouer la carte de la multiplicité : offrir à leur utilisateurs le choix entre plusieurs systèmes et à ce jeu la, la question se résume rapidement à « Qui a la plus grosse ? » ; quelle forge sera capable de fournir le plus de systèmes différents et donc d'attirer le plus d'utilisateurs potentiels ?

TuxFamily (tf.o) n'est pas à proprement parler une forge, mais un hébergeur ; hébergeur proposant des dépôts pour les projets libres, des mailing lists aussi et d'autres choses encore (notamment de l'hébergement Web). La nuance avec une forge est donc relativement faible et donc, pourquoi ne pas jouer aussi ?

La plateforme d'hébergement de tf.o est basée sur VHFFS, un logiciel développé par les admins de tf.o eux mêmes, avec leurs petits bras musclés. VHFFS est écrit en Perl (voui... faut pas oublier que ce sont des admins, Perl est aux admins ce que Fortran est aux physiciens ou Cobol aux banquiers ; une sorte d'objet transitionnel, un langage-doudou) et est pensé de manière modulaire pour faciliter l'ajout de nouvelles fonctionnalités, comme par exemple l'ajout d'un nouveau système de contrôle de version.

Étant moi même un hébergé heureux de tf.o et ne sachant pas forcément comment remercier les bénévoles qui rendent ce projet possible, lorsqu'un admin m'a demandé (à moitié en rigolant, je pense) si je pouvais contribuer à VHFFS, j'ai tout de suite accepté.

J'ai donc commis quelques petits patches avant de me tourner vers un premier « gros » truc : ajouter Mercurial à VHFFS (ouais, j'aime bien Mercurial). Ce qui s'avéra plus long que difficile, le support Git ayant été ajouté précédemment je n'ai eu, plus ou moins, qu'à copier ce qui avait été fait.

Fort de cette première expérience, je me suis alors tourné vers Bazaar (ouais, le truc des fanboys Ubuntu) qui n'a pas posé beaucoup plus de problèmes. Bon ok, ce n'est sûrement pas 100% fonctionnel, prêt à envoyer en prod', tout ça, mais ça viendra...

Donc voila, je suis heureux d'avoir contribué à maintenir tf.o en bonne position dans la course à l'armement des différentes forges (et assimilés) et pour finir, si vous ne connaissiez pas tf.o et que vous cherchiez ou héberger votre projet libre, vous pouvez y aller, c'est plein de gens sympas ; si vous connaissiez déja tf.o, mais vouliez tester un autre VCS c'est maintenant possible.

2 commentaires: