Code généré par IA et licences open source (Belgique)

Steven | TrustYourWebsite · 15 mai 2026 · Dernière mise à jour : mai 2026

Un avocat en due diligence d'une Série A signale dans votre bundle front-end deux courtes fonctions JavaScript très proches d'un fichier GPL-3.0 sur GitHub. Votre développeur a utilisé Cursor pour écrire la logique de validation du formulaire et n'y a plus pensé ensuite. Cet article explique si cette exposition est réelle, qui la porte et comment la traiter.

<figure className="my-8"> <svg role="img" aria-labelledby="chaine-licence-title" aria-describedby="chaine-licence-desc" viewBox="0 0 1200 540" xmlns="http://www.w3.org/2000/svg" style={{ maxWidth: '100%', height: 'auto' }}> <title id="chaine-licence-title">Comment le code suggéré par une IA devient une exposition de licence sur votre site.</title> <desc id="chaine-licence-desc">Flux horizontal en cinq étapes montrant comment un prompt envoyé à un assistant de code devient une obligation de licence pour l'éditeur du site. Étape un, le prompt du développeur à Cursor, Copilot ou Claude. Étape deux, la suggestion de l'IA qui peut reproduire des motifs des données d'entraînement. Étape trois, le code arrive dans le dépôt de l'agence sans préserver les métadonnées de licence. Étape quatre, le bundle est servi aux visiteurs via leur navigateur. Étape cinq, distribution publique où les obligations GPL, MIT ou Apache se déclenchent. Sous le flux, deux barres horizontales comparent le code côté serveur, exposition plus faible pour les projets non-AGPL, au JavaScript côté client, exposition complète vers les utilisateurs finaux. Une annotation à droite renvoie à la décision de janvier 2024 dans Doe v. GitHub qui a rejeté certaines demandes au titre de la section 1202(b) du DMCA pour des sorties quasi-identiques et a laissé prospérer les demandes de violation de licence open source.</desc> <rect x="0" y="0" width="1200" height="540" fill="#FFFFFF"/> <text x="600" y="35" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="20" fontWeight="600" fill="#1A1A1A">Du prompt à la distribution publique</text> <rect x="40" y="70" width="190" height="100" rx="10" fill="#525252"/> <text x="135" y="105" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">Prompt du</text> <text x="135" y="125" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">développeur</text> <text x="135" y="148" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">Cursor / Copilot</text> <text x="135" y="162" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">/ Claude</text> <rect x="250" y="70" width="190" height="100" rx="10" fill="#525252"/> <text x="345" y="105" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">Suggestion IA</text> <text x="345" y="135" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">peut reproduire</text> <text x="345" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">des motifs des</text> <text x="345" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">données d'entraînement</text> <rect x="460" y="70" width="190" height="100" rx="10" fill="#D97706"/> <text x="555" y="105" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">Dépôt agence</text> <text x="555" y="135" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">aucune métadonnée</text> <text x="555" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">de licence</text> <text x="555" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">préservée</text> <rect x="670" y="70" width="190" height="100" rx="10" fill="#D97706"/> <text x="765" y="105" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">Intégré dans</text> <text x="765" y="125" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">votre site</text> <text x="765" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">servi aux visiteurs</text> <text x="765" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">via le navigateur</text> <rect x="880" y="70" width="220" height="100" rx="10" fill="#B91C1C"/> <text x="990" y="105" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">Distribution publique</text> <text x="990" y="135" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">obligations GPL / MIT</text> <text x="990" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">/ Apache</text> <text x="990" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">déclenchées ici</text> <path d="M 230 120 L 248 120" stroke="#1A1A1A" strokeWidth="2"/> <polygon points="252,120 244,115 244,125" fill="#1A1A1A"/> <path d="M 440 120 L 458 120" stroke="#1A1A1A" strokeWidth="2"/> <polygon points="462,120 454,115 454,125" fill="#1A1A1A"/> <path d="M 650 120 L 668 120" stroke="#1A1A1A" strokeWidth="2"/> <polygon points="672,120 664,115 664,125" fill="#1A1A1A"/> <path d="M 860 120 L 878 120" stroke="#1A1A1A" strokeWidth="2"/> <polygon points="882,120 874,115 874,125" fill="#1A1A1A"/> <text x="80" y="240" fontFamily="Instrument Serif, serif" fontSize="16" fontWeight="600" fill="#1A1A1A">Exposition selon l'emplacement du code</text> <rect x="80" y="260" width="500" height="40" rx="6" fill="#1B7D56" fillOpacity="0.5"/> <text x="95" y="285" fontFamily="DM Sans, sans-serif" fontSize="13" fontWeight="500" fill="#1A1A1A">Code côté serveur : exposition plus faible (sauf AGPL)</text> <rect x="80" y="310" width="900" height="40" rx="6" fill="#B91C1C"/> <text x="95" y="335" fontFamily="DM Sans, sans-serif" fontSize="13" fontWeight="500" fill="#FFFFFF">JavaScript côté client : distribution complète aux utilisateurs finaux</text> <rect x="700" y="220" width="460" height="120" rx="8" fill="#F5F5F5" stroke="#525252" strokeWidth="1"/> <text x="720" y="245" fontFamily="DM Sans, sans-serif" fontSize="12" fontWeight="600" fill="#1A1A1A">Doe v. GitHub, janvier 2024</text> <text x="720" y="265" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">Demandes au titre de la section 1202(b) DMCA pour</text> <text x="720" y="280" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">sorties "quasi-identiques" rejetées définitivement.</text> <text x="720" y="300" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">Demandes de violation de licence open source</text> <text x="720" y="315" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">autorisées à prospérer. Affaire en cours.</text> <rect x="60" y="400" width="1080" height="110" rx="10" fill="#F0FDF4" stroke="#1B7D56" strokeWidth="1.5"/> <text x="80" y="430" fontFamily="Instrument Serif, serif" fontSize="16" fontWeight="600" fill="#145E40">Où repose le poids de la licence</text> <text x="80" y="455" fontFamily="DM Sans, sans-serif" fontSize="13" fill="#1A1A1A">Le mainteneur qui repère son code s'adresse à l'entité qui le distribue. C'est</text> <text x="80" y="473" fontFamily="DM Sans, sans-serif" fontSize="13" fill="#1A1A1A">l'éditeur du site, pas le développeur ni le fournisseur d'IA. Le contrat entre développeur</text> <text x="80" y="491" fontFamily="DM Sans, sans-serif" fontSize="13" fill="#1A1A1A">et fournisseur d'IA reste en arrière-plan. L'éditeur gère la question publique.</text> </svg> <figcaption>Le poids juridique repose sur la dernière étape. Plus on se trouve loin dans la chaîne, plus on porte.</figcaption> </figure>

