I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

Feb 18, 2008

Tivoization and the GPL

The original Tivo was one of the finest out of box experiences I've ever had as a consumer. I remember how exciting it was to tell friends about our newfound ability to pause live television, and how liberating it felt to be freed from the tyranny of television schedules. Imagine watching whatever you want, whenever you want! Of course, digital video recorders are no longer the rare, expensive creatures they were back in 2002, so some of that original Tivo luster is irretrievably lost.

But Tivo was more than a garden variety DVR. Its true beauty was the synthesis of an intuitive user interface, cool hardware, and an elegant remote. It fired on all cylinders. I loved my series one unit with a passion most people reserve for their newborn children. I upgraded it with an ethernet connector, and plopped in a larger hard drive so I could store a week's worth of television. Never mind that I'd have to quit my job to actually have time enough to watch all those shows. Somehow, the mere knowledge that I had a zillion episodes of Seinfeld or the Simpsons available for immediate viewing gave me a warm, fuzzy feeling in the nether regions of my geek brain. It was a kind of beautiful, pure technological freedom.

tivo2.jpg

Under the hood, Tivo was based on Linux. With a series 1 box, you could access all the standard *nix tools, and install some cool hacks including a web UI. But all that ended when I upgraded from my Series 1 Tivo box to a Series 2. This epic 2003 Tivo community forum thread explains why:

Can the stand alone Series2 running 3.2 software be hacked to get a BASH prompt over the USB/Ethernet bridge?

No. The config files are protected by hashes, and the list and hash check program are in the kernel initrd, which is signed and checked by the boot ROM. Any changes and it will either replace the file or not boot at all.

Can the method used by people using DirectTivos running 3.1 be used on a stand alone 3.2?

No. Unlocked software exists for the DTivos (before Tivo updated it), but all the Series2 stand alones always had the protected OS and ROMs.

If it is not possible, is there any hope that it will be possible in the future?

