Tivoization () is the practice of designing hardware that incorporates
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
under the terms of a
copyleft software license like the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GNU GPL), but uses hardware restrictions or
digital rights management
Digital rights management (DRM) is the management of legal access to digital content. Various tools or technological protection measures, such as access control technologies, can restrict the use of proprietary hardware and copyrighted works. DRM ...
(DRM) to prevent users from running modified versions of the software on that hardware.
Richard Stallman of the
Free Software Foundation (FSF) coined the term in reference to
TiVo's use of GNU GPL licensed software on the TiVo brand
digital video recorders (DVR), which actively block modified software by design. Stallman believes this practice denies users some of the freedom that the GNU GPL was designed to protect. The FSF refers to tivoized hardware as "proprietary tyrants".
The Free Software Foundation explicitly forbade tivoization in version 3 of the GNU General Public License. However, although version 3 has been adopted by many software projects, the authors of the
Linux kernel
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
have notably declined to move from version 2 to version 3.
Background
TiVo's software incorporates the
Linux kernel
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
and
GNU software, both of which are licensed under version 2 of the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPLv2). GPLv2 requires distributors to make the corresponding
source code
In computing, source code, or simply code or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer.
Since a computer, at base, only ...
available to each person who receives the software. One goal of this requirement is to allow users of GPL-covered software to modify the software to better suit their purposes.
Richard Stallman of the
Free Software Foundation asserts that TiVo circumvented the GPL's goal by making their products run programs only if the program's
digital signature matches those authorized by the manufacturer of the TiVo. 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.
Bradley Kuhn of the
Software Freedom Conservancy disputes Stallman's narrative. Kuhn asserts that TiVo did not strictly forbid software replacement, but TiVo's proprietary software was intentionally designed to not function if any open-source components were replaced, which consequently required the user to find fully open-source alternatives to the proprietary software. In Kuhn's view, TiVo did not tivoize, the GPLv2 was already sufficient to prevent tivoization, and the intent of the GPLv3 was to add an additional, unnecessary requirement that proprietary software continue to function.
GNU GPLv3
In 2006, the
Free Software Foundation (FSF) decided to combat TiVo's technical system of blocking users from running modified software. The FSF subsequently developed a third version of the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
(GPLv3) which was designed to include language which prohibited this activity. 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 the rules regarding tivoization. However, some Linux kernel developers were still concerned that this draft might still prohibit beneficial uses of digital signatures. Stallman and the Free Software Foundation attempted to respond to some of these concerns by stating that the GPLv3 allows private digital signatures for security purposes while still preventing tivoization.
In the third and fourth discussion drafts of the 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. 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
Linus Benedict Torvalds ( , ; born 28 December 1969) is a Finnish software engineer who is the creator and lead developer of the Linux kernel. He also created the distributed version control system Git.
He was honored, along with Shinya Yam ...
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:
The GPLv3's new license provisions were acknowledged by TiVo in its April 2007
SEC filing: "If the currently proposed version of GPLv3 is widely adopted, we may be unable to incorporate future enhancements to the GNU/Linux operating system into our software, which could adversely affect our business."
Outcome
The
Linux kernel
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
, which is included in the
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
of TiVo-branded hardware, is still distributed under the terms of the GPLv2. The kernel has not been changed to use GPLv3 because the kernel maintainers have generally perceived the GPLv3 to be overly restrictive, although some kernel developers, such as
Alan Cox, have expressed divergent opinions. 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 the kernel as a whole under a new version.
Some other projects widely used in tivoized embedded systems, such as
BusyBox, have also declined to move to GPLv3.
See also
*
Vendor lock-in
*
Defective by Design
References
Further reading
Free Software Foundation definition of "Tivoization"by The Linux Information Project (LINFO)
– by Shashank Sharma August 9, 2006, from
NewsforgeTiVo's GPL-required modificationsto the
Linux kernel
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
,
glibc, and other software
*Richard Stallman's explanations of "tivoisation":
Italy, March 2006Japan, November 2006**
Stallman and Bruce Perens debating about GPL and tivoization (on Wikimedia Commons)
*
Eben Moglen's explanations:
Spain, June 2006*Ciarán O'Riordan's explanations:
Japan, November 2006Tivoisation explained – implementation and harms(article)
* with a focus on Tivoization
{{FOSS
Free software culture and documents
Technology neologisms
TiVo