Connexion Premium

Linux clarifie les règles d’utilisation de l’IA dans les contributions au noyau

Le document concerné a fait l’objet d’un commit dès le 6 janvier dernier, mais c’est ce samedi 11 avril qu’il a émergé sur Hacker News : le dépôt administré par Linus Torvalds et dédié au noyau Linux comporte désormais un fichier coding-assistants.rst qui résume les bonnes pratiques à adopter en matière de recours à l’IA générative dans les contributions.

Ceux qui attendaient soit un blanc-seing, soit une condamnation sans équivoque, en seront pour leurs frais. Ces lignes de conduite ne tranchent pas la question polémique du bien-fondé : elles disposent simplement que le code qui a été produit avec l’assistance de l’IA obéit aux mêmes règles que le code d’extraction exclusivement humaine, et que tout code soumis doit être signé (et donc endossé) par un humain.

« Seuls les humains peuvent légalement certifier le certificat d’origine du développeur (DCO) », indique le document, selon lequel le développeur assume l’entière responsabilité de sa contribution, et doit donc de ce fait attacher une attention particulière à la vérification de tout code généré par IA, ainsi qu’à la conformité aux exigences de licence, en l’occurrence la GPL 2.0.

La mention explicite du recours à l’IA est encouragée. « Lorsque les outils d’IA contribuent au développement du noyau, une attribution appropriée permet de suivre l’évolution du rôle de l’IA dans le processus de développement ».

L’utilisation d’un assistant IA est censée faire l’objet d’une attribution explicite, sous la responsabilité du développeur humain qui signe le commit – capture d’écran

« C’est… étonnamment normal ? », réagit un internaute sur Hacker News. La position, qui semble effectivement plutôt consensuelle, rejoint l’attitude manifestée publiquement par Linus Torvalds quant à l’utilisation de l’IA générative dans le code.

Il s’était exprimé sur le sujet fin 2025 à l’occasion de l’édition japonaise de l’Open Source Summit, expliquant détester la hype autour de l’IA, mais reconnaître à l’outil de réelles qualités, notamment pour la maintenance du code. Le créateur de Linux et de Git a lui-même eu recours à la pratique dite du vibe-coding pour un projet tiers (AudioNoise, voir mention explicite en fin de Readme).

Commentaires (13)

votre avatar
Voilà, une position pragmatique, raisonnable. Les agents IA de développement peuvent aussi bien être extraordinairement efficace que mauvais dans ce qu'ils font et que la consommation de ressource dépend des modèles et leurs paramètres, le partisanisme est absurde/
En clair, pour tout ce qui est critique, la compréhension, expertise, et revue humaine est indispensable, que ce soit le noyau Linux ou tout le reste.

J'espère qu'un jour les gens comprendront que codex, claude, kimi, qwen & cie doivent être pris pour des stagiaires dans l'utilisation qui en est faite pour le moment et que polémiquer dessus ne sert à rien sinon brasser de l'air, le problème étant HUMAIN. (Ce n'est pas l'IA qui gère les entreprises qui font des choix merdiques en matière d'embauche de juniors, par exemple.)
Pour autant ils ne sont pas à jeter pour autant et peuvent être ponctuellement très efficaces lorsque bien guidé et que l'alignement avec vos intentions est atteint.

Même pour des choses aussi basiques que du script bash, de l'empaquetage, ça peut être très utile et un vrai gain de temps de travail tout en étant facile à relire.

Ps : et je me répète et je signe à ce sujet, les LLM sont des amplificateurs, le curieux progressera, le flemmard périclitera.
Je n'ai jamais autant appris que depuis que j'y touche. J'ai un TDA (trouble du déficit de l'attention) qui m'a pourrit la vie toute ma scolarité et après avec de grosses difficultés d'apprentissage, et, j'ai passé des années depuis mon adolescence à écumer les forums, lire des infos et retours, et je n'ai jamais autant progressé que depuis que je touche aux LLM.
Ces dernier ont un potentiel fantastique pour tous ceux qui ne sont pas neurotypiques et n'alimentent pas leur paresse intellectuelle.
votre avatar
Pour moi ça dépends quand même énormément du volume de code existant sur lequel l'IA va s'appuyer pour sortir quelque chose. Lorsque le corpus de donnée est large, effectivement là ça peux faire gagner du temps.

