Tivo and GPL: Beauty and the Beast?

Tivo and GPL: Beauty and the Beast?

Summary: In the ongoing battle between Linux kernel developers and the Free Software Foundation over the future of the GNU Public License, somehow DVR-maker Tivo has become either the whipping boy, or the poster child, depending on whose side you are on. FSF founder Richard Stallman even coined a term for what he sees as misuse of the GPL: "tivoization".

TOPICS: Open Source

In the ongoing battle between Linux kernel developers and the Free Software Foundation over the future of the GNU Public License, somehow DVR-maker Tivo has become either the whipping boy, or the poster child, depending on whose side you are on. FSF founder Richard Stallman even coined a term for what he sees as misuse of the GPL: "tivoization".

(By way of disclaimer, I heart my Tivo box and have had one ever since they first came out. I got mine with a product lifetime subscription, which they don't offer any more. Because I've written many times about GPL in the past you may want to call me biased. Feel free, though I prefer the terms "opinionated" and "pragmatic".)

The FSF argues that end users, like my aunt Sylvia for example, should be free to modify the code inside her Tivo to make it do whatever she wants.The vast majority of users have neither the expertise nor the inclination to modify their software. Let's say she doesn't like the main menu's background animation and wants to make it play something from Mayberry RFC instead. Or perhaps she bought a new pre-N wireless USB dongle and it's not supported by Tivo yet so she wants to make it work. My aunt Sylvia should have the freedom to do that, according to the FSF. With me so far?

