A brief analysing of the distinction between weak and strong copyleft (sometimes called viral licensing - a pejorative name for copyleft licences) based on the European Directive on the legal protection of computer programs.

Viral licensing

According to an historical and widely shared distinction, present on Wikipedia and generally supported by too many free software advocates including some lawyers, “Strong copyleft” (sometimes renamed “viral licensing”) refers to licences governing a copyrighted work to the extent that their copyleft provisions can be efficiently imposed on all kinds of derived works, including linked works: the same copyleft licence becomes applicable to the combination. At the contrary, "Weak copyleft" would refer to licenses (that are generally used for the creation of software libraries) where not all derived works inherit the copyleft license, depending on the manner in which it was derived: copies and changes to the covered software itself become subject to the copyleft provisions of such a license, but not the software that links to it. This allows programs covered by any license (even proprietary) to be compiled and linked against copylefted libraries such as glibc (the GNU project's implementation of the C standard library), and then redistributed without any re-licensing required.

This focus on “linking producing a derivative covered by strong copyleft copyright” has been underlined by multiple authors. In particular the Free Software Foundation “GPL faqs” still states that “Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole combination.” (https://www.gnu.org/licenses/gpl-faq.en.html#GPLStaticVsDynamic)

In the mouth of the GNU GPL license opponents, such notion of strong copyleft became quickly synonym of “viral licensing”, referring to the hypothesis that any work "touching" a copyleft work (or interfacing with it) via linking becomes a kind of derivative and must preserve the copyleft permissions when distributed. This fear for “viral licensing” has probably generated more doubts and damages than benefits for many free/open source projects. Strange enough, it seems that few lawyers have explored its real validity regarding European law.

This is our purpose now.

The Directive

The already 25 years old Directive 1991/250/EEC on the legal protection of computer programs (that was later codified without modification as Directive 2009/24 EC) had the aim of facilitating interoperability, making possible to connect all components of a computer system, including those of different manufacturers or authors, so that they can work together. Therefore the parts of the programs known as ‘interfaces’, which provide interconnection and interaction between elements of software and hardware may be reproduced by a legitimate licensee without any authorisation of their rightholder.

The “Wereas” (10) & (15) of the Directive are explicit:

(10) The function of a computer program is to communicate and work together with other components of a computer system and with users and, for this purpose, a logical and, where appropriate, physical interconnection and interaction is required to permit all elements of software and hardware to work with other software and hardware and with users in all the ways in which they are intended to function. The parts of the program which provide for such interconnection and interaction between elements of software and hardware are generally known as ‘interfaces’. This functional interconnection and interaction is generally known as ‘interoperability’; such interoperability can be defined as the ability to exchange information and mutually to use the information which has been exchanged.

(15) The unauthorised reproduction, translation, adaptation or transformation of the form of the code in which a copy of a computer program has been made available constitutes an infringement of the exclusive rights of the author. Nevertheless, circumstances may exist when such a reproduction of the code and translation of its form are indispensable to obtain the necessary information to achieve the interoperability of an independently created program with other programs. It has therefore to be considered that, in these limited circumstances only, performance of the acts of reproduction and translation by or on behalf of a person having a right to use a copy of the program is legitimate and compatible with fair practice and must therefore be deemed not to require the authorisation of the rightholder. An objective of this exception is to make it possible to connect all components of a computer system, including those of different manufacturers, so that they can work together. Such an exception to the author's exclusive rights may not be used in a way which prejudices the legitimate interests of the rightholder or which conflicts with a normal exploitation of the program.

In short, the reproduction (what’s the difference with “copy”?) of the part of the software code that are strictly needed for interfacing (what’s the difference with “linking”?) must be permitted as an exception to the general rules of copyright.

Initiated at the end of the eighties and published in 1991, the Directive was not written with an eye on free/open source software (where the source code is available to the legitimate licensee). The Directive was indeed focused on proprietary software, where the legitimate licensee receives the binaries only with no access to the source code.

In such case, the Directive (article 6) authorises decompilation as follows:

The authorisation of the rightholder (= the licensor of the software) shall not be required where reproduction of the code and translation of its form within the meaning of points (a) and (b) of Article 4(1) (= the permanent or temporary reproduction or adaptation of the covered source code) are indispensable to obtain the information necessary to achieve the interoperability of an independently created computer program with other programs, provided that the following conditions are met:

(a) those acts are performed by the licensee or by another person having a right to use a copy of a program, or on their behalf by a person authorised to do so;

(b) the information necessary to achieve interoperability has not previously been readily available to the persons referred to in point (a); and

(c) those acts are confined to the parts of the original program which are necessary in order to achieve interoperability.

Now, what if the legitimate licensee has access to the source code, which is open, according to some copyleft F/OSS licence (GPL, EUPL etc.)? It looks obvious that in such case no decompilation will be necessary: the reproduction of the needed code can be performed directly, via some “copy/paste” function. Should this case of reproduction of the needed open code be submitted to restrictions imposed by the program licensor (e.g. the willingness to extend copyleft in the case of linking), while the reproduction of needed proprietary code, obtained via decompilation, could not be restricted in exactly the same case and purpose? This seems unlikely: it would provide more freedom to the proprietary licensee and less freedom to the open source licensee. This was certainly not the aim of the Directive[1].

Conclusion

As a conclusion, it looks that in most cases, linking two programs or linking an existing software with your own work does not – at least in Europe – produce a derivative or extends the coverage of the linked software licence to your own work.

Such interfacing or linking escapes to the copyleft provision of any licence, open source (like the GPL) or proprietary. The technical way of linking for interoperability (static or dynamic, permanent or temporary reproduction of the needed code) should not make any difference.

Because of this, and in so far linking (even statically) is done for interoperability, does not prejudices the legitimate interests of the rightholder and does not conflict with a normal exploitation of the covered program, it seems that the differentiation between strong and weak copyleft has few legal reality. In applying all relevant licences, the copyleft effect should target the copies and real derivative works, where a significant portion of the functional covered code has been copied, modified, extended etc. At the contrary and in most cases, it seems that in European law the fact of linking two programs and the technology used for it does not by itself produce a derivative work: viral licensing is just a ghost. It does not exist.

[1] On 2 May 2012 and in application of the Directive, the Court of Justice of the European Union confirmed that a software licence cannot prohibit the legitimate licensee from reproducing the portions of covered code (for example, the APIs or data structures) that are necessary for interoperability and for linking the covered work with others that could be licensed differently. In fact, the case (c 406/10 SAS vs WPL) involved proprietary software vendors and no open source licensors. The portion of code that was necessary for linking the two programs was “reproduced” (by some human/intellectual deductive process) and apparently not obtained via decompilation in this case.