Mais à mon avis le problème principal de l'IA est qu'elle ne dira jamais "Je ne sais pas, débrouilles-toi".
Quand elle est mise dans une situation où elle ne trouve plus d'existant pertinent, elle va commencer à inventer, halluciner. J'ai vécu ça sur du debug kernel linux sur des points précis, mais aussi sur des commandes en CLI de proxmox où elle m'a sorti des trucs qui existaient pas et n'ont jamais existé.

A un moment, il faut savoir trouver le moment où il faut lâcher l'IA et retourner lire le code, la conf ou autre et ...bah faire soit-même.


D'ailleurs une question que je me pose: Actuellement, l'IA est utilisé pour faire des fichiers de conf & du code (pour moi). Mais à un moment, qu'est-ce qui va empêcher un agent de prendre un prompt & de sortir un binaire, voire une micro-VM complète prête à lancer avec tout le code binaire dedans, complètement obfusqué.
Par exemple pour un site web , on peux imaginer l'IA pondre une VM purement binaire, sans Apache/Nginx, sans linux & autres SSH à configurer, juste la VM & le site statique avec aucune dépendance à aucun code tiers (en tous cas officiellement).
L'étape du "langage interprété" ou même compilé c'est une facilité humaine, mais est-ce que l'IA en a vraiment besoin ?

Et pour le modifier, facile, on re-demande à l'IA de re-fabriquer la VM entière avec nos modifs.

=> Avec ça plus besoin de chef de projets, de prestataires, de codeurs, rien. Le "client" pourra créer son site web tout seul par itérations, il faut juste qu'il sache lancer une VM sur un hyperviseur.

Perso j'aimerais pas vivre dans ce type de monde mais dès à présent ça parait presque faisable techniquement, non ?
votre avatar
L'étape du "langage interprété" ou même compilé c'est une facilité humaine, mais est-ce que l'IA en a vraiment besoin ?
Oui parce que l'IA est entraîné à partir de code source. Une IA à base de LLM ne peut pas apprendre à coder directement en binaire faute de comprendre à quoi correspond la signification de chaque "mot" binaire dans un exécutable et de pouvoir le mettre en relation avec une instruction de prompt.
votre avatar
Mais à mon avis le problème principal de l'IA est qu'elle ne dira jamais "Je ne sais pas, débrouilles-toi".
Quand elle est mise dans une situation où elle ne trouve plus d'existant pertinent, elle va commencer à inventer, halluciner. J'ai vécu ça sur du debug kernel linux sur des points précis, mais aussi sur des commandes en CLI de proxmox où elle m'a sorti des trucs qui existaient pas et n'ont jamais existé.
A un moment, il faut savoir trouver le moment où il faut lâcher l'IA et retourner lire le code, la conf ou autre et ...bah faire soit-même.
Oui, ce n'est qu'un outil. Tout le temps que le développeur est l'unique garant de la qualité du code publié, ce n'est pas un soucis. S'il valide des hallucinations de l'IA, il est autant responsable que s'il avait produit le code lui même. A lui de donner les bonnes directives et de savoir quand reprendre la main.
votre avatar
J'utilise aussi régulièrement les LLM (surtout Claude), et c'est assez captivant, il faut faire attention au biais de confirmation et à tout un tas d'autres trucs auxquels je ne suis pas habitué.
Ça donne l'illusion de facilité, mais si on creuse un peu, on se rend souvent compte que ça reste un outil à utiliser avec précaution, pas de miracles.
En tout cas, c'est vraiment fascinant, quand je voie des projets comme Caveman pour économiser des tokens, on a encore énormément de chose à découvrir et à apprendre. Beaucoup de de potentiel en bon comme en mauvais.
votre avatar
Plutôt d'accord avec l'idée: ok pour l IA tant que c'est un outil. Typiquement dans le code: l IA génère, l humain fait la review.
Le vrai débat qui fait polémique est le moment où tu laisses l'IA prendre elle même les décisions. Par ex accepter les merge request automatiquement faites par un agent IA. AMHA, à ce moment, l'humain perd le contrôle, le code gagne en complexité tellement vite que plus aucun humain ne pourra le comprendre, et donc fin de partie pour l'être humain.

Donc comme ces clarifications de règles, oui aux nouveaux outils, mais en contrôlant leur usage.
votre avatar
Comme d'hab', on va "pragmatiquement" éviter les questions fondamentales après avoir laissé passé suffisamment de temps pour se permettre d'éviter de les adresser.

