ArticleslgStudy

computer science

Tivoization

Tivoization is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Tivoization rather than just read about it. In short: Tivoization () is the practice of designing hardware that incorporates software under the terms of a copyleft software license like the GNU General Public License (GNU GPL), but uses hardware restrictions or digital rights management (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…

Key takeaways

  • Tivoization belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Tivoization to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Tivoization from memory before moving on to harder problems.

Reference excerpt

Tivoization () is the practice of designing hardware that incorporates software under the terms of a copyleft software license like the GNU General Public License (GNU GPL), but uses hardware restrictions or digital rights management (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 have notably declined to move from version 2 to version 3.

Background 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. 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 (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 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:

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. 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, which is included in the operating system 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

Worked examples

Example 1 — a first encounter with Tivoization

Start with the simplest possible case. Write down what Tivoization claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Tivoization before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Tivoization ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Tivoization

In research
Tivoization appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Tivoization in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Tivoization is common in secondary-school and first-year university syllabi. It links to neighbouring topics 2006 neologisms, Computing-related controversies, Free software culture and documents, so understanding it makes those chapters shorter.
In everyday life
Look for Tivoization outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Tivoization in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Tivoization means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Tivoization out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Tivoization in simple terms?

Tivoization () is the practice of designing hardware that incorporates software under the terms of a copyleft software license like the GNU General Public License (GNU GPL), but uses hardware restrictions or digital rights management (DRM) to prevent users from running modified versions of the soft…

Why does Tivoization matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Tivoization?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Tivoization.

Tags

  • 2006 neologisms
  • Computing-related controversies
  • Free software culture and documents
  • Technology neologisms
  • TiVo

Keep exploring