AI-gegenereerde code en open-source licenties (België)
Steven | TrustYourWebsite · 15 mei 2026 · Laatst bijgewerkt: mei 2026
Een due-diligenceadvocaat in een Series-A markeert in uw frontend-bundle twee korte JavaScript-functies als sterk gelijkend op een GPL-3.0-bestand op GitHub. Uw ontwikkelaar gebruikte Cursor om de formuliervalidatie te schrijven en heeft er nadien niet meer aan gedacht. Dit artikel loopt door of die blootstelling echt is, wie ze draagt en wat u eraan kan doen.
<figure className="my-8"> <svg role="img" aria-labelledby="licentieketen-title" aria-describedby="licentieketen-desc" viewBox="0 0 1200 540" xmlns="http://www.w3.org/2000/svg" style={{ maxWidth: '100%', height: 'auto' }}> <title id="licentieketen-title">Hoe AI-gesuggereerde code een licentieblootstelling op uw website wordt.</title> <desc id="licentieketen-desc">Horizontale stroom in vijf fasen die laat zien hoe een prompt aan een AI-codeassistent een licentieverplichting voor de website-eigenaar wordt. Fase een is de prompt van de ontwikkelaar aan Cursor, Copilot of Claude. Fase twee is de AI-suggestie die patronen uit trainingsdata kan reproduceren. Fase drie is de code die in de repository van het bureau belandt zonder behoud van licentie-metadata. Fase vier is de bundle die aan browserbezoekers wordt geserveerd. Fase vijf is publieke verspreiding, waar GPL-, MIT- of Apache-verplichtingen worden geactiveerd. Onder de stroom vergelijken twee horizontale balken serverside code met lagere blootstelling voor niet-AGPL-projecten met clientside JavaScript met volledige verspreiding naar eindgebruikers. Een aantekening rechts verwijst naar de uitspraak van januari 2024 in Doe v. GitHub die bepaalde DMCA-1202(b)-vorderingen voor bijna-identieke output afwees en open-source licentiebreukvorderingen toeliet.</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">Van prompt naar publieke verspreiding</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 van</text> <text x="135" y="125" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">ontwikkelaar</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">AI-suggestie</text> <text x="345" y="135" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">kan patronen uit</text> <text x="345" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">trainingsdata</text> <text x="345" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">reproduceren</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">Repo bureau</text> <text x="555" y="135" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">geen licentie-</text> <text x="555" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">metadata</text> <text x="555" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">bewaard</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">In uw site</text> <text x="765" y="125" textAnchor="middle" fontFamily="Instrument Serif, serif" fontSize="15" fontWeight="600" fill="#FFFFFF">gebundeld</text> <text x="765" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">geserveerd aan</text> <text x="765" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">browserbezoekers</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">Publieke verspreiding</text> <text x="990" y="135" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">GPL / MIT / Apache</text> <text x="990" y="150" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">verplichtingen</text> <text x="990" y="165" textAnchor="middle" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#FFFFFF">treden hier in</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">Blootstelling per code-locatie</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">Serverside code: lagere blootstelling (AGPL uitgezonderd)</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">Clientside JavaScript: volledige verspreiding naar eindgebruikers</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, januari 2024</text> <text x="720" y="265" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">DMCA-1202(b)-vorderingen voor "bijna identiek,</text> <text x="720" y="280" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">niet woordelijk" afgewezen met prejudice.</text> <text x="720" y="300" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">Vorderingen voor inbreuk op open-source</text> <text x="720" y="315" fontFamily="DM Sans, sans-serif" fontSize="11" fill="#1A1A1A">licenties mochten doorgaan. Zaak loopt.</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">Waar het licentiegewicht ligt</text> <text x="80" y="455" fontFamily="DM Sans, sans-serif" fontSize="13" fill="#1A1A1A">De onderhouder die zijn code opmerkt benadert de partij die de code verspreidt. Dat is</text> <text x="80" y="473" fontFamily="DM Sans, sans-serif" fontSize="13" fill="#1A1A1A">de site-eigenaar, niet de ontwikkelaar en niet de AI-leverancier. Het contract tussen ontwikkelaar</text> <text x="80" y="491" fontFamily="DM Sans, sans-serif" fontSize="13" fill="#1A1A1A">en AI-leverancier blijft op de achtergrond. De eigenaar staat aan de voorkant.</text> </svg> <figcaption>Het juridische gewicht zit in de laatste fase. Hoe verder in de keten, hoe meer u draagt.</figcaption> </figure>Wat de AI feitelijk deed
AI-codeassistenten als GitHub Copilot, Cursor, Claude en Cody zijn getraind op enorme hoeveelheden publieke broncode, inclusief repositories onder GPL-, MIT-, Apache- en BSD-licenties. Het trainingsproces heeft geen attributiemetadata bewaard, en de modellen leerden patronen in plaats van hele bestanden. Wanneer een ontwikkelaar de assistent een prompt geeft, produceert het model output die soms een nieuwe constructie is en soms een bijna-identieke reproductie van een specifiek trainingsdatabestand. De assistent waarschuwt niet welk van de twee, en zet geen SPDX-header of copyrightvermelding eronder.
Dat is het technische feit onder de juridische vraag. Het model is niet gelicentieerd om trainingscode opnieuw te verspreiden, en de ontwikkelaar krijgt geen signaal wanneer de output structureel dicht bij een specifieke bron ligt.
In het Belgisch auteursrecht (Boek XI van het Wetboek van economisch recht) is reproductie zonder toestemming verboden. Een open-source licentie is precies die toestemming, verleend onder voorwaarden zoals naamsvermelding, lijkpartijregeling of copyleft. Wie de voorwaarden negeert, beschikt niet over een geldige titel.
Wie wordt aangesproken
De site-eigenaar verspreidt de code die naar bezoekers wordt verzonden. Een browser die uw homepage laadt, ontvangt de JavaScript-bundle. Onder de GPL en vergelijkbare copyleft-licenties is dat verspreiding naar de eindgebruiker. De eigenaar is de partij die de code beschikbaar maakt, ongeacht of die de regel zelf schreef, het bureau dat deed of de AI ze suggereerde.
<!-- TODO: replace with /be/nl/guides/[locale-specific web-designer-auteursrecht] when published -->Dit volgt dezelfde aansprakelijkheidsketen die voor het auteursrechtelijke probleem geldt wanneer een webbouwer een ongelicentieerde foto in een carousel zet. De pre-AI-versie is een designer die een Getty-foto plaatst zonder rechten. De post-AI-versie is een ontwikkelaar die een Copilot-suggestie aanvaardt die een GPL-bronbestand reproduceert. De structuur is gelijk. De partij die naar buiten wordt aangesproken is de eigenaar. Wie intern de kosten draagt, regelt het contract tussen eigenaar en bureau.
Daarnaast staat de bredere vraag wie betaalt wanneer AI-gebouwde sites de regelgeving overtreden. AVG- en toegankelijkheidsaansprakelijkheid komen via hetzelfde principe bij de eigenaar terecht. Auteursrecht op AI-gegenereerde code is de auteursrechtelijke hoek van diezelfde kaart.
Wat de rechter werkelijk heeft gezegd
De leidende zaak is Doe v. GitHub, Inc., ingediend in november 2022 in de Northern District of California. Anonieme ontwikkelaars klagen GitHub, Microsoft en OpenAI aan over Copilots training op publieke open-source code. De procedurele stand verandert, en de tabel hieronder is een momentopname per mei 2026. Verifieer voordat u erop bouwt.
<!-- LAST VERIFIED: 2026-05-15 --> <figure className="my-8"> <table> <caption>Doe v. GitHub stand per vordering, mei 2026.</caption> <thead> <tr> <th scope="col">Vordering</th> <th scope="col">Stand per mei 2026</th> <th scope="col">Wat dat betekent voor uw site</th> </tr> </thead> <tbody> <tr> <th scope="row">DMCA § 1202(b) over verwijderen van copyright management information</th> <td>Afgewezen met prejudice, januari 2024, voor "bijna-identieke" output</td> <td>Eisers zouden woordelijke reproductie moeten aantonen om dit te laten herleven. Risico voor KMO: laag op deze grond.</td> </tr> <tr> <th scope="row">Breuk van open-source licentievoorwaarden (MIT, GPL, Apache en andere)</th> <td>Mocht doorgaan</td> <td>Open-source licenties worden behandeld als afdwingbare contracten. Risico voor KMO: gemiddeld waar clientside code de output verspreidt.</td> </tr> <tr> <th scope="row">Onrechtmatige inmenging en oneerlijke concurrentie</th> <td>Gemengde uitkomsten, sommige vorderingen overleefden</td> <td>Niet direct KMO-relevant. Het conflict speelt tussen eisers en de AI-leverancier.</td> </tr> <tr> <th scope="row">Ongerechtvaardigde verrijking</th> <td>Afgewezen</td> <td>Niet KMO-relevant.</td> </tr> </tbody> </table> <figcaption>Een levende procedurele stand. Verifieer voor u erop steunt.</figcaption> </figure>De kern is smal. De rechter heeft nog niet inhoudelijk geoordeeld over de centrale vraag of AI-output die sterk lijkt op trainingscode de oorspronkelijke licentie schendt. Wat de rechter wel heeft gedaan is de juridische theorieën sorteren. De technische route "verwijderen van copyright management information" onder DMCA § 1202(b) is dicht waar de output "bijna identiek met semantisch onbetekenende variaties" is. De contractroute, waarin een open-source licentie wordt behandeld als bindende overeenkomst die de AI-leverancier schendt, staat nog open. Procedurele updates verschijnen op de BakerHostetler-tracker en op de casuspagina van het kantoor van eisers. Die laatste is één kant van het verhaal en moet zo behandeld worden.
GPL-verspreiding en uw website
De juridische vraag draait om een technische. Wat telt als verspreiding van de code?
GPL-achtige copyleft-licenties hangen attributie- en bronbeschikbaarheidsplichten aan iedereen die een beschermd werk verspreidt. Verspreiding naar een eindgebruiker is de trigger. Voor een website valt dat uiteen in twee gevallen.
Clientside JavaScript dat naar de browser van de bezoeker wordt verzonden is verspreiding. Iedere paginalading levert de bundle aan een derde, precies het GPL-verspreidingsgeval. Als die bundle code bevat die sterk lijkt op een GPL-gelicentieerd bestand, gelden attributie- en bronbeschikbaarheidsplichten.
Serverside code die uw server nooit verlaat is doorgaans geen GPL-verspreiding. De uitzondering is AGPL, waarvan sectie 13 netwerkgebruik als verspreiding behandelt. De meeste Belgische KMO-sites draaien geen AGPL-gelicentieerde backend, dus de praktische blootstelling concentreert zich in de clientside-bundle: formuliervalidatie, animaties, modals, hulpfuncties. Precies het soort kleine functies dat een ontwikkelaar door een AI laat schrijven.
Daarom telt de AI-codevraag zwaarder voor de frontend dan voor de backend van uw site. Een WordPress-plugin met door Copilot gesuggereerde PHP op de server heeft lagere blootstelling voor niet-AGPL-code dan een React-component die de assistent schreef en die bij elke bezoeker wordt geleverd.
Hoe realistisch is het risico
Eerlijke waarschijnlijkheidsvolgorde, van meest naar minst waarschijnlijk.
Het eerste realistische scenario is dat een investeerder of overnemende partij due diligence doet op uw codebasis voor een financieringsronde of exit. Hun advocaten draaien een licentiescanner als FOSSA, ScanCode of licensee. Als de scanner GPL-code in een proprietary product flagt, stelt het deal-team vragen. De uitkomst is meestal een herstelbudget en vertraging, niet een afgeketste deal. Zo komt de KMO er meestal achter.
Het tweede is een open-source onderhouder die zijn code in uw publieke bundle herkent. Grotere projecten hebben communityleden die op ongelinkt hergebruik letten. Het eerste contact is een vriendelijke mail met het verzoek om attributie. Escalatie ziet eruit als een DMCA-takedown bij uw hostingpartij, die de dienst onderbreekt tot u reageert. Rechtszaken op dit niveau zijn zeldzaam voor KMO omdat de kosten van procederen zwaarder wegen dan wat er bij een kleine onderneming te halen valt.
Het derde is handhaving door een copyleft-licentiebeheerder zoals de Software Freedom Conservancy. Die organisaties brengen wel zaken, maar hun patroon is lange correspondentie eerst en doelen op hardwareleveranciers of grotere softwarebedrijven. Voor een KMO-website ligt de drempel hoog.
In de praktijk is het week-tot-weekrisico voor een kleine bedrijfssite nul. Het risico concentreert zich rond drie momenten: een financieringsronde, een overname, of een onderhouder die het internet afzoekt naar zijn herkenbare functie. Geen van die drie is in een willekeurige maand waarschijnlijk, maar alle drie zijn voorspelbaar en te vermijden.
Praktische maatregelen als u of uw ontwikkelaar AI-tools gebruikt
Vijf dingen om te doen. Geen ervan is een juridisch verweer en niemand zou ze zo aan u mogen verkopen. Het is technische hygiëne die de kans verkleint dat het probleem überhaupt aan de oppervlakte komt.
Eerst, zet het duplicaatfilter aan in Copilot, Cursor of welke AI-codeassistent dan ook die er een aanbiedt. Het filter blokkeert suggesties die boven een bepaalde gelijkenisdrempel passen op trainingsdata. Het sluit bijna-identieke output niet uit, maar verkleint wel het ergste geval. Bevestig dat de instelling actief staat in de editorconfiguratie van de ontwikkelaar zelf, niet alleen op het teamaccount.
Ten tweede, draai een licentiescanner voor deployment. Gratis tools: licensee, scancode-toolkit en ort (de OSS Review Toolkit). Commerciële opties: FOSSA, Snyk Licence en Black Duck. De scanner leest uw package-manifests en uw broncode, en signaleert licenties die met uw verspreidingsmodel botsen. Eenmaal op de productiebundle draaien is veel nuttiger dan nooit.
Ten derde, als uw ontwikkelaar op betaalde Copilot Business of Enterprise zit, biedt GitHub een IP-vrijwaringsbelofte tegen externe claims voortvloeiend uit Copilot-output, voorwaardelijk op het ingeschakelde duplicaatfilter. Dat is een betekenisvolle contractuele rugdekking, maar afhankelijk van de filterinstelling, beperkt tot de genoemde plannen, en u moet de actuele voorwaarden controleren voordat u erop vertrouwt. Gratis Copilot, Cursor, Claude en Cody bieden per mei 2026 geen vergelijkbare toezegging.
Ten vierde, update uw bureaucontract. Voeg een bepaling toe dat het bureau geen AI-geassisteerde code mag gebruiken die GPL- of AGPL-output overneemt zonder expliciete schriftelijke melding aan u, en dat het bureau garandeert dat de opgeleverde site geen inbreuk maakt op rechten van derden. Dat beschermt u niet tegen de onderhouder die iets opmerkt. Het geeft u wel een route om de kosten terug te leggen bij het bureau als er een claim komt.
Ten vijfde, houd een software bill of materials bij voor uw clientside-bundle. Tools als cyclonedx-bom of de SBOM-exports die in moderne bundlers zitten, sommen elke dependency en zijn licentie op. Als er over een jaar een vraag komt, scheelt het hebben van een SBOM van die release een week werk.
Onze gratis compliance-scan controleert AVG, cookies, toegankelijkheid en beeldrechten op de live site. De scan controleert geen open-source licentienaleving, dat is werk dat in de developer-toolchain hoort. Behandel beide als parallelle sporen op dezelfde site.
Wat verandert op 9 december 2026
Richtlijn (EU) 2024/2853, de nieuwe productaansprakelijkheidsrichtlijn, behandelt software inclusief AI-systemen vanaf 9 december 2026 als product. Artikel 4 brengt AI-tools in scope. Artikel 2(2) sluit open-source software die buiten commerciële activiteit is ontwikkeld uit, dus de open-source onderhouder zelf is niet de gedaagde in een PLD-vordering. De commerciële AI-leverancier wel.
De relevantie voor AI-gegenereerde code is smal. Een Belgische kleine onderneming die schade ondervindt van een gebrekkige AI-tool, bijvoorbeeld waar de AI code aflevert met een beveiligingsfout die leidt tot een datalek met schade voor een natuurlijke persoon, kan onder de richtlijn een nieuwe risicoaansprakelijkheidsroute hebben tegen de AI-leverancier. De vordering geldt voor schade aan natuurlijke personen, en alleen voor producten die ná 9 december 2026 op de markt komen in lidstaten die hebben omgezet. De PLD is geen route om een GBA-boete terug te halen en bereikt geen bestaande tools met terugwerkende kracht. De productaansprakelijkheidsrichtlijn in detail behandelt scope en uitsluitingen.
Wat dit niet is
Dit artikel gaat over open-source licentieblootstelling als een AI code op uw site schrijft. Drie aangrenzende onderwerpen delen woorden met dit artikel.
Chatbot-disclosure en het labelen van AI-gegenereerde marketingcopy vallen onder Artikel 50 van de AI-verordening en AI-gegenereerde content, een ander regime dan auteursrecht op broncode. De beeldkant, waar AI-gegenereerde illustraties of foto's mogelijk inbreuk maken, staat in AI-gegenereerde beelden op uw site. De cookiebanner- en toegankelijkheidsvariant van dezelfde aansprakelijkheidsketen is de bredere AVG- en toegankelijkheidsvraag.
Veelgestelde vragen
Lost het duplicaatfilter van Copilot het risico op?
Nee. Het filter verkleint de kans op letterlijke reproductie van trainingsdata, dat is het ergste geval. Het lost geen bijna-identieke output op die nog steeds lijkt op een specifiek open-source bestand. Behandel het filter als risicovermindering, niet als juridische bescherming.
Ben ik aansprakelijk als mijn freelancer Cursor gebruikte zonder mij dat te vertellen?
De site-eigenaar is de partij die de code verspreidt naar bezoekers. Een open-source onderhouder die zijn code in uw bundle ziet, schrijft de domeineigenaar aan. Uw freelancer is u contractueel misschien een herstel verschuldigd, maar de blootstelling naar buiten ligt bij u.
Geldt dit voor serverside code of alleen voor clientside?
Vooral clientside. Code die naar de browser wordt verzonden is verspreiding onder de GPL en triggert attributie- en bronbeschikbaarheidsplichten. Serverside code die uw server nooit verlaat is doorgaans geen GPL-verspreiding, behalve onder AGPL, waar netwerkgebruik onder sectie 13 als verspreiding telt.
Is er een AI-codetool die veiliger is dan andere?
Betaalde Copilot Business- en Enterprise-abonnementen bevatten een IP-vrijwaring van GitHub als het duplicaatfilter aanstaat. Cursor, Claude, Cody en gratis Copilot-versies bieden per mei 2026 geen vergelijkbare standaardtoezegging. Controleer de actuele voorwaarden voordat u op een leveranciersbelofte vertrouwt.
Verder lezen
Cluster-artikelen die op dit aansluiten:
- Het volledige aansprakelijkheidsbeeld voor AI-gebouwde sites in België. Het hub-artikel over AVG-, EAA- en cookieaansprakelijkheid bij AI-geassisteerde sites.
- AI-gegenereerde beelden op uw website. De beeldkant van de AI-output-auteursrechtvraag.
- Productaansprakelijkheidsrichtlijn 2024/2853. Risicoaansprakelijkheid voor schade door gebrekkige AI-tools, vanaf 9 december 2026.
- De AI-verordening voor Belgische website-eigenaars. De aangrenzende kennisbron over transparantieplichten onder de AI-verordening.
Dit artikel is technische analyse, geen juridisch advies. De auteur is niet uw advocaat. Voor een bindend oordeel over een actuele licentievraag, raadpleeg een advocaat.