[License-discuss] Reverse Engineering and Open Source Licenses

Engel Nyst engel.nyst at gmail.com
Wed Mar 11 16:11:23 UTC 2015


Hello,

One may wonder what is the big deal with this single phrase in LGPL. It
basically states something fairly similar with EU software directive:

http://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX:32009L0024

Please see art. 6, "Decompilation":

> The authorisation of the rightholder 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) are indispensable to
> obtain the information necessary to achieve the interoperability of
> an independently created computer program with other programs, [...]

This "decompilation" provision is very narrow, but it says in plain
English that there are cases when the user of computer software has the
right to copy the software privately and even decompile it.

I compare with LGPL 2.1: it says that users of the other program have
the right to reproduce/decompile the other program in order to achieve
interoperability with the LGPLed library, including with an
user-modified version of that library.

> you may also combine or link a "work that uses the Library" with the
> Library to produce a work containing portions of the Library, and
> distribute that work under terms of your choice, provided that the
> terms permit modification of the work for the customer's own use and
> reverse engineering for debugging such modifications.

This is a similar scope with Article 6 (though not identical; nor can
it, since it talks about works based on the work while EU directive
about any interoperability).

The recipient has a right to take actions that fall under reverse
engineering (copying, testing, decompiling the whole thing) for
interoperability. Integration between the library and the other work is
an example of precisely interoperability between the two.

LGPL2.1 provision is very narrow too, "for customer's own use" and for
debugging why the modified library doesn't work as expected. Not more.


In other words, LGPL2.1 *shouldn't need* to say its little phrase today,
or apparently surprise corporate lawyers/speakers at all, because this
is supposed to be law already in EU: the legal protection of software
contains users' right to decompile under specific narrow circumstances,
no matter what the proprietary license agreement claims.

Since 1991 at least. (The directive precursor of the current one was
from 1991; for comparison, LGPL-2.0 seems to be from 1991 as well [1],
and LGPL-2.1 from 1999.)

Is there some law in Germany, which is contrary to this right?

> As long as we do not have a legal decision

Commentators say that SAS v. World Programming is a pertinent legal
decision, for example:

http://www.bloomberg.com/news/articles/2012-05-02/copyright-can-t-block-software-reverse-engineering-court

(These are EU examples. In US, things are framed a bit differently, i.e.
the right to reverse engineering with the purpose to discover
uncopyrightable elements necessary for interoperability with other
software is under fair use, with circuit-dependent and case-dependent
interpretation.)


[1] https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html

-- 
Oracle corollary to Hanlon's razor:
Never attribute to stupidity what can be adequately explained by malice.
(~ adapted from Adam Borowski)



More information about the License-discuss mailing list