Désolé, ce journal parle encore LLM (grands modèles de langues).
Il y a en ce moment un débat féroce entre des développeurs, militants, organisations qui s'opposent fermement à l'usage des LLMs pour des raisons éthiques et certains développeurs centraux et des organisations historiques de l'écosystème du logiciel libre qui utilisent ou autorisent l'utilisation de LLM pour l'écriture de code. Le débat porte sur la pertinence ou non d'utiliser ce code.
Je veux ici apporter une contribution à ce débat en argumentant que le logiciel généré par LLM ne peut pas être libre en raison de la liberté n°1 du logiciel libre, celle d'étudier et de modifier le code source.
Je ne reviens pas sur les nombreuses autres raisons de ne refuser en bloc les LLMs, raisons que je considère bien plus importantes que celle que j'ajoute ici. Je ne reviens pas non plus sur le débat juridique autour de ce qu'on peut faire légalement d'un code généré à partir de nombreux exemples de code sous des licences très variées. Je me place du point de vue de l'ingénieur pragmatique libriste, celui capable d'ignorer les humains qui ne sont pas lui-même et d'aborder une question sous le seul angle des objectifs qu'il s'est fixé tant qu'on respecte les principes du logiciel libre.
La loi du bobsleigh observée par Christine Lemmer-Webber dans son texte Faulty Towers, vibe sickness, and the vibe bobsled est que : quelles que soit les limites posées aux générateurs automatiques initialement par le développeur, quand on met un doigt dans la machine on finit toujours et assez rapidement par abandonner le contrôle de l'écriture du code à ces générateurs automatiques, puis, le code s'empilant, à reposer sur ces outils pour pouvoir comprendre l'architecture et le comportement du code. C'est comme une piste de bobsleigh sur laquelle on s'engage : quel que soit l'endroit où on rejoint la piste, à partir du moment où on embarque dans l'appareil, on dévale la pente et on on finit toujours au même endroit à la fin.
La FSF (fondation pour le logiciel libre) définit le logiciel libre à partir de 4 libertés dans le texte Qu'est-ce que le logiciel libre ? :
- la liberté de faire fonctionner le programme comme vous voulez, pour n'importe quel usage (liberté 0) ;
- la liberté d'étudier le fonctionnement du programme, et de le modifier pour qu'il effectue vos tâches informatiques comme vous le souhaitez (liberté 1) ; l'accès au code source est une condition nécessaire ;
- la liberté de redistribuer des copies, donc d'aider les autres (liberté 2) ;
- la liberté de distribuer aux autres des copies de vos versions modifiées (liberté 3) ;
Si on commence à intégrer dans un logiciel libre du code généré par des machines, par la loi du bobsleigh, le code devient à terme "illisible" par lui-même : on a besoin de faire appel à un outil tiers pour tenter de lui donner du sens. Il n'est plus possible de le comprendre et de le modifier. La FSF précise, à propos de la liberté numéro 1 :
Du code source rendu illisible [obfuscated] n'est pas du vrai code source et ne compte pas comme code source.
Les LLMs ont cet effet, involontaire, de rendre à terme le code illisible. Le code ainsi généré n'est pas libre, à terme.
Cette liberté de lire et modifier un programme était déjà fragilisée avant l'arrivée des LLMs remarque Cassandrich sur le fedivers : le fait de devoir toujours mettre à jour un logiciel, pour des raisons de fonctionnalités ou de sécurité, nous rend dépendants des mainteneurs et rend en pratique très coûteux de le détourner selon nos besoins.
Cette liberté de transformer comme on souhaite le logiciel est essentielle pour le logiciel libre. C'est la mise en forme des principes hacker (la liberté du détournement) et ce qui oriente l'informatique dans un sens plus convivial, au sens d'Ivan Illich et présenté par Benjamin Grassineau aux JdLL 2024 (vidéo, transcription).
Du coup, je me demande dans quelle mesure la loi du Bobsleigh de Lemmer-Webber est vérifiée. A-t'on des contre-exemples ? Avez-vous observé des situations où, après avoir commencé à utiliser des LLMs dans la gestion du code jusqu'à un certain point, les développeurs sont revenus sur leur décision et ont réduit ou banni l'utilisation de ces outils ?

# Loi du bobsleigh
Posté par Thomas (site web personnel) . Évalué à 1 (+0/-0).
J'adore.
On a tous ressenti ce moment où on ne lit plus le code. On sait qu'on devrait, qu'on aurait du mais pfff …
Un bobsleigh finit par freiner, cependant.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.