Na het behandelen van de technische aspecten van web scraping en het verkennen van privacy- en gegevensbeschermingwetgeving, is het tijd om het derde en laatste deel van deze reeks te behandelen. Al is het waarschijnlijker accurater om deze reeks een kleine thesis te noemen, wat doe ik mezelf ook aan. In dit deel behandel ik de legaliteit van web scraping vanuit een intellectueel eigendomsrechtelijk en contractrechtelijk perspectief. Tot slot eindig ik de reeks met enkele best practices en tips om, ondanks de nodige obstakels, toch verantwoord te kunnen web scrapen.
Intellectueel eigendomsrecht
Het intellectueel eigendomsrecht beslaat het recht dat zich richt op de bescherming van intellectuele creaties, zoals creatieve werken, innovaties en onderscheidende tekens. Om in deze blog de IE-aspecten van web scraping te behandelen, is het van belang te weten waar ik het over heb. Daarom heb ik een spoedcursus intellectueel eigendomsrecht gemaakt, toegespitst op het developerpubliek van deze blog. Althans, ik hoop dat mijn blog inmiddels door meer mensen dan familie wordt gelezen… Aangezien die blog uitgebreide informatie bevat, licht ik IE-begrippen in deze blog slechts kort toe.
Auteursrecht
Het auteursrecht, in Nederland geregeld in de Auteurswet (hierna: Aw), beschermt de maker van een origineel Een werk is een maaksel van "letterkunde, wetenschap of kunst" volgens art. 1 Auteurswet. Voor een uitgebreide opsomming kun je art. 10 Auteurswet raadplegen.tegen ongeoorloofd gebruik van zijn/haar werk door derden. De mogelijke inbreuk op het auteursrecht van anderen is één van de grootste zorgen bij web scraping. Deze potentiële inbreuken spelen met name bij afbeeldingen, zoals die gebruikt worden door systemen als Zie de AI-verklaring onderaan iedere pagina op deze website om te lezen hoe ik tegen het gebruik van een dergelijk programma aankijk en hoe ik met de ethische kwesties omga., en teksten, zoals gebruikt door systemen als ChatGPT. Wanneer je gegevens van een website schraapt zonder adequate waarborgen, is de kans dus aanzienlijk dat je auteursrechtelijk beschermde content meeneemt.
In Nederland is sprake van auteursrecht wanneer een werk een “eigen oorspronkelijk karakter en persoonlijk stempel van de maker” draagt. In de EU heeft het Hof van Justitie in Bron: Hugenholtz, P. B., & Quintais, J. P. (2021). Copyright and Artificial Creation: Does EU Copyright Law Protect AI-Assisted Output? International Review of Intellectual Property and Competition Law, 52(9), 1190–1216. https://doi.org/10.1007/s40319-021-01115-0 het criterium van “the author’s own intellectual creation” geformuleerd. Deze twee verschillende criteria komen praktisch op hetzelfde neer: heeft de auteur zelf (origineel/geen kopie), persoonlijke, creatieve keuzes gemaakt?
Concreet betekent dit dat ontzettend veel materiaal op het internet auteursrechtelijk beschermd is. Deze blogs worden bijvoorbeeld beschermd door het auteursrecht, maar zelfs een enkele zin kan al beschermd zijn, mits deze voldoende origineel is. Zo zou een zin als "Een gezelschap van welbespraakte zee-egels organiseerde een filosofisch debat op de bodem van de oceaan over het existentialisme van inktvissen" hoogstwaarschijnlijk beschermd zijn, terwijl "de kat ligt op de mat" waarschijnlijk nét buiten de boot valt, hoe teleurstellend dat ook mag zijn voor je poëtische aspiraties.
Auteursrecht op afbeeldingen
Zoals gezegd zijn systemen als Midjourney, Stable Diffusion (waaronder Dream Studio), Facebooks SEER gebruikt foto's van Instagram. Je geeft Meta (eigenaar Instagram) een gebruikerslicentie voor al jouw foto's op het platform. Doordat je het auteursrecht niet volledig overdraagt, zie ik zelf niet heel veel problemen met deze wijze en denk ik zelfs dat het één van de betere methoden is om een AI te trainen., DALL-E en DeviantArts DreamUp getraind op publieke data. Deze data is ook (zie mijn vorige blog omtrent privacyrecht voor meer informatie) vanuit een IE-perspectief niet zomaar te gebruiken, zoals velen denken. Dat betekent dat je in beginsel toestemming van de maker moet hebben. Wat betreft de huidige bekende namen in de AI-afbeeldingsgeneratormarkt (goed scrabblewoord), is dat weinig tot niet gebeurd.
Laten we eens kijken naar Stable Diffusion, Midjourney en DreamUp, drie populaire AI-systemen die profiteren van de datasets van het Large-scale Artificial Intelligence Open Network (LAION), een Duitse non-profitorganisatie. Een voorbeeld van zo'n dataset is LAION-5B, die maar liefst 5,85 miljard afbeeldingen met bijbehorende bijschriften (alt-tekst) bevat. Deze gegevens zijn eerst verzameld door de Common Crawl Foundation via web scraping, waarna LAION de afbeeldingen en teksten eruit filterde voor opname in LAOIN-5B, zonder rekening te houden met eventuele auteursrechten.
Zelf maakt LAION zich er makkelijk vanaf door te stellen dat het enkel hyperlinks en bijschriften beschikbaar stelt, wat volgens hem geen inbreuk op het auteursrecht zou vormen. Hoewel er inderdaad argumenten zijn voor de legitimiteit van het enkel beschikbaar stellen van hyperlinks, met name in het licht van het In deze zaak (C-466/12) oordeelde het Hof van Justitie van de Europese Unie dat het plaatsen van een hyperlink naar een auteursrechtelijk beschermd werk, dat zonder restricties op een andere website toegankelijk is, géén auteursrechtinbreuk vormt. Dit komt doordat er geen "nieuw publiek" wordt bereikt dat de auteursrechthebbende niet al in gedachten had toen hij het werk online plaatste.van het Hof van Justitie, geeft LAION aan dat het afbeeldingen heeft gedownload om bepaalde waarden te berekenen. Het feit dat ze daarna "alle foto's hebben weggegooid" verandert niets aan de inbreuk die ze hebben gemaakt op het auteursrecht van anderen.
Bovenstaand voorbeeld geeft aan dat de bekendste afbeeldingsgeneratoren op dit moment inbreuk maken op het exclusieve auteursrecht van makers. Op dat exclusieve recht zijn in Nederland enkele uitzonderingen. Zo heb je het citaatrecht (art. 15a Aw), waarbij werk geciteerd mag worden voor bepaalde rechtmatige doelen en de naam van de maker wordt vermeld. Ook is er de parodie-exceptie (art. 18a Aw), waarbij delen van een werk voor humoristische doeleinden mogen worden overgenomen, de thuiskopie (art. 16c Aw), gebruik in onderwijs (art. 16 Aw), persexceptie (art. 15 Aw) en enkele andere uitzonderingen. Ondanks dat deze uitzonderingen bestaan, zie ik ze niet snel van toepassing zijn op web scraping.
Overigens bestaat in de Verenigde Staten (hierna: VS) de zogeheten fair use doctrine die breder is dan de Europese en Nederlandse uitzonderingen. Dat is een Amerikaans concept dat in beperkte mate gebruik van auteursrechtelijk beschermd materiaal toestaat zonder toestemming van de
Bron: U.S. Copyright Office Fair Use Index
Deze doctrine is bedoeld om een evenwicht te creëren tussen de belangen van auteursrechthebbenden en het algemeen belang, met het oog op het bevorderen van creativiteit, innovatie en kennisdeling.
Regelmatig zie ik makers van AI-systemen opperen dat hun verzameling van trainingsdata via web scraping onder fair use zou vallen. Zelfs als dat het geval zou zijn, zou dat enkel gelden voor de VS. Echter, mij lijkt het (ontzettend) onwaarschijnlijk dat een dergelijk beroep op de fair use doctrine stand zou houden bij een federale rechter. Eén van de factoren bij de beoordeling of sprake is van fair use, is de hoeveelheid (van het individuele werk en het totale aantal aan werken) die wordt gekopieerd. Persoonlijk zou ik mij toch even achter de oren krabben als ik het gebruik van 5,85 miljard afbeeldingen als fair use aan zou willen merken.
Auteursrecht op teksten
Bij veel web scraping-praktijken worden slechts feitelijke gegevens als prijzen, autospecificaties en het weer opgehaald. Die gegevens vallen niet snel onder het auteursrecht, omdat deze niet voldoende origineel zijn. In het geval van large language models, zoals ChatGPT, en andere op tekst gebaseerde AI-systemen is dat anders. Met name large language models zijn afhankelijk van (vaak originele) teksten om correct getraind te worden. Een systeem is immers zo slim als de data waarmee het gevoed is.
Daarom wordt web scraping gebruikt om zulke systemen – maar ook andere software en toepassingen – te voorzien van data afkomstig uit analoge en digitale bronnen. Daarbij kan worden gedacht aan artikelen, blogposts, gedichten, socialmedia-posts, boeken, tijdschriften, kranten en andere proza. Veel van zulke bronnen zijn auteursrechtelijke beschermd. Zo ook computercode.
Computercode wordt regelmatig van het internet gescraped voor toepassingen als het controleren op naleving van softwarelicenties, codekennisbanken aan te leggen en voor AI-toepassingen. Enkele bekende voorbeelden van die laatste toepassing zijn GitHubs (onderdeel van Microsoft) Copilot, Tabnine, ChatGPT en Ghostwriter. In feite wijken de regels voor het scrapen van computercode niet af van die voor andere tekstsoorten, waardoor ook deze vorm van scraping problematisch kan zijn.
Dat blijkt eveneens uit een Zie voor meer informatie over massazaken mijn blog over Joy-Con drift en gedwongen arbitrage.die tegen Github en zijn zakenpartner OpenAI is gestart. Volgens de initiatiefnemers zou Copilot zich op Bron: Github Copilot litigation Doordat Copilot is getraind op publieke Een GitHub-repository fungeert als een centrale locatie waar ontwikkelaars hun code kunnen opslaan, wijzigingen kunnen bijhouden, en samen kunnen werken aan het verbeteren en uitbreiden van softwareprojecten.(en mogelijk nog veel meer), zouden open-sourcelicenties zijn geschonden en zou, onder andere, het auteursrecht van programmeurs zijn geschonden door hun naamsvermeldingen te verwijderen.
Gelet op het bovenstaande gaat web scraping gepaard met de nodige auteursrechtelijke complicaties. Hoe je deze complicaties zo goed mogelijk kan verhelpen, lees je aan het einde van deze blog.
Databankenrecht en Web Scraping
Naast het auteursrecht speelt ook het databankenrecht een belangrijke rol bij web scraping. In de Europese Unie wordt het databankenrecht geregeld door de Richtlijn 96/9/EG (hierna: Richtlijn), die een tweeledige bescherming biedt: auteursrechtelijke bescherming voor de structuur van de databank en een zogenaamd 'sui generis' recht voor de maker van de databank. In Nederland is de Richtlijn geïmplementeerd in de Databankenwet (hierna: Dbw).
Volgens artikel 1 lid 1 sub a Dbw wordt een databank gedefinieerd als "een verzameling van werken, gegevens of andere onafhankelijke elementen die systematisch of methodisch geordend zijn en afzonderlijk met elektronische middelen of anderszins toegankelijk zijn.” Een databank wordt beschermd als er aanzienlijke investeringen zijn gedaan in de verkrijging, controle of presentatie van de inhoud. Artikel 2 lid 1 Dbw geeft de producent van een databank het exclusieve recht om de inhoud van de databank te gebruiken, en om de databank geheel of gedeeltelijk op te vragen of te hergebruiken. Web scraping kan dus in strijd zijn met het databankenrecht wanneer een databank ongeoorloofd wordt gescrapet.
In de zaak van Ryanair Ltd v. PR Aviation BV (C-30/14) heeft het Hof van Justitie uitspraak gedaan omtrent web scraping en het databankenrecht. PR Aviation gebruikte web scraping om gegevens over vluchten en prijzen van de Ryanair-website te extraheren en deze gegevens te presenteren op hun eigen website, zonder toestemming van Ryanair. Ryanair beweerde dat dit inbreuk maakte op hun auteursrechten en databankenrechten en in strijd was met de gebruiksvoorwaarden van hun website. Echter, in dit geval oordeelde het Hof dat door Ryanair gedane investering niet aanzienlijk genoeg was om beschermd te worden door het databankenrecht en ook niet creatief genoeg om door het auteursrecht beschermd te worden. Daar blijkt uit dat echt niet iedere databank als zodanig beschermd wordt.
Toch werd er wel een ander element voor web scraping duidelijk in bovenstaande zaak. Het Hof gaf namelijk aan dat lidstaten (zoals Nederland) contractuele beperkingen mogen opleggen aan het gebruik van Dus als het een beschermde databank is, moet je je houden aan het databankenrecht of auteursrecht. Als dat niet zo is, aan algemene voorwaarden.Laat dat nu net het perfecte bruggetje zijn voor het laatste rechtsgebied dat ik ga behandelen: het contractrecht.
Contractrecht
Wees niet bang, over de legaliteit van web scraping in de context van het contractrecht kan ik een stuk korter zijn dan over het privacy- en intellectueel eigendomsrecht. Hieronder licht ik toe welke contractrechtelijke aspecten relevant zijn voor web scraping. Daarna ga ik, ter afronding van deze blogreeks, in op best practices en manieren waarop ik denk dat je juridisch en ethisch verantwoord aan web scraping kunt doen.
Algemene voorwaarden
Bij web scraping kan het contractrecht een rol spelen, voornamelijk via de algemene voorwaarden (ook wel gebruik servicevoorwaarden, gebruikersvoorwaarden etc.) van websites. Dit zijn letterlijk algemene voorwaarden – dus geen bepalingen die voor een specifieke bezoeker of klant geldt – die de relatie tussen de website-eigenaar en de bezoeker bepalen. Ook kunnen ze beperkingen en verboden opleggen, die onder andere kunnen zien op web scraping.
Om rechtsgeldig te zijn, moeten algemene voorwaarden aan bepaalde vereisten voldoen. In Nederland zijn de belangrijkste vereisten voor de rechtsgeldigheid van algemene voorwaarden vastgelegd in het Burgerlijk Wetboek (BW).
- Kenbaarheid: de wederpartij (je klant/bezoeker etc.) moet op de hoogte zijn van de algemene voorwaarden. Concreet betekent dit dat de wederpartij de algemene voorwaarden ook echt moet (kunnen; daadwerkelijk lezen is irrelevant) hebben gezien. Vaak worden de voorwaarden daarom bij bijvoorbeeld een offerte meegestuurd, maar kunnen ze ook naast een vinkvakje bij het afrekenen op een website staan. Voor dienstverleners (wat er veel zijn, denk aan alle online diensten) gelden nog wat soepelere regels. Daarbij is het voldoende om bijvoorbeeld in de footer van de website te verwijzen naar de voorwaarden (art. 6:230c lid 3 BW). Dat is überhaupt een best practice, daardoor verklein je immers de kans dat een wederpartij kan zeggen de voorwaarden nooit te hebben gezien.
- Aanvaarding: naast de kenbaarheid, moet de wederpartij ook akkoord zijn gegaan met de algemene voorwaarden. Dat lijkt voor de hand liggend, maar is wel essentieel om voorwaarden te doen gelden. Naast de standaardwijzen van aanvaarding zoals een akkoord uitspreken/typen en een vakje aan te vinken, zijn er andere wijzen van aanvaarding met specifieke regels. Zo is in Nederland en veel andere jurisdicties een browse-wrap acceptatie, waarbij iemand akkoord gaat enkel door een website te gebruiken, bijna altijd ongeldig. Wat wel weer mag is een click-wrap, waarbij de (specifieke) inhoud van een website pas wordt getoond nadat op een knop (“I agree”, “Voorwaarden accepteren”) wordt geklikt waardoor de voorwaarden worden aanvaard.
Doordat browse-wrap bijna nooit als rechtsgeldige acceptatie wordt gezien, zie je vaak dat websites hun informatie achter een inlogscherm of andersoortige ‘poort’ verstoppen. Dat is logisch, want daarmee kun je ervoor zorgen dat je bezoekers zich wel aan de voorwaarden verbinden. Voor web scraping is het dus van belang om te kijken naar de algemene voorwaarden van de te scrapen website en de rechtsgeldigheid van de acceptatie daarvan. Staat erin dat web scraping verboden is en moet je de voorwaarden accepteren voordat je relevante informatie krijgt te zien? Dan overtreed je de voorwaarden van de website als je toch overgaat tot scraping.
Robots.txt
Zoals ik in deel 1 van deze heb uitgelegd, is robots.txt een instructiedocument voor web crawlers. Daarin kunnen instructies voor crawlers worden opgenomen over de wijze waarop/of gescraped mag worden. Eigenlijk kun je dit als een soort afgezwakte algemene voorwaarden, speciaal voor web crawlers zien. Ik zeg hierbij afgezwakte, omdat het bestand niet bindend is. Toch is het van belang het bestand te respecteren, en wel om twee redenen.
Ten eerste geeft het bestand aan dat een eigenaar niet wil dat een deel of de hele website gescrapet wordt. Daardoor kun je verwachten dat de eigenaar ook andere juridische en technische waarborgen heeft ingebouwd om scrapen tegen te gaan. Ook al zou de eigenaar dat zijn vergeten of zouden de waarborgen niet goed zijn geïmplementeerd, vind ik dat je vanuit ethisch oogpunt de keuze van de eigenaar moet respecteren. Ten tweede is het voor iedereen vrijwel iedereen in de internetsector duidelijk (ten minste voor ontwikkelaars en gebruikers van web scrapers) duidelijk wat robots.txt inhoudt. Daarom kan een rechter extra gewicht toekennen aan het feit dat een dergelijk bestand, wat zo gangbaar is in het werkveld, genegeerd wordt. Dat komt een eventuele rechtszaak waar een web scraper mee te maken kan krijgen niet ten goede.
Best practices: ethisch en juridisch verantwoorde web scraping
Dames en heren, het einde is in zicht. In deze blogreeks heb ik het hoe, wat en waarom van web scraping uitgelegd. Vervolgens ben ik ingegaan op de privacy-, intellectueel eigendoms- en contractrechtelijke aspecten van web scraping om zo de legaliteit daarvan te belichten. Aangezien ik de filosofie aanhang – zeker in mijn werk – dat in principe alles kan, mits er een goede reden voor is, licht ik in dit laatste stuk van de reeks toe hoe ik denk dat je toch verantwoord kan web scrapen. Let wel dat voldoen aan onderstaande criteria geen garantie voor legitiem web scrapen is, maar ik denk dat je daarmee een sterk verhaal hebt om te betogen waarom dat wél het geval zou zijn.
- Vermijd persoonsgegevens: probeer persoonsgegevens te allen tijde te vermijden. Ze zorgen ervoor dat je onder het regime van de AVG valt en het lijkt er vooralsnog op dat menig web scraper het af moet leggen tegen de rechten van betrokkenen.
- Gerechtvaardigd belang: scrape je toch persoonsgegevens en doe je dat niet op basis van toestemming of een andere grond? Zorg dan voor een sterk verhaal wanneer je gebruikmaakt van het gerechtvaardigd belang voor web scraping. Je moet op zijn minst goed weten te onderbouwen waarom jouw legitieme belang zwaarder moet wegen dan dat van de betrokkenen wiens gegevens je binnenhaalt.
- Informeer betrokkenen: informeer betrokkenen over je web scraping-activiteiten. Ondanks dat dit lastig kan zijn, is het wel een belangrijk element om aan de AVG te voldoen. Werk bijvoorbeeld samen met eigenaren van gescrapete websites, plaats je activiteiten prominent op je eigen website en promoot (dat onderdeel van) je website. In het ‘ergste’ geval dien je betrokkenen, al dan niet geautomatiseerd, individueel te informeren over de scraping.
- Anonimisering en pseudonimisering: als je persoonsgegevens verzamelt, zorg er dan voor dat je deze anonimiseert of, wanneer dat niet mogelijk is, op zijn minst pseudonimiseert.
- Verzamel alleen de noodzakelijke gegevens: beperk de verzameling van gegevens tot wat strikt noodzakelijk is voor je doel. Dat is niet alleen relevant voor persoonsgegevens, maar voor ieder soort gegeven dat je binnenhaalt.
- Houd rekening met IE-rechten: we zagen dat intellectueel eigendomsrechten al snel van toepassing zijn. Ga dus ten eerste na of ergens een vermelding van een IE-recht staat en als dat ontbreekt, dien je zelf te onderzoeken of een werk beschermd is.
- Scrape het publiek domein: het publiek domein omvat alle werken die niet, of niet meer door het intellectueel eigendomsrecht worden beschermd. Kijk dus of je je doel kan bereiken door dat soort werken te gebruiken.
- Vraag toestemming: natuurlijk is dit niet altijd een optie, maar wanneer het dat wel is, is het voor meerdere problemen een uitkomst. Je kunt bijvoorbeeld toestemming vragen aan de eigenaar om gegevens te scrapen, al dan niet door een overeenkomst te sluiten. Daardoor kun je dan ondanks eventuele algemene voorwaarden, auteursrechten of databankrechten informatie scrapen. Ook kun je samenwerken met de eigenaar om de gescrapete data bijvoorbeeld te verrijken. Wanneer je te maken hebt met beschermd materiaal van gebruikers (auteursrecht of persoonsgegevens bijvoorbeeld), kan de eigenaar dan weer toestemming vragen aan individuele gebruikers waardoor hun informatie – eventueel voor een bepaalde beloning – mag worden gescraped.
- Controleer de algemene voorwaarden: controleer wat in de algemene voorwaarden van websites staat en of deze geaccepteerd moeten worden voordat je toegang tot relevante data kunt krijgen.
- Respecteer robots.txt: respecteer wat een eigenaar in dit instructiebestand voor crawlers heeft opgenomen. Door deze richtlijnen te volgen voorkom je (regelmatig) juridische problemen en handel je ethisch verantwoord naar de eigenaar toe.
- Beperk de belasting op de webserver: web scraping kan de webserver van een gescrapete website overbelasten, wat in ernstige gevallen als een Een DDoS-aanval (Distributed Denial of Service) is een aanval waarbij een groot aantal systemen wordt gebruikt om een netwerk, server of website te overbelasten met valse verzoeken, waardoor de legitieme verkeersstromen worden verstoord en de dienstverlening tijdelijk onbereikbaar wordt voor gebruikers. Bijvoorbeeld de Belastingdienst is hier weleens de dupe van.kan worden gezien. Dat is zeker het geval bij kleinere websites. Daarom is het wel zo netjes om de belasting te verminderen door bijvoorbeeld de frequentie van het scrapen beperkt te houden.
Conclusie
Web scraping is een krachtig hulpmiddel voor gegevensverzameling, maar het is belangrijk om rekening te houden met de juridische en ethische implicaties. Door bovenstaande tips en best practices te volgen, kun je web scraping op een vermoedelijk juridisch en ethisch verantwoorde manier uitvoeren. Houd rekening met zowel het privacyrecht, intellectueel eigendomsrecht en het contractrecht bij het plannen van je web scraping activiteiten; dat kan je een hoop ellende besparen.