Le "compromis infini" et son nivellement par le bas.
votre avatar
on va "pragmatiquement" éviter les questions fondamentales
L'unique question fondamentale dans le noyau est de savoir comment garantir la qualité du code.

L'IA n'ayant pas encore démontré sa capacité à auto-évaluer ses compétences (tournure de phrase politiquement correcte pour dire "se trouve sur le pic «prétentieux-petit-con» du graphique que la légende attribue à Dunning Kruger") ça ne s'appelle pas du nivellement par le bas, mais simplement du bon sens.
votre avatar
Il y a une question qui suivant le pays pourrait gêner.

Si usage de l'IA il y a; est-ce que l'auteur reste légalement le propriétaire du code produit par l'IA. A plus forte raison parce que cela vient d'un autre (ou inspiré par). L'œuvre de l'esprit doit être produite par un humain par définition. Ça risque d'être compliqué.

Avec des trucs comme ça dans l'actu plus ou moins récente :
(cela ne parle pas du code spécifiquement mais ce sont les même principes)
votre avatar
Pour le code, ça dépend autant du droit d'autant que de la licence, surtout s'il s'agit d'un fork, ou à contrario d'une réécriture complète dans un langage différent s'inspirant de l'existant.
En outre, le code est supposément revu par un être-humain qui va le diriger et y mettre son grain de sel, et de toute façon derrière le LLM ne fait rien seul, c'est l'Humain qui engage l'action et a une vision globale patiemment décrite du projet concerné par ledit code. Ça reste une œuvre de l'esprit humain, le LLM n'est qu'un outil comme un autre. Des outils automatisent largement le développement également comme sur Unreal Engine, pourtant la paternité du code source ne pose aucunement question.
votre avatar
J'allais aborder le sujet. J'aime particulièrement ton dernier lien qui résume bien la situation. Le doc du site du ministère de la culture est bien aussi, même si le point suivant me semble peu justifié par la note de bas de page :
Certains pays, comme les Etats-Unis, l’Australie ou encore le Royaume-Uni ont déjà opté pour la protection par le copyright des créations générées par IA.
la note dit :
Par exemple, le droit anglais a fait le choix dès 1988 de protéger par le droit d'auteur les « computer generated works », à savoir les créations générées par ordinateur dans des conditions excluant toute intervention humaine directe. L’auteur sera considéré comme la personne qui prend les dispositions nécessaires pour la création de l'œuvre (Copyright, Designs, Patents Act, 1988, art 9).
Cela ne justifie pas l'affirmation pour les USA ou l'Australie.

En plus, l'article de loi cité dispose que :
In the case of a literary, dramatic, musical or artistic work which is computer-generated, the author shall be taken to be the person by whom the arrangements necessary for the creation of the work are undertaken.
Ce n'est pas forcément applicable à du code qui à mon avis ne rentre pas dans la catégorie literary work.

Il y a la première question de l'œuvre de l'esprit et de l'IA qui fait que suivant les pays, c'est une œuvre pouvant être protégée ou non.
Le code produit pourrait donc être sans licence possible (même pas GPL V2). Est-ce que ce code est compatible avec la GPL V2, ? Il faudrait trancher officiellement. J'aurais tendance à dire oui dans l'esprit : n'étant pas protégé, il correspond à toutes les clauses, mais sans licence sur ce code, rien n'obligerait à le redistribuer ! C'est un paradoxe.

La seconde question est celle d'un code qui serait une contrefaçon de code existant qui ne serait pas sous une licence compatible GPL V2 parce qu'il ressortirait un code protégé. C'est ici un risque d'inclure un tel code dans du logiciel GPL V2 et ça semble difficile pour un humain de détecter ce cas.
votre avatar
Et dans le cas du code qui est lu, écrit, compilé, utilisé partout dans le monde; il faudra mettre tout le monde (les pays) d'accord pour que cela fonctionne à peu près...

Haaaaaa, je voulais pas casser le moral, mais bon...
votre avatar
J'adopte la même position.

Dans les équipes avec lesquelles je travaille, j'essaie de les sensibiliser et des les amener à prendre un peu de recul et de méthodologie dans leur usage de l'IA pour produire du code :

  • on peut utiliser l'IA; cela peut permettre de gagner beaucoup de temps

  • on taggue toute partie de code générée par IA pour savoir que ce code est issu de l'IA quand on aura besoin d'y revenir plus tard (cela permet d'avoir un regard plus "alerte" quand il sera question de replonger , faire évoluer ou remettre en question ce code)