TiVo's software incorporates the Linux kernel and GNU software, both of which are licensed under version 2 of the GNUGeneral Public License. GPLv2 requires distributors to make the corresponding source code available to each person who receives the software. The goal of this requirement is to allow users of GPL-covered software to modify the software to better suit their purposes. However, Stallman asserts that TiVo circumvented this goal by making their products run programs only if the program's digital signature matches those authorized by the manufacturer of the TiVo. So while TiVo has complied with the GPL v2 requirement to release the source code for others to modify, any modified software will not run on TiVo's hardware. Linus Torvalds, the original author of the Linux kernel, supported the use of DRM in response. Other Linux developers, including Alan Cox, have expressed divergent opinions. Stallman and the Free Software Foundation have attempted to respond to some of these concerns. They have stated that their goal is for GPLv3 to allow private digital signatures for security purposes, but to still prevent tivoization.
Response
In 2006, the Free Software Foundation decided to combat TiVo's technical system of blocking users from running modified software. The FSF subsequently developed a new version of the GNU General Public License which was designed to include language which prohibited this activity. The Linux kernel, which is included in the operating system of TiVo-branded hardware, is distributed under the terms of the GPLv2. The FSF's goal is to ensure that all recipients of software licensed under the GPLv3 are not restricted by hardware constraints on the modification of distributed software. This new license provision was acknowledged by TiVo in its April 2007 SEC filing: "we may be unable to incorporate future enhancements to the GNU/Linux operating system into our software, which could adversely affect our business". The Linux kernel has not been changed to use GPL v3 due to certain problems perceived by its maintainers.
GNU GPLv3
One of the goals of GNU General Public License Version 3 is to prevent tivoization. According to Eben Moglen, "the license should prohibit technical means of evasion of its rules, with the same clarity that it prohibits legal evasion of its rules." The second draft of the GPLv3 attempted to clarify this. However, some Linux kernel developers were still concerned that this draft may still prohibit beneficial uses of digital signatures. In the third and fourth discussion drafts of the GPLv3, released 28 March 2007 and 31 May 2007 respectively, the anti-tivoization clause was limited so as not to apply when the software is distributed to a business. Thus, medical devices and voting machines would not be covered. The final, official GPLv3 was published on 29 June 2007 with no major changes in respect to tivoization relative to the fourth draft. Linus Torvalds said he was "pretty pleased" with the new draft's stance on DRM. However, he still does not support relicensing the Linux kernel under GPLv3, stating that: In any case, offering the Linux kernel under a different license would likely be infeasible because of its very large number of copyright holders. Unlike most GPL software, the kernel is licensed only under GPLv2 without the wording "or, at your option, any later version", therefore the explicit agreement of all copyright holders would be required to license it under a new version. Some other projects widely used in tivoized embedded systems, such as BusyBox, have also declined to move to GPLv3. The Creative Commons licenses also have anti-DRM clauses.