Par nature décentralisés et collaboratifs, les logiciels libres ont besoin d’être hébergés sur Internet dans des forges qui en assurent leur développement (en offrant de nombreux services comme la gestion des versions ou le suivi des bugs).
SourceForge est certainement la plus célèbre d’entre elles et abrite en son sein plusieurs centaines de milliers de logiciels libres. Google, encore lui, n’est pas en reste avec son Google Code qui accueille de plus en plus d’applications.
Or si ces forges sont bien gratuites et très pratiques (puisque l’on crée et gère son projet en quelques clics), la plupart ne sont paradoxalement pas libres ! Il n’est ainsi pas possible de récupérer le code qui les fait tourner pour installer sa propre forge sur son propre serveur.
On comprend aisément qu’un site comme Facebook garde jalousement son code puisque son objectif est de concentrer au même endroit un maximum d’utilisateurs et surtout pas de les voir partir pour y faire leur petit Facebook personnel dans leur coin. Mais on comprend moins que les développeurs de logiciels libres se retrouvent un peu dans la même situation en acceptant de placer leur code sur des plateformes propriétaires. C’est une question de principe mais aussi de l’avenir incertain d’un code qu’il est alors difficile de déplacer[1].
C’est tout l’objet de cette mise en garde de notre ami Benjamin Mako Hill dont c’est déjà la quatrième traduction.
Il faut des outils libres pour faire des logiciels libres
Free Software Needs Free Tools
Benjamin Mako Hill – 4 juin 2010 – Blog personnel
(Traduction Framalang : Misc, Cheval boiteux, Siltaar et Goofy)
Au cours des dix dernières années, les développeurs de logiciels libres ont été régulièrement tentés par des outils de développement qui offrent la capacité d’élaborer des logiciels libres de façon plus efficace et productive.
Le seul prix à payer, nous dit-on, est que ces outils eux-mêmes ne sont pas libres ou s’exécutent comme des services réseaux avec du code que nous ne pouvons pas voir, ou lancer nous-mêmes. Dans leurs décisions d’utiliser ces outils et services (tels que BitKeeper, SourceForge, Google Code et GitHub), les développeurs de logiciels libres ont décidé que « la fin justifie les moyens » et ont en quelque sorte vendu la liberté de leur communauté de développeurs et d’utilisateurs. Cette décision d’adopter des outils de développement non libres et privés a entamé notre crédibilité dans la promotion des libertés logicielles et a compromis notre liberté comme celle de nos utilisateurs d’une façon que nous devrions rejeter.
En 2002, Linus Torvalds a annoncé que le noyau Linux utiliserait le systéme de gestion de version distribué BitKeeper. Bien que la décision ait généré beaucoup de craintes et de débats, BitKeeper a permis aux codeurs du noyau de travailler de manière décentralisée avec une efficacité qu’il n’aurait pas été possible d’obtenir avec les outils libres de l’époque. Certains développeurs Linux ont décidé que les bénéfices obtenus justifiaient la perte de liberté des développeurs. Trois ans plus tard, les sceptiques prirent leur revanche quand le proprétaire de BitKeeper, Larry McVoy, a retiré la licence gratuite d’utilisation de plusieurs développeurs importants du noyau, car Andrew Tridgell avait commencé à écrire un remplaçant libre de BitKeeper. Les développeurs furent forcés d’écrire leur propre outil libre pour le remplacer, un projet connu maintenant sous le nom de Git.
Bien sûr, les relations entre logiciels libres et outils non libres vont au-delà du cas de BitKeeper. Le code source des logiciels du service SourceForge était jadis disponible pour ses utilisateurs, mais les auteurs sont revenus à un modèle totalement fermé. Bien que SourceForge soit construit sur des briques libres, les utilisateurs interagissent avec le logiciel uniquement via le Web sur l’unique site SourceForge. Comme les utilisateurs n’ont pas de copie du logiciel de Sourceforge, ils ne peuvent pas en demander le code source. Des projets similaires comme le service Tigris.org de CollabNet, Google Code et GitHub ont tous des buts similaires, et gardent leur code pour eux de la même façon. Les services sont souvent fournis gratuitement et promeuvent le développement de logiciel libre, mais leur dévouement ne s’étend pas aux logiciels qui font tourner leur plateforme de développement. Le code source de chacun de ces services reste privé et non modifiable par les développeurs utilisant ces services.
Ces outils de développement proprietaires posent un dilemme à de nombreux développeurs de logiciels libres. Le but de chacun de ces services est de permettre le succès des logiciels libres et l’obtention de plus de libertés grâce à l’utilisation d’outils plus efficaces. CollabNet, Google et GitHub annoncent chacun qu’ils veulent que le logiciel libre progresse et qu’ils veulent l’aider à avancer. Pour certaines raisons, ces entreprises ont choisi de soutenir les libertés logicielles par des moyens moins en phase avec les éthiques du mouvement que celle qu’ils cherchent à créer. Le résultat est que les développeurs sont dépossédés. La liberté du code logiciel que produisent ces hackers est dépendante d’une restriction inacceptable.
Tout d’abord, l’utilisation d’outils non libres envoie un message irrecevable pour les utilisateurs du logiciel libre produit. « La liberté des logiciels est importante pour vous », semblent dire les développeurs, « mais pas pour nous ». Un tel comportement sape l’efficacité basique du fort engagement éthique au cœur du mouvement du logiciel libre. À tous ceux qui ont déja fait le choix du logiciel libre, nous devons montrer que nous pouvons réussir – et prospérer – en utilisant des logiciels libres. Nous devons soutenir les alternatives libres face aux systèmes propriétaires, comme Savane qui peut remplacer SourceForge ou Google Code, et qui est à la base de GNU Savannah, ou encore Gitorious, pour remplacer GitHub, en les utilisant et en les améliorant dans les domaines où ils peuvent être améliorés.
Deuxièmement, nous devrions comprendre en nous projetant plus en avant que le logiciel que nous produisons n’est libre qu’en fonction des logiciels dont il dépend pour son usage, sa distribution et son évolution.
La licence GNU GPL et le code source ne signifient pas grand-chose pour un utilisateur qui veut modifier un programme sans avoir un accés libre au logiciel requis pour permettre cette modification. Il ne s’agit pas que de mettre les libertés des développeurs dans la balance, mais aussi finalement celles des utilisateurs et de tous les développeurs qui prendront le relais. Ceux qui choisissent d’utiliser des logiciels non libres placent tout le monde à la merci des groupes et des individus qui produisent les logiciels dont ils dépendent.
Tandis que les outils de développement propriétaires peuvent aider les développeurs de logiciels libres à produire de meilleurs logiciels à court terme, le prix à payer est inacceptable. Dans le débat controversé des logiciels privés et des services réseaux, les développeurs de logiciels libres devraient se placer du côté de « l’excès » de liberté. Compromettre nos principes afin d’obtenir plus de liberté est auto-destructeur, instable et au final injuste envers nos utilisateurs et la communauté des développeurs de logiciels libres dans son ensemble.
Tout comme les premiers mainteneurs du projet GNU se sont d’abord concentrés sur la création d’outils libres pour la création de logiciel libre, nous devons nous assurer que nous pouvons produire des logiciels sans entrave et utiliser des outils incontestablement ouverts. Si nous échouons, les logiciels seront indirectement moins libres. Nous devons refuser l’utilisation de logiciels qui ne nous garantissent pas les libertés que nous tentons de donner à nos utilisateurs par le développement de logiciels, et nous devons faire pression en ce sens sur les producteurs de nos outils de développement. Le logiciel libre n’a pas réussi en compromettant nos principes. Nous ne serons pas bien servis d’un point de vue technique, pragmatique ou éthique en compromettant la liberté des outils que nous utilisons pour constuire un monde libre.
Benjamin Mako Hill
Creative Commons By-Sa