When are you allowed to decompile software?

11 Nov 2021

Software development is a complicated process with many hurdles along the way. That is why virtually every software user will have to deal with a bug or defect at some point. Usually, the flaw can be fixed with a simple update. If the software developer is no longer contractually obliged to release updates, it remains to be seen whether they will voluntarily solve the problem. Under certain – strict – conditions, end users can then take matters into their own hands and decompile the software. This blog takes a closer look at the legal aspects of decompilation, based on the recent judgment of the Court of Justice of the European Union (CJEU).

What is decompilation?

Software is initially written in source code: the programming language that can be read by humans. However, a computer cannot understand these instructions. That is why the source code must first be transcribed into a functional format that the computer can read: object code. This is done by means of a specific program called a compiler. The process of converting source code to object code is known as compilation.

With decompilation, the opposite happens. By using a decompiler, the source code is reconstructed from the target code. This does not result in the original source code, but in a 'quasi source code' that is very similar to it. The end user can use this quasi source code to make a version of the software in which the errors have been corrected.

However, the option to decompile software does not offer end users carte blanche: it remains a duplication of the software (in modified form) that usually requires permission from the copyright owner. The conditions under which decompiling is permitted are set out by the CJEU in Top Systems v. Belgian State, which will be discussed below.[1]

The preceding events

Top System is a software development company. It has developed several software applications for Selor, an agency that takes care of the selection and recruitment of employees for various Belgian government entities. The software applications made use of functionalities that were derived from the framework work that was developed by Top System. This framework later turned out to be the cause of several operational problems.

Selor and Top System were unable to reach an agreement on how to resolve these complications. Eventually, Selor took matters into their own hands and decompiled the target code, after which Selor used the quasi source code to correct most of the errors. In doing so, Selor had to disable a number of functionalities from the other software applications. As the copyright owner, Top System believes that Selor has acted in violation of its exclusive right to reproduce the software.

CJEU: Decompilation is allowed for necessary improvements

The CJEU states that according to Directive 2009/24/EC (hereafter: “the Software Directive”), reproduction and translation of any code form (i.e. decompilation) is an exclusive right of the copyright owner.[1] The lawful purchaser may only decompile the software without prior authorization from the copyright owner, if this is necessary to run the software in accordance with its intended purpose or to correct any errors that prevent said use.

Correct errors

The lawful purchaser is only allowed to correct errors that impair the ability to use the software in accordance with its intended purpose. Corrections may also consist of disabling certain  functionalities, if this allows the program to be reused for its intended purpose.

The CJEU also explicitly distinguishes between decompiling for the purpose of correcting errors and decompiling for the purpose of compatibility. The latter is only allowed if compatibility with another independently created program cannot be achieved in any other way.

Necessary

Decompilation as measure also needs to be absolutely necessary in order to be able to use the program for its intended purpose. The lawful purchaser is therefore not allowed to use the quasi source code for any other purposes. Decompilation is also unnecessary if and when the original source code is legally or contractually accessible to the lawful purchaser.

On the basis of Article 5, paragraph 1 of the Software Directive, both parties can make specific arrangements regarding the way in which errors should be corrected. One could think of an arrangement whereby the software developer maintains and corrects the software for a certain period of time. However, it is not permitted to completely exclude the ability to correct errors by contract.

What does this mean in practice?

The lawful purchaser may decompile a computer program - without prior authorization from the copyright owner - if this is necessary to run the software in accordance with its intended purpose or to correct errors that affect said use. In doing so, the following should be taken into account:

  • Identify if an error is preventing you from using a software application for its intended purpose.
  • Check whether decompiling the software is possible and necessary. Take a closer look at the contractual obligations of both parties and the legal bases on which the lawful purchaser can rely: perhaps the original source code is legally or contractually accessible.
  • When correcting errors it is also allowed to disable certain functions, if those functionalities prevent you from using the software for its intended purpose.

Here you can find the dutch version.

[1] CJEU 6th of October 2021, ECLI:EU:C:2021:811 (Top Systems/Belgian State).

[2] Article 4 sub a and b jo. 6 paragraph 1 Software Directive.