Legal Attack

The mechanism under which we are able to recompile the Linux kernel but unable to install it on the Milestone is generally called Tivoization.

The Linux kernel that Motorola uses in the Milestone is licensed under GPLv21). The GPLv2 includes provisions that force the program distributor to deliver not only the program's source code, but all “scripts” required for “installation” of the software as recompiled by the user. Under any common definition of “installation”, the “installed” program must be able to run correctly. So it's only logical to argue that if we build a custom kernel with the source code provided by Motorola but afterwards we aren't able to boot it, then we must have not received some script (or a part thereof)2) required for “installation”. This simple argument has never been tested in ANY court with GPLv2-licensed3) code.

The “legal attack” would consist in challenging Motorola in court4), forcing it to deliver the items we need to install any Linux kernel we compile, or otherwise removing this restriction.

The fact is that some judicial systems are more receptive to certain claims than others. The gpl-violations.org project has been established in Germany taking this into account. Given their experience on this matter, and their successful record, they're the ones who are best positioned to decide whether this “legal attack” is feasible and how.

Of course the guys at gpl-violations.org are aware of the general issue of Tivoization, and they talk indirectly about it in their FAQ:

What are “scripts used to control installation”?
After having translated software from its source code form into executable format, the program quite often needs to be installed into the system. The process of installation is often automatized by installation scripts. Exactly those scripts are referred to by the GPL.

Please note that this is of special practical importance in the case of embedded devices, since the executable program(s) need to be somehow installed onto the device. If the user is not given a way to install his own (modified) versions of the program, he has no way of exercising his freedom to run modified versions of the program.

Sometimes, the process of installation is not facilitated by scripts, but by some other means (such as executable programs). The GPL text only mentions the word “scripts”. But when reading and interpreting the license, it is clearly understood that the license doesn't specifically only mean “scripts”, but any kind of software programs that are required to install a (modified) version of the compiled program.

User Kisje, among others, has contacted gpl-violations.org's Armijn Hemel. Armijn's reply was not favorable. His answer seems to be final, although he may not be clear on how the “installation” may refer to code not running on the target device. (In this case the kernel uses very specific devices such as GPS, baseband radio, etc., that are only available together in the Milestone hardware; how can one consider the GPL kernel “installed” if it's not running on a device where it can exercise these devices?).

Asking the FSF about this is another idea that has been suggested.

1) user zoolook noticed that the source file “kernel/stop_machine.c” in Motorola's source code is licensed “GPLv2 or any later version”, which implies GPLv3. This is arguably a typo, but might be of interest to any lawyer taking this case.
2) The signing script would be required to be provided. Whether the signing key is to be understood as part of the required “script” under the law, would depend upon interpretation of the GPLv2 text and spirit, interpretation of the laws, and interpretation of existing jurisprudence. This is the critical issue.
3) GPLv3 was created having Tivoization in mind. But the fact that GPLv3 was created to make this matter clearer (among other purposes), does not logically imply that GPLv2 allows Tivoization. As mentioned, this has never been tested in court, and would probably depend on case specifics.
4) Linus Torvalds has famously expressed his approval of Linux kernel Tivoization. As much as we respect him, his opinion in this matter may not particularly relevant to this case. And he may well be wrong about the GPLv2 allowing this. He is not the only Linux kernel author (others may be less forgiving than him), and he is not a lawyer. Certainly he's not a lawyer specialized in copyright issues, and obviously he is not familiar with the intricacies of the legal systems of all countries where this suit might be placed. He has indeed licensed his code under GPLv2's text, and what this text means in specific cases is not to be decided by him but by judges.
 
custom_recovery/legal_attack.txt · Last modified: 2010/07/25 22:54 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki