Since the implementation of the Directive on the legal protection of computer programs (91/250/EEC; now: 2009/24/EC) it is generally accepted that computer programs are subject to copyright law. Accordingly, only the concrete form of expression of a program is protectable.
Recently, the CJEU has endorsed this basic principle by denying that a mere functionality of a computer program can be protected as a form of expression (CJEU, judgement of 2/5/2012 – C-406/10 – SAS Institute). Interpreting Art. 1(2) of said Directive, the Court refers to the principle that only a form of expression can enjoy protection that allows reproduction of the a computer program, e. g. source or object code (cf. CJEU, judgement of 22/12/2010 – C-393/09, para. 35 – BSA). Furthermore, programming languages and file formats are not protectable as well, because – as the Court ruled – such elements are only used for functioning reasons. However, according to the common understanding of copyright law such protection is granted independently of the purpose of the considered object. For instance, software applications using functionalities of the operating system are undoubtedly protected by copyright law without questioning their form of expression. Thus, it is questionable whether a criterion referring to functionality will hold in the future.
In addition, the Court held that the mere analysis of functionalities by means of loading and running a computer program cannot be restricted by a license agreement, because according to Art. 5(1) of the Directive such use of a program does not require a license. However, ideas and basic principles determined by decompiling software without the owner’s consent may only be used to achieve interoperability (cf. Art. 6(1) of the Directive).
In practice this means: The use of mere software functionalities without reproducing parts of the source code or the structure of the program cannot be considered as a copyright violation. However, if parts of the code or of the program structure are adopted, an adoption of the expression of the computer program and a relevant use comes into question. Furthermore, regarding the necessary level of originality for computer programs technical conditions could limit the variability to create different computer programs with similar or identical functionalities. Then, code might lack of originality if there is no room for an intellectual creation. But, considering German software law the Federal Court of Justice (BGH) has decided that it is assumed that complex computer programs hold an adequate level of individuality (BGH, judgement of 3/5/2005 – I ZR 111/02 – Fash 2000).