Ce que l'IA a fait

Les assistants de code comme GitHub Copilot, Cursor, Claude et Cody ont été entraînés sur d'énormes volumes de code source public, dont des dépôts sous licences GPL, MIT, Apache et BSD. L'entraînement n'a pas conservé les métadonnées d'attribution, et les modèles ont appris des motifs plutôt que des fichiers entiers. Lorsque le développeur formule un prompt, le modèle produit une sortie qui est parfois une construction nouvelle et parfois une reproduction quasi-identique d'un fichier d'entraînement spécifique. L'assistant n'indique pas laquelle, et n'émet ni en-tête SPDX ni mention de copyright.

C'est le fait technique qui sous-tend la question juridique. Le modèle n'est pas autorisé à redistribuer le code d'entraînement, et le développeur n'est pas alerté lorsque la sortie est structurellement proche d'une source précise.

En droit belge, le Livre XI du Code de droit économique impose une autorisation préalable pour la reproduction. Une licence open source est cette autorisation, sous conditions (attribution, partage à l'identique, mise à disposition des sources). Ignorer les conditions revient à reproduire sans titre.

Qui est exposé

L'éditeur du site distribue le code envoyé aux visiteurs. Un navigateur qui charge votre page d'accueil reçoit le bundle JavaScript. Sous la GPL et les licences copyleft similaires, c'est une distribution à l'utilisateur final. L'éditeur est l'entité qui met le code à disposition, qu'il ait écrit la ligne lui-même, que l'agence l'ait écrite ou qu'une IA l'ait suggérée.

<!-- TODO: replace with /be/fr/guides/[locale-specific droit-auteur-webdesign] when published -->

C'est la même chaîne de responsabilité que lorsque le prestataire introduit une image non licenciée dans un carrousel. Version pré-IA : le designer place une photo Getty sans droits. Version post-IA : le développeur accepte une suggestion Copilot reproduisant un fichier source GPL. Même structure. La partie exposée est l'éditeur. La répartition interne entre éditeur et agence relève du contrat.

À côté se trouve la question plus large de qui paie lorsqu'un site construit par IA enfreint la conformité en Belgique. La responsabilité RGPD et accessibilité remonte au même titulaire. Le droit d'auteur sur le code généré par IA est le coin droit d'auteur de cette même carte.

Ce que les juges ont effectivement dit

L'affaire phare est Doe v. GitHub, Inc., déposée en novembre 2022 dans le Northern District of California. Des développeurs anonymes ont poursuivi GitHub, Microsoft et OpenAI sur l'entraînement de Copilot à partir de code open source public. La situation procédurale évolue, et le tableau ci-dessous est un instantané au mai 2026. Vérifiez avant de vous y fier.

<!-- LAST VERIFIED: 2026-05-15 --> <figure className="my-8"> <table> <caption>État des demandes dans Doe v. GitHub, mai 2026.</caption> <thead> <tr> <th scope="col">Demande</th> <th scope="col">État au mai 2026</th> <th scope="col">Ce que cela implique pour votre site</th> </tr> </thead> <tbody> <tr> <th scope="row">DMCA § 1202(b) sur le retrait des informations de gestion du droit d'auteur</th> <td>Rejetée définitivement en janvier 2024 pour des sorties "quasi-identiques"</td> <td>Il faudrait une reproduction littérale pour la relancer. Risque PME : faible sur ce moyen.</td> </tr> <tr> <th scope="row">Violation des termes de licences open source (MIT, GPL, Apache et autres)</th> <td>Autorisée à prospérer</td> <td>Les licences open source sont traitées comme des contrats opposables. Risque PME : modéré là où le code côté client distribue la sortie.</td> </tr> <tr> <th scope="row">Ingérence délictueuse et concurrence déloyale</th> <td>Solutions mixtes, certaines demandes ont survécu</td> <td>Pas directement pertinent pour une PME. Le conflit oppose les demandeurs au fournisseur d'IA.</td> </tr> <tr> <th scope="row">Enrichissement injustifié</th> <td>Rejetée</td> <td>Pas pertinent pour une PME.</td> </tr> </tbody> </table> <figcaption>Une situation procédurale en mouvement. Vérifiez avant de vous y fier.</figcaption> </figure>

L'enseignement principal est étroit. Le tribunal n'a pas tranché la question de fond : une sortie d'IA substantiellement similaire au code d'entraînement viole-t-elle la licence d'origine ? Ce qu'il a fait, c'est trier les théories. La voie technique du "retrait d'information de gestion du droit d'auteur" sous DMCA § 1202(b) est fermée lorsque la sortie est "quasi-identique avec des variations sémantiquement insignifiantes". La voie contractuelle, qui traite une licence open source comme un accord opposable, reste ouverte. Mises à jour : tracker BakerHostetler et page du conseil des demandeurs, à lire comme une présentation unilatérale.

Distribution GPL et votre site

La question juridique repose sur une question technique. Qu'est-ce qui compte comme distribution ?

Les licences copyleft de la famille GPL imposent des obligations d'attribution et de mise à disposition des sources à toute personne qui distribue une œuvre couverte. La distribution à un utilisateur final est le déclencheur. Pour un site, cela se décline en deux cas.

Le JavaScript côté client envoyé au navigateur est une distribution. Chaque chargement livre le bundle à un tiers, le cas type de distribution GPL. Si le bundle contient du code substantiellement similaire à un fichier sous GPL, les obligations d'attribution et de mise à disposition des sources s'appliquent.

Le code côté serveur qui ne quitte jamais votre serveur n'est généralement pas une distribution GPL. L'exception est l'AGPL, dont la section 13 traite l'usage en réseau comme une distribution. La plupart des sites de PME belges ne font pas tourner de backend sous AGPL, donc l'exposition se concentre dans le bundle côté client : validation de formulaire, animations, modales, fonctions utilitaires.

C'est pourquoi cette question pèse plus pour le front-end. Un plugin WordPress avec PHP côté serveur suggéré par Copilot porte moins d'exposition non-AGPL qu'un composant React livré à chaque visiteur.

Quel risque réel

Hiérarchie honnête des probabilités, du plus au moins probable.

Premier scénario réaliste : un investisseur ou un acquéreur fait une due diligence sur votre code avant un tour de financement ou une sortie. Ses avocats lancent un scanner de licences comme FOSSA, ScanCode ou licensee. Si le scanner repère du code sous GPL dans un produit propriétaire, l'équipe deal pose des questions. Le résultat habituel est un budget de remédiation et un délai, pas une affaire tuée. C'est le canal le plus fréquent.

Deuxième scénario : un mainteneur open source repère son code dans votre bundle public. Le premier contact est un courriel courtois demandant l'attribution. L'escalade prend la forme d'une notification DMCA à votre hébergeur, qui interrompt le service jusqu'à votre réponse. Les procès restent rares pour les PME car le coût de l'action dépasse le recouvrement.

Troisième scénario : l'action d'une organisation gardienne d'une licence copyleft, comme la Software Freedom Conservancy. Leur schéma est de longues correspondances d'abord et de cibler des fabricants de matériel ou de grands éditeurs. Le seuil reste haut pour un site PME.

En pratique, le risque semaine-après-semaine pour un site de petite entreprise est nul. Il se concentre autour de trois moments : une levée de fonds, une cession ou un mainteneur qui cherche sur Internet sa fonction reconnaissable.

Mesures pratiques si vous ou votre développeur utilisez des outils d'IA

Cinq choses à faire. Aucune n'est une défense juridique : il s'agit d'hygiène d'ingénierie qui réduit la probabilité que le problème ressorte.

Premièrement, activez le filtre de duplication dans Copilot, Cursor ou tout assistant qui en propose un. Le filtre bloque les suggestions correspondant au code d'entraînement au-delà d'un seuil de similarité. Il n'élimine pas les sorties quasi-identiques mais réduit le pire des cas. Confirmez le réglage dans la configuration éditeur du développeur, pas seulement sur le compte d'équipe.

Deuxièmement, faites tourner un scanner de licences avant le déploiement. Outils gratuits : licensee, scancode-toolkit et ort (OSS Review Toolkit). Options commerciales : FOSSA, Snyk Licence et Black Duck. Le scanner lit vos manifestes de packages et l'arbre des sources, et signale les licences qui entrent en conflit avec votre modèle de distribution. Une seule passe sur le bundle de production est bien plus utile que jamais.

Troisièmement, si votre développeur est sur Copilot Business ou Enterprise payant, GitHub propose un engagement d'indemnisation PI contre les réclamations de tiers liées aux sorties de Copilot, sous réserve que le filtre soit actif. C'est un filet contractuel réel mais conditionné, limité aux plans nommés, à vérifier dans les conditions actuelles. Copilot gratuit, Cursor, Claude et Cody n'offrent pas d'équivalent en mai 2026.

Quatrièmement, mettez à jour votre contrat d'agence. Ajoutez une clause selon laquelle l'agence n'intègre pas de code assisté par IA reprenant des sorties GPL ou AGPL sans notification écrite préalable, et selon laquelle l'agence garantit que le site livré ne porte pas atteinte à des droits de tiers. Cela ne vous protège pas du mainteneur qui repère son code. Cela vous donne une voie pour rétrocéder le coût à l'agence en cas de réclamation.

Cinquièmement, tenez un software bill of materials pour votre bundle côté client. cyclonedx-bom ou les exports SBOM des bundlers modernes listent chaque dépendance avec sa licence. Si une question surgit dans un an, le SBOM de la version concernée fait économiser une semaine.

Notre scan de conformité gratuit couvre RGPD, cookies, accessibilité et droits d'image. Il ne vérifie pas les licences open source, qui relèvent de l'outillage du développeur. Traitez les deux comme des voies parallèles.

Ce qui change au 9 décembre 2026

La Directive (UE) 2024/2853, la nouvelle directive sur la responsabilité du fait des produits défectueux, traite les logiciels et systèmes d'IA comme des produits à partir du 9 décembre 2026. La Belgique doit transposer à cette date. L'article 2(2) exclut les logiciels libres développés hors activité commerciale : le mainteneur open source n'est pas le défendeur d'une action PLD. Le fournisseur d'IA commercial l'est.

La portée pour le code généré par IA est étroite. Une PME belge qui subit un préjudice du fait d'un outil d'IA défectueux, par exemple lorsque l'IA produit du code avec une faille qui entraîne une violation de données avec préjudice pour une personne physique, peut bénéficier d'une voie de responsabilité sans faute contre le fournisseur d'IA. La demande porte sur les dommages aux personnes physiques et s'applique aux produits mis sur le marché après le 9 décembre 2026. La directive responsabilité produits en détail couvre le champ et les exclusions.

Ce que cet article n'est pas

Cet article porte sur l'exposition de licence open source lorsqu'une IA écrit du code sur votre site. La divulgation des chatbots et l'étiquetage de la copie marketing générée par IA relèvent de l'article 50 du règlement IA, un régime distinct du droit d'auteur sur le code source. Le versant image vit dans les images générées par IA sur votre site. La variante cookies et accessibilité est la question RGPD plus large pour la Belgique.

Questions fréquentes

Le filtre de duplication de Copilot élimine-t-il le risque ?

Non. Le filtre réduit la probabilité de reproduction littérale des données d'entraînement, ce qui est le pire des cas. Il ne traite pas les sorties quasi-identiques qui ressemblent encore à un fichier open source spécifique. Voyez le filtre comme une réduction de risque, pas comme une protection juridique.

Suis-je responsable si mon freelance a utilisé Cursor sans m'en parler ?

L'éditeur du site est la partie qui distribue le code aux visiteurs. Un mainteneur open source qui repère son code dans votre bundle écrit au titulaire du domaine. Votre freelance vous doit peut-être une correction au titre du contrat, mais l'exposition publique vous incombe.

Cela vise-t-il le code côté serveur ou seulement côté client ?

Surtout le côté client. Le code envoyé au navigateur est une distribution au sens de la GPL et déclenche les obligations d'attribution et de disponibilité des sources. Le code côté serveur qui ne quitte jamais votre serveur n'est généralement pas une distribution GPL, sauf sous AGPL, où l'usage réseau compte comme distribution au titre de la section 13.

Existe-t-il un outil d'IA pour le code plus sûr que les autres ?

Les forfaits payants Copilot Business et Enterprise incluent une indemnisation PI de GitHub si le filtre de duplication est activé. Aucun engagement équivalent n'est standard sur Cursor, Claude, Cody ou les niveaux gratuits de Copilot en mai 2026. Vérifiez les conditions actuelles avant de vous fier à une promesse fournisseur.

Pour aller plus loin

Articles du cluster qui complètent celui-ci :

Cet article est une analyse technique, pas un conseil juridique. L'auteur n'est pas votre avocat. Pour un avis opposable sur une question de licence vivante, consultez-en un.

Vérifiez votre site web maintenant

Analysez votre site web pour les problèmes de copyright et plus de 30 autres vérifications.

Lancer le check gratuit