Decompiling a programme is often the only way to get the source code. There are often various reasons why we need the source code; whether it is to edit the software or simply to produce an API. This is not a problem if we have agreed to hand over the source code with the manufacturer and have been granted the corresponding rights of use (More about source code). It becomes problematic if the manufacturer has not actually handed over the source code to us and is not obliged to do so. In these cases, one could simply decompile the software and use the resulting source code. But it is not that simple.
Decompilation as use in the sense of copyright
Decompilation, i.e. the retranslation of the machine or object code into a comprehensible programming language, encroaches on the author’s right to reproduce and edit. This makes decompilation an act of use in the sense of copyright law. For this use, we require appropriate rights of use. If we have not been granted such rights of use, decompilation is generally not permitted.
Exception: Decompilation to establish interoperability
The UrhG, however, provides for exceptions. According to Section 69e UrhG, we may decompile software under certain conditions. The prerequisite is that decompilation is “indispensable to obtain the information necessary to establish the interoperability of an independently created computer program with other programs”. Simply put, this means that we are allowed to decompile if it is the only way to obtain the necessary information to create an interface with another independently created program. That is the only permitted purpose. Other uses are not allowed.
However, the other programme must be independent. This ultimately means that the programme must not have been created on the basis of the decompiled code. We may take over parts that are not protected by copyright. The same applies to technically mandatory parts.
Requirements for decompilation
Decompilation is generally only allowed for the purposes mentioned above. However, there are further restrictions above this.
Decompilation only by authorised persons
We may only decompile if we are a licensee or other authorised user within the meaning of § 69d UrhG. We may also use third parties, e.g. another software company, for decompilation. In principle, we may not pass on the information obtained to other persons. Something else only applies if the disclosure is necessary for the establishment of interoperability. In the first instance, this should be cases in which we commission a third party with the decompilation or production of the interface.
No decompilation for information accessible without furtherinformation
Ddecompilation is also prohibited if the necessary information is readily accessible. This is the case, for example, if we are provided with the information free of charge by the manufacturer. But it is also the case if we can see the information elsewhere without much effort, e.g. in a documentation, it is “readily accessible”. Within certain limits, we are also obliged to ask the manufacturer. However, this duty of enquiry must not be overstretched.
Limitation to necessary programme parts
We must limit decompilation to programme parts that are necessary to establish interoperability. Which parts of the programme are necessary, we cannot always see immediately. We are allowed to experiment a little here. If manuals or other references are available, we must use them to find the correct programme parts. However, we do not have to carry out extensive experiments, for example in the context of reverse engineering.
Using the info only for certain purposes
We may only use the information obtained to establish interoperability. The use for other purposes is not permitted. In particular, we may not use the information obtained for the development, production or marketing of a competing programme. The same applies, of course, to all other actions that infringe copyright.
Weighing of interests
§ 69e para. 3 UrhG requires that we weigh our interests against the interests and the interests of the producer. By decompiling, we must neither impair the normal exploitation of the work nor unreasonably infringe the legitimate interests of the rightholder. When this is fulfilled in an individual case cannot be answered in a blanket manner.
Decompilation for debugging
The regulations in the Copyright Act on decompilation are exhaustive. However, these regulations are only an implementation of the Directive on the Legal Protection of Computer Programs. These regulations are further interpreted by the European Court of Justice in a judgment of 06.10.21 (AZ. C-13/20). The ECJ thus creates another possibility for decompilation. According to the ECJ, decompilation is also permissible if it is necessary for troubleshooting. The ECJ interprets Art. 5 (exceptions to acts requiring consent) of the Directive on the Legal Protection of Computer Programs accordingly. According to this, we are allowed to decompile aprogram in whole or in part in order to correct errors if these errors affect the functioning of the program. In this case, we are even allowed to deactivate a function that impairs the proper functioning of the application to which this programme belongs. The prerequisite here is also that we have lawfully acquired the programme.
Furthermore, the ECJ restricts the right to decompile even a little. Decompilation is only permitted to the extent necessary for rectification. In addition, we must comply with the conditions contractually agreed with the owner of the programme.
You have questions about the topic?
Simply make an appointment for a free online initial consultation throughout Germany. Lawyer André Stämmler has been working in IT law for more than 10 years and advises you and your company on the topics of software, apps, AI, smart contracts, blockchain, media, copyright and data protection. Simply make an appointment and we will discuss your topic.