GitHub brengt AI-programmer uit die helpt bij het schrijven van code, mag dat van de GPL?

| AE 12764 | Intellectuele rechten, Ondernemingsvrijheid | 10 reacties

GitHub heeft een technische preview uitgebracht van Copilot, een AI-gedreven pair programmer die ontwikkelaars helpt bij het schrijven van code. Dat las ik bij Tweakers. Copilot stelt contextgebonden code en functies voor, en helpt acties bij het oplossen van problemen door te leren van de code die iemand schrijft. De AI is getraind op een grote dataset van publieke broncode, en dat zal vast grotendeels open source zijn onder de GPL want dat is nu eenmaal de bulk van de “publieke” software. Maar de GPL vindt daar iets van, van hergebruik.

Copilot kan automatisch opmerkingen omzetten in code, repetitieve code aanvullen en een functie testen tijdens het schrijven. Het systeem leert en verbetert zichzelf. Het klinkt als een hele goede ontwikkeling, maar als je even doordenkt dan besef je dat dit alleen kan door een héle berg broncode door te akkeren en tot een machine learning model om te zetten. Dat zegt men zelf ook:

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.

Er is die merkwaardige gedachte dat als iets “publiek” is, dat je er dan wat mee mag. Misschien moeten we naast “data is niets” nog een juridisch mantra invoeren: “dat het publiek is, is geen argument”. Want het gaat hier om software, en die is zonder twijfel auteursrechtelijk beschermd. En wanneer die “publiek” online staat, dan weet ik vrij zeker dat het om open source gaat. En dan krijg je dus te maken met de licentie. Of niet?

Interessant genoeg zegt men in de FAQ dan:

GitHub Copilot is a code synthesizer, not a search engine: the vast majority of the code that it suggests is uniquely generated and has never been seen before. We found that about 0.1% of the time, the suggestion may contain some snippets that are verbatim from the training set. Here is an in-depth study on the model’s behavior.
Er is natuurlijk een ontzettend groot verschil tussen een lap code copypasten en heel goed kijken naar “billions of lines of code” om jezelf te trainen. Wie zei dat ook weer, kopiëren uit één bron is diefstal en kopiëren uit honderd is inspiratie? Dat lijkt me hier ook van toepassing.

Het komt neer op de algemene vraag of het maken van een machine learning model een kopie is van alle brondocumenten of -data. Als dat zo is, dan krijg je met de licentie te maken en daar zou dan in dit geval de GPL op van toepassing kunnen zijn. Dan zou alle code die Copilot suggereert, onder de GPL vallen, want dan is al die code afgeleid van de GPL code die erin ging. En dan is dus ook elk door Copilot mede geschreven project GPL.

Bewijstechnisch valt daar nog wel wat op aan te merken: de GPL auteur zal moeten bewijzen dat deze suggestie gedaan is op basis van haar code, want zonder kopie geen inbreuk. En dat zal niet meevallen. Maar dat terzijde.

Is een machine learning model inbreuk op de rechten van de brondocumenten? In de VS waarschijnlijk niet. In 2019 oordeelde de Second Ciruit (de hogerberoepsrechter voor New York, Connecticut en Vermont) dat het verwerken van stukjes uit boeken om een boekenzoekalgoritme te trainen géén inbreuk op auteursrechten is. De dataset die daarmee ontstaat, is dus niet onderworpen aan toestemming (of licentie) van de boekenrechthebbenden.

In Europa zijn er geen vergelijkbare zaken. We hebben wel de Infopaq-zaak, waarin werd bepaald dat het overnemen en verspreiden van 11 woorden (een snippet in zoekresultaten) onderworpen kan zijn aan auteursrechten, maar het ging daar om het publiceren van zoekresultaten in een nieuwsbrief. Dat is toch echt wat anders dan een statistisch model maken waarin staat dat codestukje X vaak samengaat met Y, of dat constructie A goed aansluit bij aanhef B. Ik volg dan ook de conclusie van professors Gotzen en Janssens:

Vooral de overwegingen in de arresten Infopaq I, in verband met bepaalde handelingen van ‘data capturing’ die onder het toepassingsgebied van de uitzondering kunnen vallen, verdienen aandacht. Maar de vijf voorwaarden die de uitzondering … oplegt, zijn cumulatief en, mede in het licht van de regel van de strikte interpretatie, zijn we niet geneigd om te concluderen dat alle gebruikshandelingen voor het trainen van AI-systemen die gebruik maken van beschermd materiaal, door deze uitzondering zullen worden afgedekt.
Die vijf voorwaarden zijn als volgt:
  1. deze handeling is tijdelijk;
  2. deze handeling is van voorbijgaande of incidentele aard;
  3. deze handeling vormt een integraal en essentieel onderdeel van een technisch procedé;
  4. dit procedé wordt toegepast met als enig doel de doorgifte in een netwerk tussen derden door een tussenpersoon of een rechtmatig gebruik van een werk of beschermd materiaal mogelijk te maken, en
  5. deze handeling bezit geen zelfstandige economische waarde.