Who knows? There was an initial hack (set a BASH_ENV variable that makes bash run a script), but Tivo now checks for that. Changing the boot ROM is difficult, as it's soldered to the system board. If it's flashable (I haven't seen a definate yes or no), you still have to get into the system to run a flash program.

In other words, Tivo added hardware protection in the Series 2 to prevent anyone from modifying the Tivo software. Tivo became another Xbox or Playstation console-- a locked-down, hardware protected platform. You'd somehow have to defeat the hardware protection (eg, install a modchip or flash ROMs) before you can modify anything. It looks like Series 2 protection was finally defeated by 2005, but I was long gone from the Tivo ecosystem by then, so I never saw it happen.

It's fair to ask "so what?" at this point. So we can't hack Tivo's series 2 hardware. I may not like it, but it's their hardware, not mine. They can build whatever protections into it they want, right? Ah, but there's the rub. Tivo is based on Linux, and Linux is licensed under the GPL. The GPL uses a "copyleft" license:

The simplest way to make a program free software is to put it in the public domain, uncopyrighted. This allows people to share the program and their improvements, if they are so minded. But it also allows uncooperative people to convert the program into proprietary software. They can make changes, many or few, and distribute the result as a proprietary product. People who receive the program in that modified form do not have the freedom that the original author gave them; the middleman has stripped it away.

In the GNU project, our aim is to give all users the freedom to redistribute and change GNU software. If middlemen could strip off the freedom, we might have many users, but those users would not have freedom. So instead of putting GNU software in the public domain, we "copyleft" it. Copyleft says that anyone who redistributes the software, with or without changes, must pass along the freedom to further copy and change it. Copyleft guarantees that every user has freedom.

This concept of software freedom is embedded deeply into the GPL. As promised, we indeed have the freedom to see the Tivo source code, copy it, and change it. Since the Tivo's hardware validates the software, access to the Tivo software becomes effectively meaningless. You can modify the software all you want, but you'll never be able to run it on your own Tivo!

You might, in fact, argue that Tivo subverted the very principles of the GPL they built their business on. Richard Stallman certainly did. He felt so strongly about this perceived subversion of the GPL that he literally went back and rebuilt the GPL license to prevent what Tivo did:

However, there are those that want to use GPL-covered software for this purpose, and they want to do so by turning freedom number one into a sham, a facade. So they plan to do something like, make a modified version of the GPL-covered program, which contains code to restrict you, and distribute that to you and somehow arrange that you can't really modify it, or if you modify it it won't run, or if you modify it and operate it, it won't operate on the same data.

They do this in various ways. This is known as Tivoization because this is what the Tivo does. The Tivo includes some GPL-covered software. It includes a GNU+Linux system, a small one, but it does, and you can get the source code for that, as required by the GPL because many parts of GNU+Linux are under the GPL, and once you get the source code, you can modify it, and there are ways to install the modified software in your Tivo and if you do that, it won't run, period. It does a checksum of the software and it verifies that it's a version from them and if it's your version, it won't run at all. This is what we are forbidding, with the text we have written for GPL version three. It says that the source code they must give you includes whatever signature keys, or codes that are necessary to make your modified version run.

Businesses can no longer adopt GPL software, then incorporate hardware protections to effectively prevent the software freedoms that the GPL specifically guarantees. This is nothing less than a full frontal assault on everyone's favorite technology, Digital Rights Management. Note that there is a sizable loophole, however. The final version of GPL v3 (section 6) states that the signing key does not have to be provided when the software is distributed to businesses. But this was clearly done only grudgingly, and after intense resistance; the FAQ chides us: "we think it's unfortunate that people would be willing to give up their freedom like this."

The way Tivo built their business around the GPL and then completely subverted it with hardware protection does rankle. But I also wonder how a company like Tivo could make money if users could simply recompile the Tivo software to stop phoning home and billing them. Like consoles, the Tivo hardware is typically sold at a big loss to subsidize the platform. If that hardware could be easily formatted and the software rebuilt, you've created a permanent loss leader. So I can empathize with their desire to control the platform.

I'm not sure where I stand on the tivoization clause in GPL v3. For what it's worth, as much as I adored my Tivo, I abandoned the platform years ago as a lost cause. I've already said that I think a compelling product can make me overlook the DRM, so maybe my opinion is already suspect.

Posted by Jeff Atwood    View blog reactions
« The Ultimate Unit Test Failure
There Ain't No Such Thing as the Fastest Code »
Comments

So, when you BUY a TiVO, what are you really buying? The hardware that happens to run a specific version of open source software, or are you buying the software, too?

Why wouldn't TIVO set up it's mechanism to provide weekly updates for a fixed price of 1/4th of the monthly cost, paid when the data is provided? Then if you want it from Tivo, you have to pay. Would the third party suppliers kill that?

Chris Chubb on February 19, 2008 1:20 AM

I completely agree with the main sentiment: I just wish companies would stop building products that depend on DRM. Just give me a product I can use.

Their product became popular because it was usable and people could do with it what they wanted. TIVO "jumped the shark" when it became locked down.

Competition will arrive and they will copy what you do. TIVO could have stayed on top if they had given users what they wanted instead of locking things down.

Hobbyists are your biggest evangelists. They sell your product for free (actually, they pay to sell your product because they invest so much into it).

I just wish companies would get over this tendency. It's fear of uncertainty. But capitalism is all about uncertainty. Those who bet on it always win. Those who fight it always lose.

Sam on February 19, 2008 1:22 AM

Imagine if people sold you a car, and made it so that it would only work
with their own brand of gasoline. Would you then agree that they made the car,
so it's their right to deny you your favorite gasoline?
How about if the car would only work with their own MP3 player? Is that OK too?

It certainly is OK, as long as you are aware of the restrictions. Though, I would hope that any car with such a restriction would have some sort of value-add, such as a lower price.

Adam on February 19, 2008 1:49 AM

"Since the GPL has a clause forbidding the developer to forbid any "field of endeavour", wouldn't it be nice if there was a law forbidding any company from selling *anything* with a terms-of-use that forbids any field of endeavour?"

No, why would you be in favour of limiting people's freedom by outlawing such contracts? I should be able to enter into a contract with anyone else under whatever terms we find mutually agreeable. I oppose any attempt to limit my freedom to do so in the name of protecting me (particularly with the ironic intent of giving me more freedom). I am a grown-up, after all.

I find it particularly interesting that from many GPL supporters I hear the refrain, "If you don't like it's restrictions, then don't use GPL software, use something else!" And out of the other side of their mouth they complain about companies putting limitations on products, seemingly without realising that they can always "use something else!" Physician, heal thyself.

Adam on February 19, 2008 2:02 AM

"If you want Linux developer opinion, look to the original Linux developer, Linus Torvalds."

Linus only developed the kernel. Tivo has user land programs that were written by Stallman himself, so I do think that his opinion matters.

Adam on February 19, 2008 2:09 AM

Jason: 99% of people won't Imanually/i hack their hardware to save a few bucks a month.

But you wanna bet how many would do it if they could just download something for free that "all their friends are talking about", click it twice, and never pay for service again?

A lot more than 1%.

Fake51: If I bought the radio Iknowing that/i it only did the things it did and that I couldn't modify it, Iyes, I might buy it anyway/i, if the value equation worked out. Remember, related to the previous part of this reply, that something like 99.9% of people Inever ever hack their hardware, period, ever/i. Nor are they even aware of the *possibility* in most cases.

Complaining that you can't do something they never said you could do and that people don't even typically *expect* to be able to do is... well, kinda pointless. Tivo sure isn't going to care. You're not their customer base.

Sam: As far as I know, Tivo still sells plenty of DVRs; people still love their UI, and with an estimated (from Wikipedia) 30-40% of market-share, they don't really need hobbyist fans at this point. Plus, of course, they have that deal with Comcast...

(Full disclosure: I've never owned a Tivo or any DVR.)

Sigivald on February 19, 2008 2:37 AM

The gaping hole in the argument against Tivo-isation is that Tivo doesn't really have code to contribute back to open source projects. They run a pretty bog-standard kernel. They have their own bootloader. They definitely don't modify any of the GPLed userland utilities. None of the other Tivo-izers do either.

THERE'S NO CODE TO CONTRIBUTE BACK.

All Stallman has done is attempt to ban using hardware as a loss-leader with GPL3 software. It won't work.

Fred on February 19, 2008 2:40 AM

"how a company like Tivo could make money if users could simply recompile the Tivo software to stop phoning home and billing them"

Well, ya know, they'd have to write their own OS and software, and stop using (for free) what other people have sweated over.

Simon on February 19, 2008 2:47 AM

"everyone's favorite technology, Digital Rights Management"

Excuse me? Are you a giga-corp spokesman here?

A company like Tivo is free to try to make money that way, but without GPL-licensed code. They are free to choose.

marko on February 19, 2008 2:50 AM

The Tivo subject sounds really complicated as there is software, hardware and a service that you are buying – so who owns what?

As a developer, in which this business has been good to me, I wanted to contribute back to the industry with an open source project where the software I produce is free to everyone to use as they wish: http://www.codeplex.com/gsb

While researching open software licenses, I was overwhelmed with the number of them and how each one was slightly different – to the point where I just picked one on gut feel alone: http://www.opensource.org/licenses/alphabetical

I picked GPLv3, only hoping that it does what I want it to do and that is make the software free to anyone to use it anyway they see fit…

However, it does not seem this simple and in the case of Tivo, it seems so overly complicated that there never will be a satisfactory answer to Tivoization. It seems our software world could use some real industrialization to overcome our perceived intellectual property rights.

Mitch Barnett on February 19, 2008 2:53 AM

The GPLv3 is the developers deciding how they do or do not want their software. If they don't like it then there are pretty of other pieces of software they can use and pay for.

If their business model relies on the economics of free software then they are constrained by the ethics of that community.

Mike Arthur on February 19, 2008 2:57 AM

Someone else mentioned already that Linus Torvalds has talked about GPL 3 a lot already. I remember reading from reddit (I think) a thread where he was explaining his views. I found this thread, which wasn't the same but has most of what I remembered from back then:

http://lkml.org/lkml/2007/6/16/222

If I correctly understand what he wrote, he feels GPL 3 is more restrictive because it gives the hardware vendors less freedom to do with the software what they want. And while as Jeff pointed out in the article that this can be annoying, I tend to agree with Linus.

It would be great if hardware and software vendors gave us more freedom with their devices to expand their uses with 3rd party additions and custom modifications, but in the end it is their choice, right? Support the companies that give you freedom, and maybe we will have a future where companies will default to giving you the freedom because customers have spoken (with their wallets) that they want it.

Mike on February 19, 2008 3:04 AM

@Sigivald:
Well, my sympathies for you. I would never accept having companies dictate to me what I can or cannot do with what I have legally purchased from them. I buy it, it becomes mine. You might as well tell me that the next time I buy a book or a cd that I can't throw either away because "my use of these items is restricted". No, you buy it, you own it, done deal.
I'm not arguing that you should be accommodated in your efforts to do whatever you want with your TiVo. But if you bought the thing then it's yours: open it, hack it, break it, burn it or just plain use it. It doesn't matter, it's yours and you're free to do with it what you want as long as you purchased it legitimately. Screw anybody who tries to take away your basic rights.

Regards
Peter

Fake51 on February 19, 2008 3:16 AM

I'm not a linux fanboy, far from it, but the GPL ideology is clear, and if you want to reap its benefits, you have to play by its rules. Tivo has the option to use any other embedded OS and software it wants, but it went for the least cost option without due consideration to the GPL, and in my book that stinks, however good the product might be. I recall Google being held to account for milking the OSS ecosystem, and they subsequently started to contribute back. Obviously there's a difference in scale, but not in principle.

Doug on February 19, 2008 3:31 AM

My opinion on GPLv3 is still a bit mixed.

On the one hand, nothing that Tivo did doesn't allow you to do the same thing. Tivo made their own hardware, installed Linux on it and sold it.
With GPLv2 you can do the exact same thing: make your own hardware, install Linux and sell it.

I am against DRM, but what RMS tries to accomplish with GPLv3 is overreaching a bit. Now Tivo should not hinder you to install your own version of Linux on your Tivo hardware.
Some remarks on that:
- you bought the hardware (and included software) as is: it is a recording device with known features. If you want extras, expect to pay for them or make your own hardware to make that possible.
- How far should they go to make it possible to install another Linux version? Burning everything in a ROM for cost saving should allowed no? Probably not according to GPLv3.
- removing the JTAG port on production models, again for cost savings, should be possible? Again probably not according to GPLv3.

I'm not sure on those last 2 statements, but I just want to demonstrate that the embedded devices world is completely different from the standard pc world.
In my company we have several times worked for months on a feature in software, just to save 1 chip in each device sold.

Just like DRM is a technical solution to a social problem, I think GPLv3 is a technical solution to a social problem. If you don't want DRM, don't buy it! It really is as simple as that!

ChrisVB on February 19, 2008 3:59 AM

The problem is that Tivos business model relied on people not being able to subvert the code, and the code required them to allow people to subvert it ..

What they needed to do is provide a service that people were willing to pay for and then they would have no problem, instead they DRMed the box so they were paid for allowing people to use their own boxes ...

This is how GPLed software works, you can't lock people in by locking down the system, instead you have to actually provide a service they are willing to pay for (support, extras etc ...)


Jaster on February 19, 2008 3:59 AM

I still use a VHS recorder.

John A Davis on February 19, 2008 4:10 AM

marko He's being sarcastic, dude. Don't take his words literally.

ngch on February 19, 2008 4:25 AM

"I may not like it, but it's their hardware, not mine. They can build whatever protections into it they want, right?"

It is sad that you think like that. Did you get the TiVo for free? Probably not. If you bought the TiVo, it's your hardware, not theirs. Even if you were told you are only "leasing" or "licensing" the hardware, in fact you paid for this hardware, and it should be yours to control and use in every way you want.

Imagine if people sold you a car, and made it so that it would only work with their own brand of gasoline. Would you then agree that they made the car, so it's their right to deny you your favorite gasoline?
How about if the car would only work with their own MP3 player? Is that OK too?

You bought it. It's your hardware, not their hardware.

M on February 19, 2008 4:39 AM

But I also wonder how a company like Tivo could make money if users could simply recompile the Tivo software to stop phoning home and billing them.

Ofcourse, that would be a major problem for Tivo if someone hacked it that way.

But why did Tivo build their system upon GPL software if they had the intention to subvert it anyway? They should have chosen a closed-source, commercial embedded OS instead of Linux if they wanted to control the software themselves.

Jesper on February 19, 2008 4:44 AM

But why did Tivo build their system upon GPL software if they had the intention to subvert it anyway? They should have chosen a closed-source, commercial embedded OS instead of Linux if they wanted to control the software themselves.

So they could get free software and appeal to all the people who say "It runs Linux? Kickass!"

Nate on February 19, 2008 4:56 AM

I agree 100% with M on this. If you buy a radio would you accept restrictions stating that you can't open the box and look inside? Restrictions that you can't modify the thing as you want? Would you also accept restrictions on what you can do with food that you buy?

It is so sad to see people buying into the idea that you have to accept what you're being given. As if the poor companies were on their bleeding knees trying to offer you perfect products at minimal prices. Realize that you're being scammed and fight back. Teach the greedy bastards the hard way that they should respect people.
In short, buy it, hack it and make sure it works FOR you not AGAINST you.

Regards
Fake

Fake51 on February 19, 2008 4:59 AM

Incidentally, what is preventing anyone from building their own Tivo-like box, sans DRM bootloader, and running the modified software on it?

If GPLv3 is adopted by critical components of the Linux stack, expect a big uptake in BSD-licensed kernels for consumer products. Then you won't get ANY code unless the company is feeling nice that day.

GPL wants to mandate that software be free by restricting the developer. BSD gives these freedoms back to the developer, at the cost of not getting back the value-added code.

BSD on February 19, 2008 5:01 AM

Well obviously, this means they have to write their own software. There's no reason they should be allowed to use GNU/Linux in the way they have if the GNU/Linux programmers choose not to let them. Tivo is absolutely despicable (the product itself as well as their practices) and I would never buy one anyway, so I guess this doesn't affect me personally as far as the DRM goes. But as a Linux user, it angers me to see Tivo use a loophole to take the hard work of the open source community and use it for a locked-down platform.

glxr on February 19, 2008 5:21 AM

TiVo Series 2: $99.99
Humax PVR-9200T for FreeView in the UK: 164.80

Doing the tax/currency conversion shuffle, the TiVo should cost 51.25 before tax, adding VAT gives 60.22. Going the other way the Humax is 140.26 before tax, converts to $273.66.

However, that price for the TiVo seems to include a $150 rebate; if so the pricing on the Humax is much more competitive.

The Humax has no subscription fee and indeed no phone or Ethernet socket. (It does have a USB port you can transfer programmes through, and also has a serial port for applying upgrades, if you miss the over-the-air upgrade broadcast.) I'm not sure what OS it runs, but I don't think it's Linux. The most recent update *finally* implemented series link although I think they were waiting for a metadata spec from the broadcasters before it could be implemented. It also now finally supports Programme Delivery Control.

Anyway, if the premium for a commercial embedded OS is $25 or about 10%, why go with the one with the restrictive GPL?

Mike Dimmick on February 19, 2008 5:21 AM

Tivo is something from other world for people from poor countrys like mine (Brazil). Is not one of the purpose of the GPL to allow those people the acess of that?

Hoffmann on February 19, 2008 5:34 AM

Since the GPL has a clause forbidding the developer to forbid any "field of endeavour", wouldn't it be nice if there was a law forbidding any company from selling *anything* with a terms-of-use that forbids any field of endeavour?

In other words tinkering with code and tinkering with car engines are both protected. (Of course it may be illegal to add code which launches hack attempts and illegal to add a machine gun to a car, but it is illegal for the manufacturer or retailer to impose such restrictions.)

I believe Formula 1 engine parts are sold under do-not-open-or-inspect terms. (I'm not sure how such rules can be enforced and I strongly believe that unenforcable rules should not be enacted in the first place.) I'd like to see this practice outlawed -- it's okay for people to read the details of a patented invention, just not to make and sell it themselves.

Gomez on February 19, 2008 5:38 AM

The GPLv3 is a response to market demand among open-source contributers. The GPL was successful because developers didn't want companies getting rich off of their free labor (otherwise they could could have just put it in the public domain). GPLv3 is a reaction to companies that have figured out how to circumvent the restrictions in GPLv2. It's designed to insure that people are still willing to contribute to open source projects.

Granted big companies like Google or IBM would contribute regardless (and probably don't like any restrictions that prevent them from making money on the code they've contributed). But the majority of free software is still written my volunteers, and if those volunteers saw their wark getting stolen for profit I suspect most of them would stop contributing.

JPLemme on February 19, 2008 5:39 AM

I also wonder how a company like Tivo could make money if users could simply recompile the Tivo software to stop phoning home and billing them.

Un-ask the question. If their business model requires customer lock-in enforced through hardware restrictions, that's a flawed business model. The question isn't "how could that business model make money", it's "why should such a business model be rewarded or encouraged".

bignose on February 19, 2008 5:39 AM

BSD: "Incidentally, what is preventing anyone from building their own Tivo-like box, sans DRM bootloader, and running the modified software on it?"

I believe TiVo owns HARDWARE patents on these things. Here's a PDF (sorry, Jeff) on the recent court case TiVo won against EchoStar:

http://www.cafc.uscourts.gov/opinions/06-1574.pdf

David A. Lessnau on February 19, 2008 5:43 AM

I guess it comes down to a simple choice:-
1. Free software that dictates everything you can do with it or
2. Cheap, innovative, consumer devices.

From Tivo's point of view, they needed to provide a guarantee and support for the hardware and to make a profit. If customers could change the software, the support cost becomes prohibitive, and if the hardware failed as a result the consumer loses out. A commercial OS would drive up the unit cost and decrease the profitibility of the machine. If Tivo failed as a business then we might not have such choice, or any choice, in digital recorders today.

So, it could be argued that the new GPL will lead to a stifling in innovation. It will certainly reduce the number of companies / entrepreneurs that would consider using Linux if they had to allow consumers to modify and run the code(1). Which in my book is a bad thing. I want to see Linux used in more places as a real alternative. And to do that, you have to allow people the opportunity to make a profit and if that means a fixed, unchangable platform then so be it. At least it will slow the juggernaut that is certain large software developers.

You could argue that Tivo should not have used the loss-leading hardware business model, but that would have lead to less uptake of the system by consumers due to higher prices which would have reduced the profit Tivo made. Is buying loss-leading hardware and then modifying the software (whether or not it's Linux) to avoid paying the profit-making fees, theft?

(1) Imagine, for example, the implications of allowing people to modify and run code on a Linux based medical diagnostic system or the engine management system in your car.

Skizz on February 19, 2008 5:47 AM

"Incidentally, what is preventing anyone from building their own Tivo-like box, sans DRM bootloader, and running the modified software on it?"

It's only the OS that's open-source. The UI that runs on top of it was written by Tivo and is closed-source. Running the "modified" software would just get you a Linux box that supports the Tivo hardware.

Scott on February 19, 2008 5:56 AM

marko, do you know what 'sarcasm' is?

Nicolas on February 19, 2008 6:09 AM

To glxr: does it anger you that I use Linux and stuff like Open Office and don't contribute anything back to the community. In fact, I am making a profit in doing so - I'm a programmer and use the tools to aid me in my development of closed-source software. So what's the difference between me taking and using free software to make a profit and Tivo?

Why closed-source? Well, it's a lot less hassle than getting a call from an irate client who's just lost all their business data after their twelve year old nephew who 'knows about computers' tried to make improvements to the system.

Skizz on February 19, 2008 6:11 AM

Skizz: how is that different from a "twelve year old nephew who 'knows about computers'" doing hard disk cleanup and deleting all his documents? That's something your client should argue with his nephew, not with you.

Nicolas on February 19, 2008 6:20 AM

I understand why Tivo wanted to lock down their hardware but the bottom line is that they made a very bad technical decision. They could have licenced Windows or QNX. They could have use one of the BSDs. But no, they chose the one option where they had to share their code!

Stephen Darlington on February 19, 2008 6:28 AM

I loved having my 2 Series 2 all hacked to hell and gone until Tivo decided to quit sending me guide data because I wouldn't let them update my software. Eventually I had to give in and now I just have my size upgraded series 2's.. :( Oh well, it's not a Dish or DirectTV DVR.

CroW on February 19, 2008 6:30 AM

Bah, I just pirate any TV shows I want to watch from the internet. I can't get great foreign shows like "Project Catwalk" and "Yakitate!! Japan" from my local cable company anyway.

And what if I just learned of a new show, and I want to start watching it from the beginning? With cable/satellite, I might have to wait months before the rerun season begins, or even years before syndication begins, to see everything from the beginning, if even that is available. With piracy, I can download entire seasons (or even full series!) from start to finish.

Products like Tivo can't compete with a fast internet connection.

James Justin Harrell on February 19, 2008 6:41 AM

People are missing the point if Tivo want to use GPL software they have to obey the licence, if they want free but not GPL use BSD, if they want a licence that does not allow people to change the software use a commercial system (QNX, Windows CE...)

And if someone does modify their Tivo then Tivo don't have to support the modified software, just force the user to reload the default software before they will help them (this seems to be fairly standard practice elsewhere "breaking this seal void the warentee" etc ..)

Jaster on February 19, 2008 6:47 AM

Freedom of the software is being confused with freedom of the hardware. You can get all of the bits to the GPL ode in TiVo. Because they have some non-GPL software involved and hardware they designed along side of the GPL code does not mean you should have access to everything.

Stallman is making the "viral" claims against GPL true - touch it and everything is infected. If TiVo were to give it all away, Comcast would download a copy and use it on their DVRs and not pay TiVo a penny. Is that who we support now - not the little company that took a risk to create a new product, but the mega-corp looking to copy their success and crush them?

It sucked when I had to format my hacked TiVo 2 back to factory so I can get listing data again, but with the rules of DRM I can understand why they are doing it. I doubt an open system would be allowed to download Amazon Unbox movies. Instead of trying to take down TiVo, Stallman should spend some more time working against DMCA and DRM, which as laws can trump his GPLv3.

Michael C. Neel on February 19, 2008 6:48 AM

The "support cost" argument is a load of BS. Just about every manufacturer in the world will refuse to honour any warranties or support agreements if the product has been tinkered with in any way.

Johnny Wannabehacker scans over an online "how to mod your Tivo" site and decides to give it a try, but in the process manages to brick his unit. While his response might be to suck it up and cut his losses, a good contingent of the tech community will, sadly, do something to *really* mess the unit up -- sticking 120v on the circuit board, for instance -- so they can cover their tracks and get a warranty replacement.

It absolutely does impact support costs, not only directly by having to deal with a large number of people demanding support for their mistakes, threatening to post a heartbreaking internet complaint otherwise, but indirectly by the less obvious mistakes.

Dennis Forbes on February 19, 2008 7:16 AM

While you may say that Tivo protects their revenue by putting their software under proprietary protection, they definitely save on cost by using GPL code instead of building an entirely new OS in house. What Tivo is saying to programmers and engineers who contributed to GNU Linux is that we'll take your work, we'll make money off of it, but we won't help you access our designs.

Tony Wong on February 19, 2008 7:33 AM

I don't understand.

What users pay here is for the service. And it seems that the payment is triggered by the software. What then, if people buy the box and use it for some other purpose, besides the fact already mentioned that the company might sell the box at a loss.

Once again, the real wtf is the business model.

Sami on February 19, 2008 7:58 AM

But I also wonder how a company like Tivo could make money if users
could simply recompile the Tivo software to stop phoning home and
billing them.

Well, the *legitimate* places to make money in this space seem to be:
o Off the hardware.
o Charge for access to the progam guide information.

The latter is essentially what TiVo is doing now. Their real problem is that w/o the GPL-subverting DRM, there's nothing stopping a competitor (who isn't taking a loss on selling hardware) from compiling and selling access to their own set of program guide info for TiVos. In other words, they don't want to have to compete.

T.E.D. on February 19, 2008 7:59 AM

Quote Linux:
"The fact is, Tivo didn't take those rights away from you, yet the FSF says that what Tivo did was "against the spirit". That's *bullshit*.

So the whole "to protect these rights, we take away other rigths" argument hinges on the false premise that the new language in GPLv3 is somehow needed. It's not. You still had the right to distribute the software (and modify it), even if the *hardware* is limited to only one version.

In other words, GPLv3 restricts rights that do not need to be restricted, and yes, I think that violates the spirit of the GPLv2 preamble!

Think of it this way: what if the GPLv3 had an addition saying "You can not use this software to make a weapon". Do you see the problem? It restricts peoples rights, would you agree? Would you _also_ agree that it doesn't actually follow that "To protect your rights" logic AT ALL?

And this is exactly where the GPLv3 *diverges* from the above logic. If I build hardware, and sell it with software installed, you can still copy and modify the software. You may not do so within the confines of the hardware I built, but the hardware was never under the license in the first place.

In other words, GPLv3 *restricts* peoples freedoms more than it protects them. It does *not* cause any additional stated freedoms - quite the reverse. It tries to free up stuff that was never mentioned in the first place.

And then the FSF has the gall to call themselves the "protector of
freedoms", and claim that everybody else is evil. What a crock.

In other words, if you want to argue for the changes in GPLv3, you need to CHANGE THE PREAMBLE TOO! You should change:

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, that you can do so in place on your devices, even if those devices weren't licensed under the GPL; and that you know you can do these things.

where I added the "that you can do so in place on your devices, even if those devices weren't licensed under the GPL"."

So Linux himself disagrees with a lot of you people here...

ChrisVB on February 19, 2008 8:28 AM

Most people here have commenting about what the Linux developers (or developers in general) want to happen with the software, or what Richard M. Stallman (I do not abbreviate his name on purpose, abbreviations like that show affection, of which I have none for this person) believes is right, as if Stallman has any say whatsoever. If you want Linux developer opinion, look to the original Linux developer, Linus Torvalds. He approves of what Tivo has done, and has said so on many occasions. Really, this whole thing isn't a big deal, and Tivo is only trying to protect their assets and provide a marketable service to people. Just cut them a break.

Meis on February 19, 2008 8:29 AM

I'm surprised there is any debate at all on this issue. GPL is a software license and was never intended to cover the hardware that the GPL software runs on. Expecting that everything a company sells should become open just because they use some GPL software somewere has nothing to to with freedom and everything to do with selfishness. They make the source of the GPL code available. You can freely use that code to help you to create your own version of a Tivo. Asking them to also help you to run your modified code on their hardware goes way beyond even the "spirit" of the GPL.

The Tivo devices can only be sold as inexpensively as they are because of the service subscription. The ability to hack the device to become a general purpose Linux computer while cool to us geeks, goes quite a bit beyond what we should be demanding from the manufacturer of a consumer appliance.

Sal on February 19, 2008 8:53 AM

As a Playstation developer, I want to point out that not only can you run Linux on a Playstation 3 (see https://help.ubuntu.com/community/PlayStation_3), but Sony actively supports running other OSes on the Playstation 3 hardware (see http://www.playstation.com/ps3-openplatform/index.html). (It is true that Linux is locked out of the graphics chip and the game data and half the memory.) It's not fair to lump the PS3, for which there is active support for opening up at least some of the hardware and the XBox (or the Tivo), which are completely locked down.

Steve Burnap on February 19, 2008 9:14 AM

Jeff, if you have abandoned Tivo then what are you using currently to record shows, movies, etc.? I use a hd-dvr provided from my cable company but it seems transferring any of my recorded content to a seperate hard drive(pc) is blocked. Any thoughts/solutions?

Kenneth on February 19, 2008 9:16 AM

Sal, I agree. To force Linux based hardware to allow modified code to run will be the death of Linux as an embedded OS. No business would touch it, any business doing so would be forced to cover their costs through hardware sales alone (loss leading hardware plus subscriptions wouldn't work since the software can be re-written to bypass it) which would make the device less appealing to the general consumer due to its increased price. And this applies elsewhere too. Imagine a Linux mobile phone with unfettered access to the network using modified kernels. Someone could, hypothetically, reduce the effectiveness of the network, or even make the phone dial/text premium rate services through viral means. So network operators won't allow Linux phones onto their networks. And so on. Hardware manufacturers must be allowed to lock their platform to specific builds of the software and not allow modifications to the core to be loaded onto the device. That will expand the Linux base and give us all slightly cheaper cool devices.

Skizz on February 19, 2008 9:19 AM

"To force Linux based hardware to allow modified code to run will be the death of Linux as an embedded OS"

http://www.nslu2-linux.org
http://www.polarcloud.com/tomato
http://www.sveasoft.com

Last I heard, Cisco (parent company of Linksys) was doing pretty well.

Jake on February 19, 2008 9:52 AM

I can't believe no one mentioned MythTV in all this time.

Atario on February 19, 2008 10:38 AM

If you really want to get into this issue, visit slashdot.org.
This debate has been raging there for a long time.

Doofus on February 19, 2008 11:29 AM

Modifying a Tivo, or even a phone or router, is one thing.

But some equipment just shouldn't be modified. So no Linux based machine tools, avionics, medical equipment, ATMs, cash registers, voting machines....

So we should use Windows? It may not be as intrinsically stable or secure, but at least we can keep users from making it worse.

Jeanne on February 19, 2008 11:38 AM

Couldn't they have just sold the tivo like a cell phone? Charge a profitable price for the hardware without service or take the cheap hardware with a 2 year contract. Either way you make a profit. In fact it could lead to other people creating hardware for Tivo's subscriptiton service if they opened up how to connect to it.

Pollutor on February 19, 2008 11:42 AM

The way to keep the software separate from the billing system is to simply retain programming data on a server that your box needs to log into in order to perform the recording options. Then it's a matter of having an active account associated with a private key, encode the recordings with that key and have it hard wired into the bios that they key is required to play a recording.

That's just a very simplistic way around your proposed issue for why Tivo needs to keep their source closed. I'm sure there are smarter people than me who could come up with a much more difficult system to beat, but the point is, it can be done and is not an excuse for going down the route of making their code proprietary.

Mike on February 19, 2008 11:58 AM

If you really want to get into this issue, visit slashdot.org.

never heard of it.

Jeff, if you have abandoned Tivo then what are you using currently to record shows, movies, etc.?

I ran XP Media Center for a long time in parallel (w/Tivo), then switched over completely. Vista's media center is outstanding, well, as long as you don't need digital cable, that is. I'm sticking with analog cable until the CableCard issues get worked out. If I need high-def, well, that's what bittorrent is for, right?

Jeff Atwood on February 19, 2008 12:22 PM

We all know programmers are binary folks, but it doesn't appear to be quite so black and white.

IIRC the GPL forces you to release source if you sell a program commercially, and that program contains GPL code. Murky waters, because it sounds like they didn't technically sell software. They sold hardware with linux (gpl) some tools (gpl) and their own software installed. I don't think just because they run it on linux, their software becomes gpl automagically.

1. It doesn't sound like they modified any standard programs, but instead wrote their own proprietary s/w, using their own proprietary hardware. using GPL library calls also doesn't make the calling code GPL.

2. Anti-tampering does not equal DRM. While I don't agree with it, I can see why the manufacturers do it. Support and security. If a machine is easily 'hacked' legitimate people could get harmed, and the company takes the fall because they're the one's that shipped an insecure platform. If however the company can prove they took reasonable measures to protect their customers, it's a little harder to pin the blame. America loves to sue people, so do you blame Tivo for applying some CYA.

It's a stupid argument, but it's an argument. Why not just have anti-tampering detection that wouldn't do anything (but maybe warn the user), offer to reset the system, but otherwise negate any support possibility. You can install anything in your car, but it still has to be street legal, and if you don't get it done by an approved mechanic, you can void your warranty and/or your insurance as well.

3. I also recall a lot of the DRM they added was in response to threats of huge lawsuits by those warm fuzzy Hollywood lawyers if they allowed the data they recorded to be distributed outside the box. Again, Tivo is reacting to American law and America's love of litigation.

Tivo dropped the ball, but not over the GPL.

William on February 19, 2008 12:25 PM

It just seems like an argument between whether you want an out of the box consumer electronics device (TiVo), or a totally customizable PC that records TV for you.

If they violated the GPL and they do end up getting slapped for it, what happens next? They switch to another OS that doesn't care if they lock things down. Is it more of a boon for the Linux community to tout TiVo as a success story, or is it more of a cost savings and technology benefit for TiVo Corp to use Linux?

Dave on February 20, 2008 2:27 AM

Whether you like it or not, TiVo stayed within the license. If the GPL had never permitted what Linux does, all that would have happened is that TiVo would have used BSD instead and nobody would have gained anything.

The "whether you like it or not" is quite apropos here. If Tivo had used code licensed under the BSD license, and locked it up the way they did, that would have been fine, because it's entirely within the letter *and* spirit of that license.

The fact is that what Tivo did is *not* within the spirit of the GPL, even if they stayed within the letter of the terms. That's exactly why the GPLv3 makes it more explicit that what Tivo did isn't permitted by the copyright holder.

bignose on February 20, 2008 4:26 AM

the thing with tivoization is that you cannot modify and then use the modified code. All Tivo would have to do is make whatever "calls home" closed source if they were so worried about that and just allow people to modify the GPL code and use that modified code. That's all the GPL3 is trying to accomplish.

mors on February 20, 2008 5:36 AM

I came across a choice Linus quote concerning this I felt the need to share:
"But the FSF seems to want to change the model, and the GPLv3 drafts have not been about developing code in the open, they've been about what you can do with that code. To go back to the science example, it's like saying that not only should the science be peer-reviewed and open, but you also add the requirement that you cannot use it to build a bomb."


Source on February 21, 2008 8:09 AM

I fully support RMS with the GPLv3. Tivo are free to make a product which is totally locked down however to do so they have to write the software themselves. When software is licensed under the GPL it means the developer is saying they want their software to be used in any way the user wishes. Tivo spat in the developers faces when they locked Tivo down.

Morgan on February 22, 2008 1:01 AM

Hi Jeff,

I am surprised by your love of the original Tivo. I understand people loving it because of what it allowed them to do (record from the guide, pause and so on) but IMO the interface was horrible. Easy to use for us geeks, but way too complicated for Joe Consumer.

I'll give only one example. When you want to record a series every week that's called a "season pass". How about calling it what it is instead of being cute? Bad GUI...

As for Media Center, if you think that is great, you need to get out more :-). Sadly, there aren't many good alternatives yet.

Oh, and thanks for not requiring my email...one of the more inane posting requirements...gee, I bet no one every thought of entering a phony address :-).

David on February 23, 2008 4:34 AM

HP sells a Media Center PC with an ATI video capture card that takes cable cards to record digital cable programs. It is dual tuner (and takes two cable cards). Record two shows at once. There you go, Mr. Jeff. Still no VOD with cable cards but it beats being restricted to the analog cable selection. BTW, what will cable do with the bandwidth once the analog feeds are dropped (which is not FCC mandated, the FCC digital transition only targets broadcasters, not cable or dish)? Faster downloads, please?

Pookie on February 24, 2008 12:52 PM

haha

jill0001 on February 26, 2008 10:27 AM

"Well, ya know, they'd have to write their own OS and software, and stop using (for free) what other people have sweated over."

The GNU is supposed to be about freedom, but in reality, it is only around to push the political agenda of Richard Stallman. If it truly was a "free" license, Tivo would be able to use it with no restrictions.

When you think about it, the code is already free. Tivo could make additions, not give out any of the source and the original source would still be free. But this isn't good enough. Richard Stallman and the FSF would like nothing more than to destroy the software industry by making it impossible for a legitimate company to make a profit. This is why I support the bsd license.

and this site does not help the cause: http://gpl-violations.org/

It will scare any business thinking about using GPL code to run the other way (and the movement needs business support..except in communist countries/dictatorships that pass laws forcing government organizations to use open source).

Justin Silverton on March 3, 2008 3:52 AM

@Justin: "Products like Tivo can't compete with a fast internet connection."

Actually, I think they complement a fast connection. All of those Bittorrented shows you mentioned can be nicely transcoded and dropped on the TiVO for easy viewing.

Sean on March 10, 2008 7:22 AM

One thing we mustn't forget is that there are plenty of substitutes for Linux, and other FOSS but what companies don't want to do is pay licenses so they get the free versions.

Also, I believe BSD distributions typically have licenses that place no such obligations on the users.

Timmy The Programmer on February 10, 2009 12:47 PM

Now do you worried about that in the game do not had enough Scions Of Fate gold to play the game, now you can not worried

Scions Of Fate gold on April 18, 2009 1:50 PM

my friend told me a website, in here you can buy a lot SOF gold/a and only spend a little money, do not hesitate

SOF gold on April 18, 2009 1:58 PM

Well, ya know, they'd have to write their own OS and software, and stop using (for free) what other people have sweated over.

dk68 on July 27, 2009 9:27 AM

"I also wonder how a company like Tivo could make money if users could simply recompile the Tivo software to stop phoning home and billing them."

This we know to be true: people are lazy.

If you give them a product that is a joy to use out of the box, and then they have two choices:

1) Do nothing and pay a small fee
2) Pop the hood and hack the device to remove the fee-paying requirement

... 99.99% of all users will choose Door #1.

We geeks hack our devices all the time. But normal people do not. They view the work required to do so as tedious at best and downright scary at worst ("what if I break it???").

If a statistically significant number of people are hacking your device, then you've either made it not enough of a joy to use out of the box, or you've set the monthly fee too high.

Jason Lefkowitz on February 6, 2010 10:19 PM

The "support cost" argument is a load of BS. Just about every manufacturer in the world will refuse to honour any warranties or support agreements if the product has been tinkered with in any way. Many companies won't even cooperate if you're using the product out of the box, but in a slightly non-standard configuration (Your modem is connected to a router? Sorry, can't help you!). There's nothing in the GPL that forbids *those* policies.

If anything, the ability for some people to hack a Tivo would lower their overall support costs, because (a) the hackers would no longer be entitled to any support, and (b) you'd have a community of experts who could (grudgingly) help some of the other users, thereby eliminating yet another support call.

I'm no FOSS fan, but I have to agree with their community on this one. There are a myriad of closed-source and non-"free" open-source embedded kernels that Tivo could have paid chump change for. And if the box really is a loss-leader, then what's the difference if Tivo has to cough up another $5 or $10 per unit? There's no defense for what they did; they used GPLed software as a pure cost-cutting measure, then used an obscure loophole to sabotage the GPL terms for the purpose of enforcing their own licensing. Yuck.

Aaron G on February 6, 2010 10:19 PM

Whether you like it or not, TiVo stayed within the license. If the GPL had never permitted what Linux does, all that would have happened is that TiVo would have used BSD instead and nobody would have gained anything. It's not TiVo's fault that they followed the license rather than "the intended spirit" (which is whatever RMS wakes up and thinks that day)

On top of that, we now have two incompatible widely-used licenses where we previously only had one. The FSF have shot themselves in the foot by preventing their own "share and share-alike" philosophy from actually happening over a relatively minor problem with the license.

James Johnson on February 6, 2010 10:19 PM

The comments to this entry are closed.

Content (c) 2012 . Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.