Wanneer mag je software decompileren?

09 dec 2022

Software development is een ingewikkeld proces dat niet altijd even vlekkeloos verloopt. Vrijwel iedere softwaregebruiker krijgt wel eens te maken met een bug of mankement. Meestal kan het gebrek met een simpele update worden verholpen. Indien de softwareontwikkelaar niet langer contractueel gehouden is om updates uit te brengen, is het nog maar de vraag of hij deze problemen vrijwillig zal gaan verhelpen. Onder bepaalde – strikte - voorwaarden kan een rechtmatige verkrijger van de software dan het heft in eigen handen nemen door het programma te decompileren. In deze blog wordt dieper ingegaan op de juridische aspecten van decompilatie, waarbij het recente arrest van het Hof van Justitie van de Europese Unie (HvJEU) als uitgangspunt zal dienen.

Wat is decompilatie?

Een computerprogramma wordt aanvankelijk opgesteld in broncode (sourcecode): de programmeertaal die door mensen gelezen kan worden. Een computer kan deze code echter niet lezen. Daarvoor moet de broncode eerst worden omgezet naar doelcode (objectcode). Dit wordt gedaan met behulp van een speciaal programma, een zogeheten ‘compiler’. Het omzetten van broncode naar doelcode wordt daarom ook wel compilatie genoemd.

Bij decompilatie vindt het tegenovergestelde plaats. Met behulp van een ‘decompiler’ wordt de broncode gereconstrueerd op basis van de doelcode. Daarmee verkrijgt men niet de originele broncode, maar een ‘quasibroncode’ die daar erg op lijkt. De rechtmatige verkrijger kan met deze quasibroncode zelf een versie van de software maken waarin eventuele fouten verbeterd zijn.

De mogelijkheid om software te decompileren biedt de rechtmatige verkrijger echter geen carte blanche: het blijft een verveelvoudiging van de software (in gewijzigde vorm) waarvoor doorgaans toestemming nodig is van de auteursrechthebbende. De voorwaarden waaronder decompilatie wél is toegestaan heeft het HvJEU uiteengezet in het arrest Top Systems/Belgische Staat.[1] Dit arrest zal hierna worden besproken.

Fact software decompileren

Wat ging eraan vooraf

Top System is een bedrijf dat software ontwikkelt. Zij heeft verschillende softwaretoepassingen ontwikkeld voor Selor, een bureau dat de selectie en werving van werknemers verzorgt voor verschillende Belgische overheidsorganen. De softwaretoepassingen maakten gebruik van functionaliteiten die ontleend waren aan het framework van Top System. Dit framework bleek later voor operationele problemen te zorgen.

Selor en Top System konden geen overeenstemming bereiken over het oplossen van de complicaties. Selor heeft vervolgens de doelcode gedecompileerd. Met behulp van de quasibroncode heeft Selor de fouten zelf verbeterd. Daarbij heeft zij een aantal functionaliteiten van de overige softwaretoepassingen moeten uitschakelen. Top System meent als auteursrechthebbende dat Selor in strijd heeft gehandeld met haar exclusieve recht om de software te verveelvoudigen.

HvJEU: toegestaan voor noodzakelijke verbeteringen

Volgens Richtlijn 2009/24/EC (hierna: “de Softwarerichtlijn) behoort het reproduceren en het vertalen van de codevorm (i.e. decompilatie) tot de exclusieve rechten van de auteursrechthebbende.[1] Een rechtmatige verkrijger mag de software slechts zonder voorafgaande toestemming van de auteursrechthebbende decompileren, indien dit noodzakelijk is om het programma te gebruiken voor het beoogde doel of om fouten te verbeteren.

Fouten verbeteren

De rechtmatige verkrijger mag alleen die fouten verbeteren die afbreuk doen aan de mogelijkheid om het programma te kunnen gebruiken voor het beoogde doel. Het uitschakelen van bepaalde functionaliteiten kan ook worden gezien als het verbeteren van fouten, indien daardoor de software weer gebruikt kan worden voor het beoogde doel.

Het HvJEU maakt daarnaast expliciet onderscheid tussen decompilatie ten behoeve van foutenherstel en decompilatie ten behoeve van compatibiliteit. Laatstgenoemde is slechts toegestaan wanneer compatibiliteit met een ander, onafhankelijk gecreëerd programma niet op een andere wijze kan worden bereikt.

Noodzakelijk

Het decompileren van software dient bovendien noodzakelijk te zijn om het programma te kunnen gebruiken voor het beoogde doel. De rechtmatige verkrijger mag de quasibroncode dus niet gebruiken voor andere doeleinden. Decompilatie is evenmin toegestaan wanneer de originele broncode wettelijk of contractueel toegankelijk is voor de rechtmatige verkrijger; het decompileren van de software is dan niet meer noodzakelijk.

Partijen kunnen op grond van artikel 5 lid 1 van de Softwarerichtlijn specifieke afspraken maken over de wijze waarop eventuele fouten moeten worden verbeterd. Te denken valt aan een regeling waarbij de softwareontwikkelaar gedurende een bepaalde tijdsperiode het onderhoud voor zijn rekening neemt. Het is echter niet toegestaan om het verbeteren van fouten volledig contractueel uit te sluiten.

Wat betekent dit voor de praktijk?

Een rechtmatige verkrijger mag een computerprogramma - zonder voorafgaande toestemming van de auteursrechthebbende - decompileren, indien dit noodzakelijk is om het programma te gebruiken voor het beoogde doel of om fouten te verbeteren. Daarbij dient men het volgende in acht te nemen:

  • Inventariseer of een fout in de weg staat aan de mogelijkheid om het programma te gebruiken voor het beoogde doel.
  • Ga na of het decompileren van de software mogelijk én noodzakelijk is. Kijk daarbij specifiek naar de contractuele afspraken die tussen partijen zijn gemaakt en de wettelijke grondslagen waarop de rechtmatige verkrijger zich kan beroepen: wellicht is de originele broncode wettelijk of contractueel toegankelijk voor de rechtmatige verkrijger.
  • Bij het doorvoeren van verbeteringen is het ook toegestaan om bepaalde functies te deactiveren, indien die functies in de weg staan aan de mogelijkheid om het programma te gebruiken voor het beoogde doel.

Hier staat de Engelse versie.

[1] HvJEU 6 oktober 2021, ECLI:EU:C:2021:811 (Top System/Belgische Staat).

[2] Artikel 4 sub a en b jo. 6 lid 1 Softwarerichtlijn.