(As an aside, I should mention that my aunt is about 80 years old and doesn't know a USB from the CIA, thinks dongles are something that shouldn't be mentioned in polite company, and couldn't encode an MPEG-2 if her social security check depended on it. But maybe she could get one of her grandkids to help out. Or even a nephew. Ok.)

From Tivo's point of view, they have to support thousands of customers, most of whom aren't nearly as polite as my aunt Sylvia on the phone when they call in to report something is not working. They just want to give their customers a nice, consistent, and dependable experience. They especially want their users not to call them with problems about how Judge Judy is COMING ON IN 5 MINUTES and the darned Tivo says the SIGNAL IS NOT AVAILABLE. And maybe they want to be bought by Apple or Google, but who doesn't.

Meanwhile, Linux kernel developers including Linus Torvalds just want their software to be used by as many people as possible. They only care about the software, so rules about what kind of hardware you can and can't run it on is not their concern. If Tivo wants to prevent my aunt from changing the code in her Tivo box, that's ok with them as long as Tivo published the source to any Linux changes they had to make (which they did).

(That last bit is one of the key provisions of the GPL and other reciprocal licenses like MPL and EPL - if you improve it you have to share your improvements with the community. It's more developer-oriented than user-oriented though, which gets us to the heart of this disagreement.)

Simply put, the FSF comes down on the side of user freedoms, while pragmatists like the kernel developers come down more on the side of developer and project freedoms. I will argue that the user freedoms guarded by the FSF are largely illusory. Freedom for developers to innovate, combine software from various sources, and run agnostically in any sort of environment, on the other hand, is something tangible and proven.

While I'm really sorry that Stallman felt betrayed on that day he couldn't get the source code for his new printer in order to modify it, let's be honest, how many users nowadays need to do that? Does my aunt's desire to modify her Tivo's software outweigh Tivo's desire to not have random code running on boxes connecting into their network and causing headaches for their support staff?

In the early days of computing in which Stallman grew up, computer users were an elite club. Everybody knew how to code, and everyone was a "hacker" in the original, good sense. But the information revolution was a runaway success. We won! Today, there are hundreds of millions of users of computers, cell phones, TVs, automobiles, etc., all controlled by microprocessors and software. The vast majority of those users have neither the expertise nor the inclination to modify that software. They just want it to work, to be invisible. The world has changed, and that's a Good Thing.

So I'm sorry Aunt Sylvia, but I just can't take your side in this one. Look, they're doing a Disney movie marathon tonight. The Tivo box already started recording it, so let's grab some popcorn and watch that instead.

Topic: Open Source

Ed Burnette

About Ed Burnette

Ed Burnette is a software industry veteran with more than 25 years of experience as a programmer, author, and speaker. He has written numerous technical articles and books, most recently "Hello, Android: Introducing Google's Mobile Development Platform" from the Pragmatic Programmers.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Number of places where GPL might prove to be a pain!

    Take Wireless Network Card Drivers for example. If the source code for the Lower MAC/PHY layer were to be released, the havoc that can be played on the WiFi community will be immeasurable.

    Imagine being able to use the chip to transmit at all frequencies including those that are regulated and off-limits. The complete technology will be "frowned upon" or worse "withdrawn" because of Radio-regulation implications.

    It is currently distributed as part binary and part open-source (Google Madwifi for Atheros Chipset).

    Open Source is fine - seriously, opening up source code with the objective of improving, tweaking or bettering the code - even discovering potential security hazards is fine. One must consider however that certain things are not really required as open source.

    Frankly as a user AND a developer, I'd rather have a Open/Closed combine than have a proprietary solution which i have no clue about.

    If altering the Menus or changing the UI is all that some users want to do with their Tivos, then Tivo could come out with somekind of a similar approach where the Core remains distributed as a binary and the fringes are open-source.
    • Poor analogy

      "If the source code for the Lower MAC/PHY layer were to be released, the havoc that can be played on the WiFi community will be immeasurable."

      Hey GNU/Linux is open inside out and GPL. Its built to be robust to keep havoc out. It's not the GPL that is your problem above. It's somebody who is irresponsible.

      "I'd rather have a Open/Closed combine than have a proprietary solution which i have no clue about."

      Yeah like nobody had a clue that Windows95 and NT were transmitting plain text login information.

    • huh?

      why is this worse for whifi community than for the tcp/ip community? And that software's been open for years.

      It's time for people to quit imagining the horrors that would occur if open source were to be made available. Some of us have been around for 20-30 years, and open source has been around all that time. And open source is what has improved the computing community, not caused havc.
  • Stallman is right

    Point 1. Nobody forced Tivo to use GPL software. They chose GPL to their benifits. Tivo has a moral liability to follow GPL in letter and spirit.. moral not legal.

    Point 2. Aunty Silvia maybe able to add her enhancements but not be able to test it because the only compliant hardware locks her out because she modified it.

    Point 3. Tivo can legally deny support to any modified versions just like any engineering product vendor does. For that purpose they can use any digest values, encryption etc etc. But they cross the line when they deny access to modified GPL software. Its simply wrong.
    • I am torn..

      On one point, I want to be able to mess with the software. But I can see where Tivo would not want to deal with the hassle. If Linksys had gone the Tivo route, I would not have been able to change my WRT54G to the dd-wrt software which beats the pants off of the Linksys version :)

      They can put in their warranty that updating the software invalidates it. Any user that is actually going to do this will understand.
      Patrick Jones
      • Ooops

        That was not supposed to be a reply to the other mesage. It was a reply to the story.
        Patrick Jones
      • the tivo attitude can go too far...

        businesses with which I am familar today advocate setting their xp and vista permissions up so that users cannot write software or download software, browser extensions, etc. because "we don't want to have to deal with the phone calls".

        And while it does make life easier, for the administrators, it is not a good thing for the users of the machines that want to be more productive. It does, however, save the clueless from themselves.

        My preference would be for tivo to set things up so that someone who knew what they were doing, and who was willing to "sign off" to indicate they realized they were about to turn their machine into a boat anchor if they did something wrong, could then plow forward without barriers.

        That way, people who want or need to make changes could do so. And those who don't care are happy and the others can do what they want.

        Still no protection from those who are determined to shoot themselves in the foot, though.
  • I think you have it backwards.

    With GPL2, you can change the code any way you want, there's no restrictions, for or against DRM.

    However, GPL3 specifically states that ANY DRM is expressly prohibited. Therefore, TIVO could NOT use GPL3 code.
    linux for me
    • Read the tivoization link

      The software in a Tivo is partly covered by GPLv2, but is locked so a user can't run modified versions on the Tivo hardware. Stallman says that's a violation of the spirit of GPLv2 if not the letter, and in the GPLv3 drafts he clears up his intent by making it an explicit violation of the letter as well.

      Thus assuming that part of the draft stays in then Tivo would either be unable to use software covered by GPLv3, or they'd have to remove the lock to allow modified software to run.

      Linus and company's point is that they don't think it's their business to force a company like Tivo to make that decision. They think it's ok what Tivo is doing with the GPLv2 code, and I agree with them. By providing the modifications to the GPLv2 code on their web site, Tivo lets you run modified versions - just NOT ON THEIR HARDWARE. If you want to make your own Tivo clone that is unlocked and runs the modified version, then go for it. In this interpretation, the programmer is not trying to force their point of view on others just for the privledge of using their code.
      Ed Burnette
      • I am torn too, but tivoization is a bleak future

        I can see both sides' arguments in this case, and I am not sure where I stand. Once we hear more about how GPLv2 and GPLv3 work together I might be a bit more at ease.

        But RMS' position is that, one day, he envisions no computers at all. No computers, just appliances. Web apliances built into your television. Video streamers built into the cable box. Google Earth built into a coffee table 'book' (not GPL i know, but cool idea right?) And at that point, where does the GPLv2 protect us? Where are we supposed to run this modified code? Where are our freedoms to tinker when there are no 'computers' left?

        Then we will be screwed, and the hood to our hotrods will be welded shut once again.

        I can see both sides' arguments, but RMS is right in the long run. Torvalds is right in the short run as he tried to increase market share, but that was never RMS' primary goal. Freedom is the FSF goal, and that increases market share through the memes it spreads.

        GPLv3 has better work.
      • Be objective.

        Mr. Ed Burnette,

        Be objective on this issue.

        The governing principles of GPLvx.x are the 4 Basic Free Software Principles.

        This is normal in any law. If the judicial law does not explicitly state it then they go to the contitutional law, or natural law; whichever is greater.

        So, Mr. Burnette, GPLv2.0 does not explicitly state the stance on DRM but the principle is always there.

        What's the use of modifying if Tivo won't allow it to run on their hardware?

        "Tivo lets you run modified versions - just NOT ON THEIR HARDWARE. If you want to make your own Tivo clone that is unlocked and runs the modified version, then go for it."

        Point 1: Is the Hardware Tivo not patented? Do you have explicit declaration from Tivo that they are not to patent the technology in the future?

        Point 2: The company release code in GPL which protects the freedom of individual to modify code. They, by releasing the code in GPL, are the ones that is to enforce this freedom. The same GPL Software used in their hardware (Tivo) won't run if it's modified. Isn't it ironic? As the persons responsible of releasing the code in GPL, they have moral obligation to see to it that the principles of Free Software is protected. That is where their violation is.

        Point 3: Better tell linus and other Anti-GPL3 to be ready creating their own hardwares. Are they ready? (They're lucky though that this Tivoization is not rampant on most hardwares we are using.)

  • Let the Market decide

    If you like how Tivo does buisness then you can use the Tivo box and the Tivo service. There are a number of excellent alternatives available for both Windows and Linux so if you don't like the Tivo way then try something else. I use Linux and Mythtv is excellent.
    • I'm with you...

      jamander4. For me it's SageTV, but the effect is the same.

      I have one HTPC box that can stream content via ethernet to any PC or TV in the house (instead of having to buy multiple TIVO boxes). SageTV even provides some rudimentary tools so I can modify/improve the UI myself.

      Those who buy TIVO probably deserve TIVO.
  • If people want working DRM then they need GPLv3!

    I do not see what the whole hysteria is all about. IF YOU TAKE THE GPLV2 CODE LOCK WITH ENCRYPTION - THEN YOU ARE SCREWED ALREADY.

    Take a look on PSP. Thay took bunch of open-source libraries and locked everything with encryption. Boo-hoo, I now can no longer modify anything, argh. Disaster ? Not so: buffer overflow was quickly found in libtiff (open-source library) and after that - it's easy to run modified software. Almost the ame story happened with XBOX. The same story will happen again and again. YOU CAN NOT HAVE WORKING DRM IF YOU ARE TRYING TO LOCK HUGE CODEBASE WRITTEN BY HUGE NUMBER OF PEOPLE.

    Now, is it EVER possible to have working DRM ? Sure. It's even easy. Make tiny-tiny "kernel" which works with "protected" content (or select frequencies in a radio transmitter or doing something else like that), put it in cell (or may be in Cell) and install firewall between this part and the rest of the system. Most of the system can be modifiable - it's not such a big deal, you can not really prevent it if it's too complex (see PSP and XBOX samples above).

    Hmm... Now... Let's take a look at what we did. We actually implemented scheme which is required by GPLv3!

    Basically it means that in the situation where GPLv3 is truly not good (think about game engine in MMORPG: it's ok if EVERYONE upgrades to the new engine but if someone hacks it to make it "better" then standard one - it can kill the whole game) you need to construct the software in a way which can be easily made GPLv3 compatible. Why not publish "unimportant" part and make it modifiable then ?
  • Why oh why?

    Why do we make all computer users to be Aunt Sylvia?
    Not all computer users are Aunt Sylvia... get it!?

    And if your Aunt Sylvia decides she does not want to use Microsoft Office because it's too hard for her then I guess we all shouldn't be using it noh?

    Don't be dumb.

    Tivo used the GPL. What's the use of the License if you don't respect it?
  • The word "Users"

    Please also be clear Mr. Ed Burnette that the word computer "users" fall into different categories.

    1) Basic Users

    2) Intermediate Users

    3) Advance Users

    All these are computer "users". What you think of the Developers in the Open Source Technology? Were they not once Basic Users?

    Therefore, the protection of Freedom addressed by FSF is not illusory.

    It's your failure to generalize "all computer users" must necessarily be "dumb users".

    • A user by any other name

      Being an advanced/power user is beside the point. I'm an advanced Tivo user because I know all the ins and outs of the menus and the settings, have set it up on a home network, view photos, run games, etc.. That in itself doesn't give me some inalienable right to modify the code running in the box.

      There are people who know so much about Photoshop it's scary. Do they want or need to modify the code? If they do, they can always apply to work at Adobe, or use a free/open source alternative. But my guess is that 99.99% just care about what Photoshop can do for them, i.e., using the software as a means to an end.
      Ed Burnette
      • No, the GPL gives you that right

        [i]That in itself doesn't give me some inalienable right to modify the code running in the box.

        Actually the source code is available and you do in fact have the right to modify it. The TiVo hardware just won't run it.

        This is stallman's beef.
        Edward Meyers
      • :D

        You're an advance user in Photoshop whether you like it or not the source code is not given for you to tinker with.

        Look at the number of people tinkering GIMP.
        Or the Linux kernel.
        Or Blender 3D.
        Or PHP.
        Or Mozilla Gecko.

        Ah yeah, you say nobody cares the ins and outs. That's more of illusory isn't it?

        (What's the use of offering computer science to students if you only end up with plain users who neither care nor want to know about the source code?)

        Again, you want to qualify all users to be like "you". This is a bad analogy.
  • Tevo etc... please consider...

    OK... Let those that want Tevo and etc boxes have what
    they want... But I can't for the life of me understand why
    they left the Microsoft world in the first place...

    If you want glittery things that glow in the dark do
    Microsoft and Windows (win-blows)...

    Consider the students, the handicapped, the older people
    (like myself) that would be locked out of the loop for the
    wanting of a box..!?!?!?

    Get with the program! Those of us that modify code do
    just that and let the 'upper class' deal with their lack of
    coding abilities pound on foolish boxes when they refuse
    to work... ME? I just putt along and re-code when things
    get busted (they seldom do once fixed...<heh>)

    What I see happening is the Linux systems will split into
    several sub-groups... so be it... For me I will continue
    with the open software and those of us that will be in that

    We've been working up to this for quite some time... Just
    look at all the 'User Friendly' Linux OS'es out there...

    This proposed Tevo ET AL is just a way of getting the
    corporate grip on the Linux system... Someone is losing
    control of the money and you know what that means...
    good things go damned sour damned quick!

    So I will continue... let all others do what they may... I
    can almost bet there will be a few that might follow and
    the 'box' user will lose greatly and I the tinker will lose

    Vince W