Programmeur en jurist Matthew Butterick heeft Microsoft en Github aangeklaagd vanwege schendingen van opensourcelicenties, las ik bij Bleeping Computer. De reden is Github’s tool Copilot, een AI code generator die getraind is op de bergen software die op Github gehost worden. De generator blijkt regelmatig lappen tekst uit bestaande werken 1-op-1 aan te leveren, zonder daarbij de juiste licentie + bron te noemen. Hoe zeiden ze dat ook weer, één bron jatten is plagiaat en duizend is inspiratie?
Vorig jaar bracht Github de dienst Copilot uit, een AI-gedreven pair programmer die ontwikkelaars helpt bij het schrijven van code. Copilot stelt contextgebonden code en functies voor, en helpt actief bij het oplossen van problemen door te leren van de code die iemand schrijft. “Trained on billions of lines of public code, GitHub Copilot puts the knowledge you need at your fingertips, saving you time and helping you stay focused.” Het idee is vrij simpel: soms heb je even een klein zetje nodig, een paar regels code om weer verder te kunnen – of om te beseffen, nee dit is precies niet hoe het moet. (Ik experimenteer zelf met Lex.page, die dit doet voor tekstschrijvers, als iemand een invite wil hoor ik het graag.)
Het probleem is natuurlijk: die suggesties moeten ergens vandaan komen. Dat is dus die inspiratie, die patronen die Copilot leert herkennen in honderdduizenden bestanden met source code. Net zoals Lex.page en vele andere tools dat doen met tekst, en DALL-E en consorten met afbeeldingen. Alleen: die hebben een bronbestand dat orde van groottes ruimer is. Alle teksten van heel internet versus alle geprogrammeerde software op Github, dat scheelt nogal een slok op een borrel. Daar komt bij dat er bij software nou eenmaal heel wat minder manieren zijn om iets aan te geven, het moet nou eenmaal technisch aansluiten op het voorgaande.
Het verbaast mij dan ook helemaal niets dat je bij Copilot veel vaker gewoon een lap code uit eerdere software krijgt, “hier, zoals deze het doet”. Dat is helemaal logisch gezien context en dataset, alleen is dat juridisch dus problematisch want een lap broncode in je eigen werk overnemen noemen wij auteursrechtinbreuk tenzij dat mag van de licentie. En aangezien dat dus vaak een opensourcelicentie is, krijg je dan te maken met eisen zoals naamsvermelding of – bij de GPL – het weer moeten open sourcen van je eigen broncode wanneer je dat werk publiceert.
Naar goed Amerikaans gebruik is Butterick dus nu een class action lawsuit begonnen, waar iedereen mag meedoen die ook code op Github heeft staan. Het lastige bij zulke zaken is altijd bewijzen dat jouw werk is overgenomen. Maar specifiek bij dit soort Amerikaanse zaken kan dit interessant worden: als onderdeel van de discovery procedure moet Github op zeker moment onthullen hoe zij aan haar dataset is gekomen. En dan kun je gewoon zien dat jouw code daarin is opgenomen (of niet, maar dat lijkt onwaarschijnlijk).
Arnoud