Tivoization in GPLv3

A while ago I read a thread on the Linux Kernel mailing list where Linus Torvalds and others debated the “tivoization” clause (also considered the DRM clause) in the GPLv3 (I think in section 6). The clause basically states that consumer products containing object code whose source code is covered under the GPLv3 must include all necessary installation information such as authorization keys to be able to modify the GPLv3 source code and run it on the consumer product. The term “tivoization” comes from how Tivo uses GPL code but the hardware restricts modified versions of the software without an authorization key. This is considered DRM. This practice is not exactly limited by GPLv2 and its circumvention is prohibited by the DMCA.

What Linus and others were debating was that they do not agree with the FSF in that tivoization should be restricted by the GPL. They say that we (the free software community) have no right to restrict how hardware manufacturers design their hardware. In their view Tivo is not doing anything wrong. They are using GPLv2 code, but they provide the source for the original and/or modified versions of the GPLv2 code in accordance with GPLv2. Beyond what they do with our software, we cannot control them.

But the tivoization clause is necessary to ensure the freedom and survivability of Free Software. Think if Dell offered Linux (which they do now, but if they didn’t), but to keep people from breaking their systems they added a check in the bios for an authorization key in the linux kernel which was not released, thus preventing anyone from running a modified version of the kernel. Now imagine every computer maker that offered Linux did the same thing. How can we exercise our 4 freedoms if the hardware won’t let us? Yeah, one isolated instance of locking Free Software with DRM doesn’t have much effect on the ability for people in general to exercise our 4 freedoms, but if this tivoization persists what can we do?

The basic idea is that, for me as a developer of Free Software, whether I distribute my code or if I let someone else distribute my code, I want the end user of my software to be able to practically exercise the 4 freedoms of Free Software. If I let Tivo distribute my code and the hardware on which my code is designed to run makes the 4 freedoms pointless (in particular, freedom 1 which permits modifying software to fit the users’ needs), that is wrong. Even though Tivo is not directly violating the 4 freedoms, they are not allowing users to practically exercise all 4 freedoms.


Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>