Tivoization
Tivoization /ˈtiːvoʊɪˌzeɪʃən/ is the creation of a system that incorporates software under the terms of a copyleft software license (like the GPL), but uses hardware restrictions to prevent users from running modified versions of the software on that hardware. Richard Stallman coined the term in reference to TiVo's use of GNU GPL licensed software on the TiVo brand digital video recorders (DVR), which actively blocks users from running modified software on its hardware by design.[1][2] Stallman believes this practice denies users some of the freedom that the GNU General Public License (GNU GPL) was designed to protect.[3] The Free Software Foundation refers to tivoized hardware as "tyrant devices".[4]
Overview
TiVo's software incorporates the Linux kernel and GNU software, both of which are licensed under version 2 of the GNU General Public License (GPLv2). 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.[5]
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.[6] 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, has said that he personally doesn't like DRM, but on the other hand, argued that it is appropriate for TiVo to decide if they will use digital signatures to limit what software may run on the systems that they sell. Torvalds has stated that he believes the use of private digital signatures on software is a beneficial security tool. Torvalds also believes that software licenses should attempt to control only software, not the hardware on which it runs (TiVo's DRM scheme ran as software). So, as long as one has access to the software, and can modify it to run on some other hardware, Torvalds believes there is nothing unethical about using digital signatures to prevent running modified copies of Linux.[7] Other Linux developers, including Alan Cox, have expressed divergent opinions.[8]
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 (FSF) decided to combat TiVo's technical system of blocking users from running modified software. As the FSF was developing a new version of the GNU General Public License (GPL v3), it included language that prohibited this activity.[9] The operating system kernel included in the TiVo is distributed under the terms of the GPL, and the FSF's goal is to ensure that all recipients of software licensed under the new GPL 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".[10] The Linux kernel has not been changed to use GPL v3 due to certain problems perceived by its maintainers.[11][12][13]
GPLv3
One of the goals of GPL Version 3 is to prevent "tivoization". According to Eben Moglen, "the licence should prohibit technical means of evasion of its rules, with the same clarity that it prohibits legal evasion of its rules."[14]
Draft 2 of GPLv3 attempted to clarify this.[15] However, some Linux kernel developers were still concerned that draft 2 GPLv3 may still prohibit beneficial uses of digital signatures.[16]
In the third and fourth discussion drafts of GPLv3, released March 28, 2007 and May 31, 2007 respectively, the anti-tivoization clause was limited so as not to apply when the software is distributed to a business.[17] Thus, medical devices and voting machines would not be covered. The final, official GPLv3 was published on June 29, 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.[18] However, he still does not support relicensing the Linux kernel under GPLv3, stating that:[19]
Stallman calls it "tivoization", but that's a word he has made up, and a term I find offensive, so I don't choose to use it. It's offensive because Tivo never did anything wrong, and the FSF even acknowledged that. The fact [is] that they do their hardware and have some DRM issues with the content producers and thus want to protect the integrity of that hardware. The kernel license covers the *kernel*. It does not cover boot loaders and hardware, and as far as I'm concerned, people who make their own hardware can design them any which way they want. Whether that means "booting only a specific kernel" or "sharks with lasers", I don't care.
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.[20]
Some other projects widely used in tivoized embedded systems, such as BusyBox, have also declined to move to GPLv3.[21]
The Creative Commons licenses also have anti-DRM clauses.
See also
References
- ^ "Frequently Asked Questions about the GNU Licenses". Archived from the original on 2016-12-29. Retrieved 2015-03-17.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) GNU.org Frequently Asked Questions about the GNU Licenses - ^ "A Quick Guide to GPLv3". Archived from the original on 2016-12-29. Retrieved 2015-03-17.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) A Quick Guide to GPLv3 - ^ "[Info-gplv3] GPLv3 Update #2". fsf.org. Archived from the original on 26 October 2006. Retrieved 2 October 2015.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "Proprietary Tyrants". Free Software Foundation. Retrieved July 14, 2015.
- ^ "The Free Software Definition".
...The freedom to study how the program works, and adapt it to your needs...
- ^ "Using large disks with TiVo". gratisoft.us. Archived from the original on 2012-02-06. Retrieved 2 October 2015.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "fa.linux.kernel: Linus Torvalds: Flame Linus to a crisp! on 2003-04-24". google.com. Retrieved 2 October 2015.
- ^ "UK Linux guru backs GPL 3". ZDNet. 31 January 2006. Archived from the original on 28 April 2009. Retrieved 2 October 2015.
- ^ "Richard Stallman explains the new GPL provisions to block "tivoisation"".
- ^ "InformationWeek: TiVo Warns Investors New Open Source License Could Hurt Business".
- ^ Torvalds, Linus. "COPYING". kernel.org. Retrieved 13 August 2013.
Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.
- ^ "Kernel developers' position on GPLv3 - The Dangers and Problems with GPLv3". LWN.net. 15 September 2006. Retrieved 2015-03-11.
The current version (Discussion Draft 2) of GPLv3 on first reading fails the necessity test of section 1 on the grounds that there's no substantial and identified problem with GPLv2 that it is trying to solve. However, a deeper reading reveals several other problems with the current FSF draft: 5.1 DRM Clauses [...] 5.2 Additional Restrictions Clause [...] 5.3 Patents Provisions [...]since the FSF is proposing to shift all of its projects to GPLv3 and apply pressure to every other GPL licensed project to move, we foresee the release of GPLv3 portends the Balkanisation of the entire Open Source Universe upon which we rely.
{{cite web}}
: Unknown parameter|authors=
ignored (help) - ^ Linus Torvalds says GPL v3 violates everything that GPLv2 stood for Archived November 19, 2016, at the Wayback Machine Debconf 2014, Portland (accessed 11 March 2015)
- ^ "Eben Moglen, speaking about GPLv3 in Barcelona".
- ^ "Opinion on Digital Restrictions Management". fsf.org. Retrieved 2 October 2015.
- ^ Bottomley, James E.J.; Chehab, Mauro Carvalho; Gleixner, Thomas; Hellwig, Christoph; Jones, Dave; Kroah-Hartman, Greg; Luck, Tony; Morton, Andrew; Myklebust, Trond; Woodhouse, David (22 September 2006). "GPLv3 Position Statement". google.com. Retrieved 2 October 2015.
- ^ "GPLv3 FAQ, with explanation of Section 6's limits |".
- ^ "Torvalds 'pretty pleased' about new GPL 3 draft". CNet news.com. Archived from the original on 2012-07-13.
- ^ Linus Torvalds. "Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3", Message to the Linux Kernel Mailing List dated Wed, 13 Jun 2007 14:33:07 -0700 (PDT)
- ^ Mark P. Lindhout. "(About GPLv3) Can the Linux Kernel Relicense? — Ciarán's free software notes". fsfe.org. Retrieved 2 October 2015.
- ^ "Busy busy busybox". LWN.
External links
- Free Software Foundation definition of "Tivoization"
- An Introduction to Tivoization by The Linux Information Project (LINFO)
- Stallman, Torvalds, Moglen share views on DRM and GPLv3 - by Shashank Sharma August 9, 2006, from Newsforge
- TiVo's GPL-required modifications to the Linux kernel, glibc, and other software
- Richard Stallman's explanations of "tivoisation":
- Eben Moglen's explanations:
- Ciarán O'Riordan's explanations:
- "Using a hypervisor to reconcile GPL and proprietary embedded code" article at archive.today (archived 2013-01-04) with a focus on Tivoization