← Terug 45l · Ideeën achterhalen door te testen Verder 45n · Uitzonderingen die software niet kent →

Artikel 45m Aw: Decompileren voor interoperabiliteit

Decompileren voor interoperabiliteit

Wettekst

  1. Als inbreuk op het auteursrecht op een werk als bedoeld in artikel 10, eerste lid, onder 12°, worden niet beschouwd het vervaardigen van een kopie van dat werk en het vertalen van de codevorm daarvan, indien deze handelingen onmisbaar zijn om de informatie te verkrijgen die nodig is om de interoperabiliteit van een onafhankelijk vervaardigd computerprogramma met andere computerprogramma’s tot stand te brengen, mits: a. deze handelingen worden verricht door een persoon die op rechtmatige wijze de beschikking heeft gekregen over een exemplaar van het computerprogramma of door een door hem daartoe gemachtigde derde; b. de gegevens die noodzakelijk zijn om de interoperabiliteit tot stand te brengen niet reeds snel en gemakkelijk beschikbaar zijn voor de onder a bedoelde personen; c. deze handelingen beperkt blijven tot die onderdelen van het oorspronkelijke computerprogramma die voor het tot stand brengen van de interoperabiliteit noodzakelijk zijn.
  2. Het is niet toegestaan de op grond van het eerste lid verkregen informatie: a. te gebruiken voor een ander doel dan het tot stand brengen van de interoperabiliteit van het onafhankelijk vervaardigde computerprogramma; b. aan derden mede te delen, tenzij dit noodzakelijk is voor het tot stand brengen van de interoperabiliteit van het onafhankelijk vervaardigde computerprogramma; c. te gebruiken voor de ontwikkeling, de produktie of het in de handel brengen van een computerprogramma, dat niet als een nieuw, oorspronkelijk werk kan worden aangemerkt of voor andere, op het auteursrecht inbreuk makende handelingen.

Toelichting

Soms moet je in de code van een programma kijken om er iets anders op te kunnen aansluiten. Dit artikel staat dat toe: een kopie maken en de codevorm vertalen mag, maar uitsluitend als dat onmisbaar is om de informatie te krijgen die nodig is om een zelfstandig ontwikkeld programma te laten samenwerken met andere programma's. Buiten dat doel blijft het verboden.

De afweging is duidelijk. Aan de ene kant heeft de rechthebbende er belang bij dat zijn code gesloten blijft. Aan de andere kant zou hij, als niemand mag koppelen, elke markt om zijn programma heen kunnen afsluiten. De wetgever heeft de deur daarom op een kier gezet, met een slot erop in de vorm van drie voorwaarden vooraf en drie verboden achteraf.

De voorwaarden vooraf

1. Degene die decompileert heeft zelf op rechtmatige wijze de beschikking gekregen over een exemplaar van het programma, of hij laat het door iemand doen die hij daarvoor heeft gemachtigd.

2. De koppelingsgegevens zijn niet al snel en gemakkelijk beschikbaar. Publiceert de leverancier een koppeldocumentatie of geeft hij die op verzoek, dan vervalt de grond om te decompileren.

3. Het werk blijft beperkt tot de onderdelen die voor de koppeling nodig zijn. Het hele programma doorlichten omdat het toch open ligt, valt buiten de uitzondering.

De verboden achteraf

Wat je vindt, mag je alleen gebruiken om de koppeling tot stand te brengen. Doorvertellen aan derden mag niet, tenzij dat voor diezelfde koppeling nodig is. En de informatie mag niet worden gebruikt om een programma te ontwikkelen, te produceren of te verhandelen dat geen nieuw, oorspronkelijk werk is, of voor andere handelingen die inbreuk maken. Kort gezegd: de kier is er om aan te sluiten, niet om na te bouwen.

Wat interoperabiliteit hier betekent

Interoperabiliteit is het vermogen van programma's om gegevens uit te wisselen en die gegevens over en weer daadwerkelijk te gebruiken. Het gaat dus om samenwerking, niet om vervanging. Een nieuw programma dat hetzelfde doet als het onderzochte programma valt buiten dit artikel; een programma dat er gegevens mee uitwisselt valt er binnen, mits het zelfstandig is ontwikkeld.

Een voorbeeld

Een softwarehuis bouwt een urenregistratieapp voor installatiebedrijven. Die app moet de geboekte uren doorzetten naar het facturatiepakket dat veel van die bedrijven al gebruiken. De leverancier van dat pakket geeft geen documentatie en reageert niet op verzoeken. Het softwarehuis, dat zelf een licentie op het pakket heeft, ontleedt daarom precies dat deel van de code waarin het gegevensformaat zit, en bouwt op basis daarvan zijn koppeling. Dat is toegestaan. Zou het diezelfde kennis gebruiken om een eigen facturatiemodule uit te brengen die het pakket overbodig maakt, dan wordt de uitzondering overschreden.

In de praktijk

  • Voor de decompilerende partij: vraag de gegevens eerst schriftelijk op en bewaar het uitblijven van een reactie. Dat dossier draagt de tweede voorwaarde.
  • Voor de decompilerende partij: houd het onderzoeksteam en het bouwteam gescheiden en leg vast welke onderdelen zijn bekeken. Zo laat je zien dat je binnen het noodzakelijke bent gebleven.
  • Voor de rechthebbende: wie zijn koppelvlakken netjes documenteert en beschikbaar stelt, haalt de bodem onder deze uitzondering weg. Geheimhouden nodigt juist uit tot decompileren.
Redactionele toelichting . Geen juridisch advies.
← Terug 45l · Ideeën achterhalen door te testen Verder 45n · Uitzonderingen die software niet kent →