Een lezer vroeg me:
Steeds meer sites en platforms komen tegenwoordig met een eigen mobiele app, maar lang niet altijd zo handig als wel zou kunnen. Nu werken deze apps met op de achtergrond een API (application programming interface) die ik met mijn eigen app ook zou kunnen aanroepen. Maar mag ik hun app reverse engineeren om zo te achterhalen hoe die API van hen in elkaar steekt?
Reverse engineering, oftewel iets uit elkaar pluizen om te zien hoe het werkt, is in het algemeen toegestaan om principes en ideeën te achterhalen. De Auteurswet bevat een verbod op reverse engineering, maar dat gaat eigenlijk over decompileren: het reconstrueren van broncode uit een applicatie. Dat is aan meer regels gebonden. Je mag niet een applicatie decompileren om deze te klonen, maar wél om een compatibele app te maken.
Als je een app decompileert om zo de API te achterhalen, dan stap je in een grijs gebied. Enerzijds doe je dit om een eigen (met het platform) compatibele app te maken, maar anderzijds produceer je wel een soort van kloon van die “officiële” app, en dát mag dus niet. Gelukkig is het meestal genoeg om het dataverkeer te observeren en daaruit af te leiden hoe de API werkt. En dát mag altijd.
Een bijzonder geval ontstaat wanneer de API of het platform gericht is op het ontsluiten van een databank. Als zo’n databank beschermd is door een databankrecht, dan is jouw app mogelijk in strijd met dat recht, want hij biedt dan een middel voor de voorbehouden handeling van
het herhaald en systematisch opvragen of hergebruiken van in kwalitatief of in kwantitatief opzicht niet-substantiële delen van de inhoud van een databank, voorzover dit in strijd is met de normale exploitatie van die databank of ongerechtvaardigde schade toebrengt aan de rechtmatige belangen van de producent van de databank.
Ja, hele mond vol maar het is ook een draak van een wet. Even kijken: je app vraagt herhaald en systematisch data op, check. Per query is de inhoud niet substantieel (niet 90% van de databank), check. (En haal je wél substantieel de hele databank op dan ga je sowieso onderuit onder het databankenrecht.) Is het in strijd met de normale exploitatie of rechtmatige belangen van de producent? Ah, daar zit hem de kneep.
Ik zou zeggen dat wanneer de app hetzelfde soort functionaliteit biedt (maar dan handiger) als de officiële app, er niet snel strijd met normale exploitatie kan ontstaan. Als er een inkomstenstroom zit aan de officiële app (al zijn het maar advertenties) dan wordt het spannend want jouw app omzeilt die dan. En als je met jouw app iets gratis kunt opvragen dat normaal geld kost, dan zie ik ook wel een databankrechtelijk probleem.
Een app die iets heel nieuws doet op basis van een bestaande API, lijkt me in principe niet snel een probleem zolang er geen overlast komt door bv. onevenredig veel opvragingen. Stel je kunt op de Artis-site via een API de voedertijden opvragen, en jij maakt een app over apen (haha, hij zei apie en dat lijkt op API) die onder meer laat zien waar je in Amsterdam apen kunt bewonderen, inclusief de voedertijden van Artis, dan zie ik niet welk belang van Artis hier geschaad zou worden.
Dat zal rechthebbenden er echter niet van weerhouden met juridische dreigbrieven te komen. Of, iets praktischer, de opvragingen vanuit jouw app detecteren en blokkeren. En dat laatste mogen ze, ook als daar eigenlijk geen reden voor is. Het is hun server en willen ze jou niet faciliteren, dan houdt het op.
Arnoud