Een machine learning dataset maken is een tijdelijke handeling, die essentieel en integraal nodig is om het neuraal netwerk mee te maken. Dat trainen is niet op zichzelf economisch waardevol (de exploitatie van het resultaat natuurlijk wel, maar dat bedoelt men hier niet). Punt 4 zou je dan naar analogie moeten interpreteren, wat het Hof van Justitie doet in punt 64 van het arrest:
wanneer de levensduur ervan is beperkt tot hetgeen noodzakelijk is voor de goede werking van het betrokken technische procedé, waarbij dit procedé geautomatiseerd moet zijn zodat deze handeling automatisch, zonder menselijke interventie, wordt gewist zodra de functie ervan om dit procedé mogelijk te maken is vervuld.
Oftewel in gewone taal “ik extraheer even de essentiële kenmerken om een statistisch model te maken, daarna gooi ik het weer weg” en dat zou dan mogen.

Arnoud

Raad van State: Tweede Kamer hoeft broncode van debat-app niet openbaar te maken

| AE 12600 | Informatiemaatschappij | 1 reactie

De Tweede Kamer hoeft de broncode van de Debat Direct-app definitief niet openbaar te maken, meldde Tweakers donderdag. Dit is de einduitspraak in die zaak van laatst, waarin een IT’er al sinds 2018 probeert toegang te krijgen tot de broncode van de Debat Direct app van het parlement. De Raad van State oordeelt nu dat dit niet kan, omdat de ingezette wetten – de Wob en de Wet hergebruik overheidsinformatie – niet van toepassing zijn op de Tweede Kamer als orgaan. Het artikel bij Tweakers gaf vele reacties, inclusief speculatie waarom de overheid toch zo moeilijk zou doen met het achterhouden van deze informatie. Die nota bene feitelijk al online staat, want het is Javascript.

Mijn gevoel bij de zaak is dat men dacht, een Apple + Android app én een webapp dan kan iedereen erbij. Er is dan geen reden om ook nog de API’s vrij te geven. Misschien kortzichtig/naïef, maar ik zie het praktijkgerichte argument wel dat “iedereen er nu toch naar kan kijken”? De vraag om API’s is marginaal te noemen.

Je houdt dan het principiële punt over, en dat is natuurlijk een zeer geliefde kluif voor juristen. (Wat zegt een advocaat in een contractenzaak als eerste? “Pacta sunt servanda”. En als tweede? “Dit lijkt een eenvoudig geschil, maar het gaat om het principe”. De rechter weet dat het dan een lange dag gaat worden.)

Bij een principieel punt moet natuurlijk je algemene regels aandragen om je zaak te onderbouwen, en dan gaan andere belangen meespelen. Zoals hier, als je zegt “in principe heeft de burger recht op de broncode” dan moet je een wet zoals de Wet hergebruik overheidsinformatie erbij slepen. En dan is er een principieel verweer: de TK valt buiten die wet. Je wilt dan niet als TK het precedent scheppen dat je voor software wél onder die wet valt. Waarom niet? Uit principe niet. Dat werkt twee kanten op.

Vervolgens liet men de advocaten los en die zijn vanuit dat principieel verweer gaan terugvechten. Er is dan niemand die een stap terugdoet, zoals door te zeggen “jongens alles stáát al online” of “weet je wat, hier is een API definitie en onze endpoint staat hier, zullen we de rest van het geld besteden aan wat nuttigs”. Want het ligt onder de rechter, dus blijf je eraf.

Zoals ik wel vaker zeg, geen complot veronderstellen waarin simpele incompetentie of naïviteit genoeg is als verklaring.

Arnoud

Gaat het om open source of open API’s bij de overheid?

| AE 12568 | Regulering | 6 reacties

De overheid heeft een moeizame relatie met ict, zo poneert een interessant Tweakers-artikel over openbaarheid bij overheids-ICT-projecten. Al geruime tijd (sinds 2002, Motie-Vendrik) worstelt men met het idee van openheid bij software en data die door de overheid wordt ontwikkeld. Het sterkst is het pleidooi geweest voor het openen (bevrijden) van software. Maar zelf neig ik er steeds meer naar om te zeggen: het gaat om de data en de API’s. Dat ga ik uitleggen.

Het Tweakers-artikel gaat in op een recente rechtszaak om vrije (vrij als in vrijheid) toegang te krijgen tot de broncode van de “Debat Direct”-app, waarmee het mogelijk is om debatten in het parlement live te bekijken of achteraf terug te kijken. Er is alleen geen Linux versie, uitsluitend MacOS en Windows worden ondersteund. In maart bepaalde de rechtbank dat deze app wettelijk niet openbaar hoeft te zijn, onder meer omdat de Wet openbaarheid van bestuur niet geldt voor de Tweede Kamer en de Wet hergebruik overheidsinformatie niet geldt voor apps.

Vervolgens blijkt dat de app gewoon Javascript is, niet eens obfuscated, zodat je je kunt afvragen wat er dan niet openbaar is aan die broncode. En het gevolg is natuurlijk dat alleen een licentie nodig is, want zonder licentie mag je niets met software, hoe openbaar of publiek beschikbaar de broncode ook is.

