Tivoization refers to the configuring by the manufacturer or vendor of a digital electronic product that uses free software so that the product will operate only with a specific version of such software. Although the concept can initially seem very simple and innocuous, a closer look shows that it could have important implications for the future of free software and for the computer industry as a whole.
The term was coined by Richard Stallman, the founder of the free software movement and the creator of the GNU General Public License (GPL). He derived it from the product named TiVo, which is a specialized computer for digitally recording television programs. The operating system used by TiVo is an embedded version of Linux, for which TiVo's vendor provides the source code, as required by the GPL. However, the product is prevented from functioning if any upgrades or other modifications are made to the source code because the signature key unique to that version of the executable (i.e., the compiled, ready-to-run form of the operating system) must match the signature that is burned into a semiconductor chip in the product.
There are increasingly strong incentives for vendors of both hardware and software to engage in tivoization. They center around (1) the advantages of using free software rather than proprietary (i.e., commercial) software in products and (2) the desire to maintain some control over the use of their products.
One reason for preferring free software is that (1) the cost can be substantially lower, which is, of course, due to the fact that such software is free in a monetary sense. A second reason is that (2) the obstacles to customization are often far less than for proprietary software. A third is that (3) free software can be more robust and less likely to crash than proprietary software (e.g., Linux versus Microsoft Windows). The use of free software also might have (4) possible publicity benefits, including (a) allowing the product vendor to advertise that it is using open source software and thus perhaps makes some consumers feel that they are getting more freedom and lower cost that would be the case for commercial software and (b) creating the impression that competition is being promoted by using an alternative to the dominant operating system.
A major reason for wanting control over the use of software on products is (1) so-called digital rights management (DRM) for movies and other so-called premium content1. It is increasingly important for product vendors to be able to convince owners of such content that they can restrict copying of it as higher resolution media become widely available. This reason also provides an excellent excuse for implementing tivoization that can be used for additional purposes.
A second reason for wanting control is (2) to stop users from deleting spyware that sends information about product use back to the vendor and that shows advertisements. Another reason is (3) concern about conforming to governmental and other safety and security standards and about possible liability resulting from non-conforming software. Additional reasons include the desires to (4) improve computer security by making it more difficult for intruders to install rootkits and other malware, (5) keep products standardized in order to minimize the difficulty in servicing them and (6) reduce software competition.
Several variations on and refinements to the simple scheme used by TiVo can be imagined. Some could be much less obvious and even difficult to detect, thereby minimizing opposition to them and, in the case of software supplied by a monopoly, reducing the pressure for antitrust enforcement.
For example, a product could be designed so that it would still operate in the event of a modification to the software by the user but that some functionality or performance would be lost. Also, a product could offer users a choice of two or more operating systems, but it might be configured so that only one is upgradable and/or that one works better than the others. Also, a product could be configured so as to prevent some application programs from being modified or upgraded or to allow some such programs to work better than others.
An example of using tivoization to reduce competition in the software field would be if Microsoft pressured manufacturers of personal computers to only allow Microsoft Windows along with SUSE Linux and other Linux distributions (i.e., versions) over which Microsoft had attained some control (e.g., through a cross-licensing agreement) to operate on them2. Microsoft could claim that it is facilitating competition by allowing Linux to operate on the computers and thus strengthen its case for avoiding antitrust prosecution. However, these versions of Linux would be effectively crippled because of the inability to update and improve them (including adding security patches, bug fixes and new features) on such computers.
As another example, computers could be developed so that only a single version of OpenOffice is allowed. Or the product could be designed so that OpenOffice would provide performance inferior to that of Microsoft Office. This is analogous to the tactic that is widely believed to be used by Microsoft of having secret APIs (application program interfaces) in its operating systems that allow its application programs to work better on its operating systems than those of its competitors.
Tivoization could eventually be used in computers and other products to restrict users' freedoms in other ways. For example, the free software on such computers could be configured to prevent them from making copies of DVDs containing movies or proprietary operating systems, or they could be configured so that all copies of movies would have slightly lesser image quality than the originals.
The use of digital signatures is not the only possible way of attaining effects similar to those of tivoization. Additional tactics could be the use of product warranties and legislation such as the highly controversial DMCA (Digital Millennium Copyright Act). For example, the warranty would be voided if a user installed modified or upgraded software, similar to how warranties are typically voided if a consumer opens a product, replaces a component, etc. Also, products could be designed to slightly malfunction if software is modified and require repairs that only designated service centers could perform and for which a substantial fee would be charged.
Supporters of free software are generally strongly opposed to tivoization, which they view with suspicion as a new trick to circumvent the GPL. They see it as being inconsistent with the principles of free software, particularly the right of anyone to modify or improve it and to install it in its original or modified form on as many machines as desired.
In addition to the question of freedom and the related philosophical arguments, there is also a very practical matter. It is the fact that free software is dependent for its technological advance on informed users tinkering with it and attempting to customize and improve it. (This is, of course, not only unnecessary for proprietary software, but it is also opposed to the philosophy of such software.)
There might not, however, be any conflict between tivoization and the open source philosophy, which differs from the free software philosophy in that it merely requires that the source code be made freely available for inspection and study.
TiVo is, of course, just a single product which, by itself, is not of that much importance to the free software movement. However, that movement is concerned that TiVo is merely the start of a trend and that, in the absence of preventative measures, tivoization could become much more common in the future and spread to other products, particularly personal computers. Reasons for this include (1) the growing concern about DRM for digital content, (2) the continued improvement in performance of free software relative to proprietary software and (3) increasing creativity by vendors of proprietary software in using tivoization as another tool for fighting competition from free software.
Personal computers could become the most tempting target because of the huge size of the industry, the fact that tivoization could help Microsoft protect its massive software profits, and the fact that Microsoft has a very strong influence over computer hardware vendors.
It is also possible that there could be intense pressure on the political system to legally mandate tivoization in the future. This pressure would be applied by a powerful combination of the largest software developers, the developers of premium content (i.e., movie producers) and some hardware manufacturers. They could make a compelling case for tivoization with their assertions that (1) it would make computers and the Internet safer from various types of attacks and that (2) it would benefit consumers by making it practical the use of high definition movie disks on personal computers and other home entertainment systems. They could also claim that (3) it could help reduce the supposedly severe problem of so-called software piracy3.
The GPL has clearly been the most effective weapon in the fight for truly free software, and it has functioned admirably in the face of the timidity of national governments to implement little more than token measures against the abusive monopolies that have long dominated the computer field. Although it has stood up well so far to a whole host of challenges (including tests in the courts), its enemies have been hard at work refining new techniques aimed at weakening it, most notably software patents and tivoization.
Thus, a major goal of the new version of the GPL, the GPLv3, which is currently in the final stages of review4, is to eliminate these emerging threats. Regarding tivoization, the GPLv3 will allow free software to be used on hardware that is designed such that executable requires a specific key signature in order for it to operate. However, the vendor must provide that signature key or whatever else is necessary so that any modified executables can be appropriately signed, and thus used if desired.
Amazingly (at least to those in the free software community), there is considerable opposition to the GPLv3 in the open source community, and this is very largely the result of the anti-tivoization provision. Opponents of this provision include many developers of the Linux kernel (i.e., the core of the operating system), most notably its originator and chief guardian Linus Torvalds. They assert that (1) the GPL is a software license and thus it should not affect hardware. Closely related to this is their belief that (2) an anti-tivoization clause would restrict the freedom of product developers. Also, they are concerned that (3) such a clause would induce developers to use proprietary software rather than free software. The opinion has also been expressed that (4) it could conflict with legal obligations for vendors of software in a variety of products including electronic medical equipment, aircraft control systems, voting machines and gambling machines. There is also a widely held view that (5) it would be best to let the free market decide about tivoization rather than trying to force a decision by non-market means.
The open source developers who seem unconcerned about tivoization might be overlooking a few things, however. One is that although the GPL is only a software license, the techniques used to enforce tivoization are also really software techniques. They just happen to be hard coded in semiconductor chips rather than encoded on optical or magnetic disks. Also, just because the GPL has only been a software license until now, there is no really good reason that it must always remain so, given the extremely intimate relationship between software and hardware, and especially now that hardware is being designed to restrict the use of software.
The view that an anti-tivoization clause would restrict the rights of hardware developers is rather strange in the eyes of free software advocates. This is because it ignores the fact that tivoization is designed to restrict the rights of software users, some of whom are also software developers. In fact, the proposed anti-tivoization clause is actually very liberal. It does not really restrict the rights of hardware vendors, as they still are permitted to sell products that enforce tivoization; they are merely prevented from selling them with free software installed on them unless they provide the signature keys. And vendors are allowed to use a different signature key for each unit of the product, just as long as they provide the key for a particular unit of that product to the purchaser of that unit.
There is some merit in the argument that an anti-tivoization clause could encourage product manufacturers to use proprietary software rather than free software. However, this has to be weighed against the strong and growing incentives for them to use free software (i.e., the much lower cost, the greater ease of customization and the continued improvement in performance relative to proprietary software).
Although legal requirements for standards compliance may exist for software that is used on some products, there are techniques to ensure that such standards are met other than through tivoization. Indeed, Linux and other free software have successfully been used for years for mission-critical applications without tivoization.
Regarding the view that the free market should be allowed to decide about tivoization, what is being overlooked is the fact that the free market can only function properly where there is truly free competition (i.e., vendors compete solely on the basis of price and quality, including services associated with their products). The market has functioned poorly in the software field for many years as a result of being dominated by what is perhaps the most powerful monopoly that has ever existed, and that monopoly has unparalleled financial and political resources with which to attempt to maintain its dominant position.
Although some might object to the GPLv3, its presence would certainly be better than the alternative that would exist in the absence of any serious antitrust enforcement. In fact, some might argue that the problem with the GPLv3 is not that it is too restrictive, but rather that it could be too weak in coping with some of the possible subtle forms of tivoization that will likely be devised.
2This is not far fetched. Microsoft has long exerted tremendous control over personal computer makers, despite a variety of efforts at antitrust enforcement. For example, it has made it very rare for computer vendors to offer lower priced models that either do not have any operating systems preinstalled or have free operating systems such as Linux preinstalled. For more about these so-called naked PCs, see The Naked Truth About "Naked PCs", The Linux Information Project, May 17, 2006.
3It is not clear that tivoization, or variations thereof, could be an effective means for reducing so-called software piracy. For a detailed examination of the issues regarding software piracy, see The "Software Piracy" Controversy, The Linux Information Project, February 27, 2006.
4The addition of an anti-tivoization clause is a main feature of the GPLv3, along with protection from the abusive use of software patents. The introduction to the most recent draft (July 27, 2006) states with regard to tivoization: "Some computers are designed to deny users access to install or run modified versions of the software inside them. This is fundamentally incompatible with the purpose of the GPL, which is to protect users' freedom to change the software. Therefore, the GPL ensures that the software it covers will not be restricted in this way." A copy of the full text is available at http://www.linfo.org/gplv3_draft_text.html
Created January 8, 2007.