Vanaf 2021 moet alle nieuwe software van de overheid openbaar zijn, maar dat helpt natuurlijk niet voor al die legacy software die er al is. Of voor al die data en protocollen die er achter zitten. Gelukkig is er het Open Data portaal, waar je alvast een hoop overheidsdata in kunt vinden. Maar nog lang niet alles.

En ja die API’s dus. De Application Programming Interfaces dus, de manier waarop je als applicatie tegen een andere zegt wat ‘ie moet doen of geven. Die zijn de kern van het samenwerken tussen applicaties – en van het kunnen herimplementeren van functionaliteit, zoals bij die Debat Direct app. Als je weet hoe je moet vragen om een lijst van debatten en de livestream van debat 23, dan hoef je die hele app niet meer te hebben. Dat integreer je dan zelf in je dashboard of eigen app.

Wat mij betreft is dat de kern van vrije informatie: dat je overal bij kunt en alles kunt gebruiken waar je bij kunt. Of je dat nou doet met een bijgeleverde app of dat je er zelf eentje maakt, dat hoort niet ter zake te doen. Daarom: het gaat om de data (en de API).

Arnoud

Is een contributor license agreement wel gunstig voor een OSS ontwikkelaar?

| AE 12468 | Intellectuele rechten | 19 reacties

Een lezer vroeg me: Ik wilde een bijdrage doen aan een opensourceproject. De stichting erachter geeft echter aan dat ik daarvoor een contributor license agreement (CLA) moet tekenen. Dit omdat OSS licenties problematisch zijn in Europa vanwege morele rechten? Enig idee hoe dat zit? En welke nadelen haal ik me op de hals? Een contributor… Lees verder

Niet noemen open source licentie is auteursrechtinbreuk

| AE 12278 | Intellectuele rechten | 6 reacties

Apollo Fintech maakte inbreuk op het auteursrecht van Jelurida door een cryptomunt aan te bieden die is gebaseerd op de ‘Nxt software’, zonder daarbij de licentie van Jelurida (de Jelurida Public License of ‘JPL’) te verstrekken, zo meldde Rechtspraak.nl onlangs (via). Leuk dat dan ‘JPL’ tussen aanhalingstekens moet als kennelijk gekke term, terwijl cryptomunt gewoon… Lees verder

Anno 2020 denken mensen nog steeds dat open source juridisch riskant is

| AE 11972 | Intellectuele rechten | 16 reacties

Via Bert Boerland op Twitter las ik: Bijzonder lachwekkend (tot tranen toe!) stukje over #opensource (#cms-en) en licenses. Microsoft deed dit truukje (“Fear, Uncertainty and Doubt) zo’n 10 jaar geleden nog, maar is op het rechte pad. Lang geleden dat ik zo’n tenenkrommend stuk over proprietary vs OSS stuk las Het gaat om dit artikel… Lees verder

Hoe ethisch verantwoord mag een opensourcelicentie zijn?

| AE 11538 | Ondernemingsvrijheid, Uitingsvrijheid | 23 reacties

Een nieuwe toevoeging aan het opensourcefirmament: de Hippocratische licentie, grofweg de MIT licentie met de toevoeging dat de software niet mag worden ingezet voor doelen die de Universele Verklaring van de Rechten van de Mens schenden. Iets preciezer: die mensen in gevaar brengt of hun well-being aantast op een wijze in strijd met de UVRM…. Lees verder

Is het legaal in je licentie barre arbeidsomstandigheden te verbieden?

| AE 11219 | Ondernemingsvrijheid, Uitingsvrijheid | 19 reacties

Een nieuw fenomeen in licentieland: de Anti 996 licentie, een variant op de opensource BSD licentie die een unieke beperking kent. De licentienemer (gebruiker van de software) mag in zijn bedrijf geen onwettige arbeidsomstandigheden toelaten. De term “996” komt uit een Chinese praktijk- van 9 tot 9 werken, 6 dagen per week – dat leidde… Lees verder

Hoe je een bak geld verdient door gewoon de inkoopvoorwaarden te accepteren, wacht wat?

| AE 11011 | Security | 3 reacties

Corporate purchasing and policies make funding open source Literally Impossible, aldus Swift on Security, een parodiërende maar serieus te nemen securityonderzoekster. De onderliggende klacht is namelijk best reëel: als je een paar tientjes wilt vragen van een groot bedrijf om een bug in je open source project te fixen, dan is dat enorm ingewikkeld. Maar… Lees verder

Nu ga ik aan mezelf twijfelen, is de GPLv2 eigenlijk wel een contract?

| AE 10903 | Intellectuele rechten | 48 reacties

Heibel in de Linuxtent, blogde ik vorige week. Ontwikkelaars aan het besturingssysteem lagen in de clinch over een Code of Conduct die ongepast gedrag vastlegt, met de nodige interpretatieproblemen tot gevolg. Dat leidde tot een oproep om je GPL-licentie in te trekken en zo je stem te laten horen. Waarop ik me afvroeg, kan dat… Lees verder