Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Is TiVo violating (at least the spirit of) the GPL?

6 views
Skip to first unread message

Stan Brown

unread,
May 26, 2002, 11:24:25 AM5/26/02
to

I just purchased a new TiVo. I did this at least partialy because I knew it
was based upon GNU/Linux, and I expected to be able to make some changes to
this unit to make it easier for me to use (sucha as providing the abilty to
tell it what shows to record via a network interface).

Unfortuantely I did not check inot this situation enough. It appears that
then newer (series 2) inits have a "tripwire" like functionality in the
boot PROM, thus making it impossible to modify the software in any way.

So heres the question, whats the good of access to the OS that runs on the
unit, if there is a non-free peice of code in the uni (the PROM) that
prohibits any modifcations?

While this may not be a techniacl violation of the gPL as writen, isn't it
a "spiritual" violatin?

Is it timeto revise the GPL to avoid this type of thing?

--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin

phil hunt

unread,
May 26, 2002, 3:04:15 PM5/26/02
to
On Sun, 26 May 2002 15:24:25 +0000 (UTC), Stan Brown <st...@panix.com> wrote:
>
>I just purchased a new TiVo. I did this at least partialy because I knew it
>was based upon GNU/Linux, and I expected to be able to make some changes to
>this unit to make it easier for me to use (sucha as providing the abilty to
>tell it what shows to record via a network interface).
>
>Unfortuantely I did not check inot this situation enough. It appears that
>then newer (series 2) inits have a "tripwire" like functionality in the
>boot PROM, thus making it impossible to modify the software in any way.
>
>So heres the question, whats the good of access to the OS that runs on the
>unit, if there is a non-free peice of code in the uni (the PROM) that
>prohibits any modifcations?
>
>While this may not be a techniacl violation of the gPL as writen, isn't it
>a "spiritual" violatin?

Yes. The point of the GPL is that you are allowed to modify
software for your own ends.

>Is it timeto revise the GPL to avoid this type of thing?

I think so, yes. Have you spoken to Richard Stallman about this?

--
<"><"><"> Philip Hunt <ph...@comuno.freeserve.co.uk> <"><"><">
"I would guess that he really believes whatever is politically
advantageous for him to believe."
-- Alison Brooks, referring to Michael
Portillo, on soc.history.what-if

Stan Brown

unread,
May 26, 2002, 3:44:56 PM5/26/02
to

>On Sun, 26 May 2002 15:24:25 +0000 (UTC), Stan Brown <st...@panix.com> wrote:
>>
>>I just purchased a new TiVo. I did this at least partialy because I knew it
>>was based upon GNU/Linux, and I expected to be able to make some changes to
>>this unit to make it easier for me to use (sucha as providing the abilty to
>>tell it what shows to record via a network interface).
>>
>>Unfortuantely I did not check inot this situation enough. It appears that
>>then newer (series 2) inits have a "tripwire" like functionality in the
>>boot PROM, thus making it impossible to modify the software in any way.
>>
>>So heres the question, whats the good of access to the OS that runs on the
>>unit, if there is a non-free peice of code in the uni (the PROM) that
>>prohibits any modifcations?
>>
>>While this may not be a techniacl violation of the gPL as writen, isn't it
>>a "spiritual" violatin?

>Yes. The point of the GPL is that you are allowed to modify
>software for your own ends.

>>Is it timeto revise the GPL to avoid this type of thing?

>I think so, yes. Have you spoken to Richard Stallman about this?

No, I thought I would post here first, and see if my feelings were
shred by otherss, before bothering him with the question.

I would like to see some other replies, and if enough people agree with me
on this, then I would be interested in how to proerly bring this issue to
the atention of the FSF.

Personally, after years of not feeling to strongly whne it comes to *BSD,
vs GPL licsensing issues, I sudenly find that I now understand why his
positions are as strong as they are.

Christopher Browne

unread,
May 26, 2002, 4:01:19 PM5/26/02
to
Stan Brown <st...@panix.com> wrote:
> I just purchased a new TiVo. I did this at least partialy because I knew it
> was based upon GNU/Linux, and I expected to be able to make some changes to
> this unit to make it easier for me to use (sucha as providing the abilty to
> tell it what shows to record via a network interface).
>
> Unfortuantely I did not check inot this situation enough. It appears that
> then newer (series 2) inits have a "tripwire" like functionality in the
> boot PROM, thus making it impossible to modify the software in any way.
>
> So heres the question, whats the good of access to the OS that runs on the
> unit, if there is a non-free peice of code in the uni (the PROM) that
> prohibits any modifcations?
>
> While this may not be a techniacl violation of the gPL as writen, isn't it
> a "spiritual" violatin?
>
> Is it timeto revise the GPL to avoid this type of thing?

You should be aware that just about the only part of the TiVo that is
forcibly "free software" is the operating system kernel.

The stuff that you might want to modify might not be GPLed software at
all; the set of software they use to display menus and such _isn't_
GPLed, and that's the _really_ important part for your intended
application.

There may be a "spiritual violation" of the GPL; even if not, if the
software that's actually important to modify for your purposes isn't
licensed under the GPL, then the GPL has nothing to say about that.
--
(reverse (concatenate 'string "moc.enworbbc@" "sirhc"))
http://www.cbbrowne.com/info/spreadsheets.html
((LAMBDA (X) (X X)) (LAMBDA (X) (X X)))

Todd Larason

unread,
May 26, 2002, 4:17:26 PM5/26/02
to
On 26 May 2002 20:01:19 GMT, Christopher Browne <cbbr...@acm.org> wrote:
> You should be aware that just about the only part of the TiVo that is
> forcibly "free software" is the operating system kernel.

To prevent changes to their other software, they've created a system
in which the kernel can't be modified either.

> The stuff that you might want to modify might not be GPLed software at
> all; the set of software they use to display menus and such _isn't_
> GPLed, and that's the _really_ important part for your intended
> application.

Most of the interesting modifications made to earlier Tivo models
don't involve modifying the application code; it isn't necessary.
It's enough to run software on the machine. It reads and writes file
(or at least, semi-file-like objects in an unusual
object-database-like filesystem), using tools, libraries and a tcl
interpreter that come on the machine.
--
They can have my computer when they pry it from my cold dead fingers.
http://www.politechbot.com/docs/cbdtpa/ http://www.eff.org/

phil hunt

unread,
May 26, 2002, 4:14:26 PM5/26/02
to
On Sun, 26 May 2002 19:44:56 +0000 (UTC), Stan Brown <st...@panix.com> wrote:
>
>>>Is it timeto revise the GPL to avoid this type of thing?
>
>>I think so, yes. Have you spoken to Richard Stallman about this?
>
>No, I thought I would post here first, and see if my feelings were
>shred by otherss, before bothering him with the question.
>
>I would like to see some other replies,

There isn't a lot of traffic to this ng. If you want a bigger
discussion other forums are better e.g. you might try to get
your question on Slashdot.

Isaac

unread,
May 26, 2002, 5:02:22 PM5/26/02
to
On Sun, 26 May 2002 20:17:26 -0000, Todd Larason <j...@molehill.org> wrote:
> On 26 May 2002 20:01:19 GMT, Christopher Browne <cbbr...@acm.org> wrote:
>> You should be aware that just about the only part of the TiVo that is
>> forcibly "free software" is the operating system kernel.
>
> To prevent changes to their other software, they've created a system
> in which the kernel can't be modified either.
>

Hmm. I wonder if circumventing such a system is a violation of the
DMCA. Sure sounds like it to me.

Isaac

John Hasler

unread,
May 26, 2002, 4:41:29 PM5/26/02
to
Todd Larason writes:
> To prevent changes to their other software, they've created a system in
> which the kernel can't be modified either.

Of course it can. It just can't be run on unmodified TiVo hardware.
--
John Hasler
jo...@dhh.gt.org
Dancing Horse Hill
Elmwood, Wisconsin

John Hasler

unread,
May 26, 2002, 4:38:59 PM5/26/02
to
Philip Hunt writes:
> There isn't a lot of traffic to this ng.

But what there is is almost all worth reading.

> If you want a bigger discussion other forums are better e.g. you might
> try to get your question on Slashdot.

Bigger, but not necessarily better.

Stan Brown

unread,
May 26, 2002, 5:38:34 PM5/26/02
to
In <acreue$s1vkd$1...@ID-125932.news.dfncis.de> Christopher Browne <cbbr...@acm.org> writes:

> (1) Concentric chowder

> (2) Astronomical exhaust prostitutes

> (3) Ancient string-art configurations
>X-Uboat-Death-Message: NETSCAPE. ANNOYED. LEAVE BOAT. U-94.
>Xref: panix gnu.misc.discuss:86772

>Stan Brown <st...@panix.com> wrote:
>> I just purchased a new TiVo. I did this at least partialy because I knew it
>> was based upon GNU/Linux, and I expected to be able to make some changes to
>> this unit to make it easier for me to use (sucha as providing the abilty to
>> tell it what shows to record via a network interface).
>>
>> Unfortuantely I did not check inot this situation enough. It appears that
>> then newer (series 2) inits have a "tripwire" like functionality in the
>> boot PROM, thus making it impossible to modify the software in any way.
>>
>> So heres the question, whats the good of access to the OS that runs on the
>> unit, if there is a non-free peice of code in the uni (the PROM) that
>> prohibits any modifcations?
>>
>> While this may not be a techniacl violation of the gPL as writen, isn't it
>> a "spiritual" violatin?
>>
>> Is it timeto revise the GPL to avoid this type of thing?

>You should be aware that just about the only part of the TiVo that is
>forcibly "free software" is the operating system kernel.

>The stuff that you might want to modify might not be GPLed software at
>all; the set of software they use to display menus and such _isn't_
>GPLed, and that's the _really_ important part for your intended
>application.

Actually no,

I admin machiines for a living, and the idea of having a *NIX based machine
on my own personal network (which _only_ has *NIX machines) that I can't
at least check the uptime with using say ruptime, is just apalling.


>There may be a "spiritual violation" of the GPL; even if not, if the
>software that's actually important to modify for your purposes isn't
>licensed under the GPL, then the GPL has nothing to say about that.

Yes, I understnad that they are under no obligation to provide inforamtion
for that part of teh code.

Stan Brown

unread,
May 26, 2002, 5:39:45 PM5/26/02
to

>On Sun, 26 May 2002 19:44:56 +0000 (UTC), Stan Brown <st...@panix.com> wrote:
>>
>>>>Is it timeto revise the GPL to avoid this type of thing?
>>
>>>I think so, yes. Have you spoken to Richard Stallman about this?
>>
>>No, I thought I would post here first, and see if my feelings were
>>shred by otherss, before bothering him with the question.
>>
>>I would like to see some other replies,

>There isn't a lot of traffic to this ng. If you want a bigger
>discussion other forums are better e.g. you might try to get
>your question on Slashdot.


I thought of that, but I have enver posted anything there. Is there an "Ask
Slashdot" entry form somewhere?

Stan Brown

unread,
May 26, 2002, 5:42:21 PM5/26/02
to

>Todd Larason writes:
>> To prevent changes to their other software, they've created a system in
>> which the kernel can't be modified either.

>Of course it can. It just can't be run on unmodified TiVo hardware.

True enough, and really the gist of my question.

Let me rephrase it.

Given that the OS on the machine is GNU/Linux, is it philosphicly, aif not
legaly, a GPL violation to use closed source software (the boot PROM) to
prevent modifying the OS?

Russ Allbery

unread,
May 26, 2002, 6:01:41 PM5/26/02
to
Stan Brown <st...@panix.com> writes:

> Unfortuantely I did not check inot this situation enough. It appears
> that then newer (series 2) inits have a "tripwire" like functionality in
> the boot PROM, thus making it impossible to modify the software in any
> way.

> So heres the question, whats the good of access to the OS that runs on
> the unit, if there is a non-free peice of code in the uni (the PROM)
> that prohibits any modifcations?

> While this may not be a techniacl violation of the gPL as writen, isn't
> it a "spiritual" violatin?

I'd think of it this way: What if you wrote an application that was based
on GPL'd code, burned that application into some ROMs on a device, and
sold that device along with a CD of the source code for the application?

The end user wouldn't be able to modify the code in that device (without
doing real hardware work to replace the PROMs), but I don't think that
this situation would be in even spiritual violation of the GPL.

Really, I'd think of TiVo as providing you with a mostly closed-box
electronic appliance that happens to run some embedded GPL code that
they've also provided you with source for. You can use that code in your
own applications, but reprogramming the TiVo is a lot like reprogramming
your microwave. They don't really have an obligation to make it easy for
you to do that.

It's quite possible to build one's own TiVo-like appliance using standard
off-the-shelf hardware and then you could use the GPL'd code with that and
write your own scheduling software, so it's not like the code is worthless
without the ability to modify it directly on the device.

I think it's somewhat unfortunate that they've chosen not to make it
easier for people to tweak the TiVo software, although I can understand
the business model behind that decision. But I don't think that the GPL
is anywhere near as encompassing as to cause even a spiritual problem with
what they're doing with GPL'd software (as opposed to the more general
question of whether closed-source software should exist at all). The
actual TiVo application isn't covered by the GPL and the system is not
intended or marketed as any sort of general computing platform.

--
Russ Allbery (r...@stanford.edu) <http://www.eyrie.org/~eagle/>

phil hunt

unread,
May 26, 2002, 5:00:32 PM5/26/02
to
On 26 May 2002 20:01:19 GMT, Christopher Browne <cbbr...@acm.org> wrote:
>Stan Brown <st...@panix.com> wrote:
>> I just purchased a new TiVo. I did this at least partialy because I knew it
>> was based upon GNU/Linux, and I expected to be able to make some changes to
>> this unit to make it easier for me to use (sucha as providing the abilty to
>> tell it what shows to record via a network interface).
>>
>> Unfortuantely I did not check inot this situation enough. It appears that
>> then newer (series 2) inits have a "tripwire" like functionality in the
>> boot PROM, thus making it impossible to modify the software in any way.
>>
>> So heres the question, whats the good of access to the OS that runs on the
>> unit, if there is a non-free peice of code in the uni (the PROM) that
>> prohibits any modifcations?
>>
>> While this may not be a techniacl violation of the gPL as writen, isn't it
>> a "spiritual" violatin?
>>
>> Is it timeto revise the GPL to avoid this type of thing?
>
>You should be aware that just about the only part of the TiVo that is
>forcibly "free software" is the operating system kernel.
>
>The stuff that you might want to modify might not be GPLed software at
>all; the set of software they use to display menus and such _isn't_
>GPLed, and that's the _really_ important part for your intended
>application.

Perhaps he wants to modify the kernel; depending on what features he
wants to add, he may be able to get the desired functionality by
doing that.

IMO, if TiVo are doing anything to prevent him replacing the
kernel shipped with the TiVo with a modified version, they are in
breach of the spirit (if not the letter) of the GPL.

Jeffrey Siegal

unread,
May 26, 2002, 6:56:40 PM5/26/02
to
I believe they are violating the letter as well as the spirit of the
GPL. In particular:

"6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further restrictions
on the recipients' exercise of the rights granted herein."

A tripwire-like mechanism is a "further restriction."

Jeffrey Siegal

unread,
May 26, 2002, 6:59:32 PM5/26/02
to
Isaac wrote:
> Hmm. I wonder if circumventing such a system is a violation of the
> DMCA. Sure sounds like it to me.

Causing access to (in particular, an attempt to "copy, modify, or
distribute") the GPLed program to violate the DMCA would also be a
"further restriction" under section 6 of the GPL.


phil hunt

unread,
May 26, 2002, 7:17:06 PM5/26/02
to
On Sun, 26 May 2002 20:38:59 GMT, John Hasler <jo...@dhh.gt.org> wrote:
>Philip Hunt writes:
>> If you want a bigger discussion other forums are better e.g. you might
>> try to get your question on Slashdot.
>
>Bigger, but not necessarily better.

True

phil hunt

unread,
May 26, 2002, 7:22:04 PM5/26/02
to
On Sun, 26 May 2002 21:39:45 +0000 (UTC), Stan Brown <st...@panix.com> wrote:
>In <slrnaf2gh2...@comuno.freeserve.co.uk> ph...@comuno.freeserve.co.uk (phil hunt) writes:
>
>>On Sun, 26 May 2002 19:44:56 +0000 (UTC), Stan Brown <st...@panix.com> wrote:
>>>
>>>>>Is it timeto revise the GPL to avoid this type of thing?
>>>
>>>>I think so, yes. Have you spoken to Richard Stallman about this?
>>>
>>>No, I thought I would post here first, and see if my feelings were
>>>shred by otherss, before bothering him with the question.
>>>
>>>I would like to see some other replies,
>
>>There isn't a lot of traffic to this ng. If you want a bigger
>>discussion other forums are better e.g. you might try to get
>>your question on Slashdot.
>
>
>I thought of that, but I have enver posted anything there. Is there an "Ask
>Slashdot" entry form somewhere?

You have to post it as a story submission using the form at
<http://slashdot.org/submit.pl>

Isaac

unread,
May 26, 2002, 7:23:07 PM5/26/02
to

I think only the spirit is violated here. No one is preventing modifying
or distributing modified OS software. It's just that those modifications
will not work in a TiVo. I'm not sure exactly what tripwire like
function is being discussed, but what if there was simply a CRC integrity
check of the OS ROMS? Are you saying that doing such a check for the
purpose of preventing running with a damaged OS would violate the letter
of the GPL?

At least arguably, the restrictions are on the application software which
is not gpled rather than on the linux OS portion.

Isaac

Jeffrey Siegal

unread,
May 26, 2002, 7:40:31 PM5/26/02
to
"Any further restrictions" is a much broader requirement than "prohibit"
or "prevent." A vaguely analogous restriction to making the unit not
function if the GPLed software is modified would be to require that you
send TiVo (or even to a charity) $400 if you modify the software. That
doesn't prevent modification but it does "restrict" it.

Jeffrey Siegal

unread,
May 26, 2002, 7:42:19 PM5/26/02
to
BTW, a very simple remedy that would restore GPL compliance would be to
exclude the OS components from the PROM-based "tripwire" and only
protect the application.

Isaac

unread,
May 26, 2002, 7:47:01 PM5/26/02
to

I think so too, but I can imagine a convoluted situation in which the
mechanism protected both gpled and non gpled copyrighted material. It
would be illegal to circumvent the mechanism under the DMCA even if you
had an absolute right to access some of the material. I'm not sure
that even bringing in section 7 helps here.

You are still free to copy, modify, distribute. What you are being
prevented from doing is running modified software in a TiVo. It isn't
clear to me that this is the kind of restriction the GPL means to
cover. Does the GPL imply that any embedded software must be included
in removable sockets rather than soldered onto the boards so that
we aren't restricted from making modifications?

Isaac

Jeffrey Siegal

unread,
May 26, 2002, 8:03:24 PM5/26/02
to
Isaac wrote:
> I think so too, but I can imagine a convoluted situation in which the
> mechanism protected both gpled and non gpled copyrighted material. It
> would be illegal to circumvent the mechanism under the DMCA even if you
> had an absolute right to access some of the material. I'm not sure
> that even bringing in section 7 helps here.

I would argue that imposing such a mechanism on a GPLed program is a
violation of the GPL. That you are also imposing the mechanism on
non-GPLed material does not change this fact. The GPL-compliant choices
are: a) either impose the mechanism only on the non-GPLed material, b)
don't impose it at all, or c) don't distribute the GPLed program at all.
(A fourth, I suppose, would be negotiating a non-GPL license with the
author.)

> You are still free to copy, modify, distribute. What you are being
> prevented from doing is running modified software in a TiVo. It isn't
> clear to me that this is the kind of restriction the GPL means to
> cover. Does the GPL imply that any embedded software must be included
> in removable sockets rather than soldered onto the boards so that
> we aren't restricted from making modifications?

I've raised this issue before, and I don't think the GPL addresses
embedded software very well. Nevertheless:

1. The TiVo does not have its GPLed software burned into ROM. It is on
a conventional storage medium and could be modified had TiVo not
restricted doing so.

2. It would be reasonable to differentiate between a situation where the
device is physically and unalterably non-modifyable, and where a
mechanism had been explicitly put into place by the GPL licensee to
restrict modification.


phil hunt

unread,
May 26, 2002, 7:28:00 PM5/26/02
to
On Sun, 26 May 2002 15:01:41 -0700, Russ Allbery <r...@stanford.edu> wrote:
>Stan Brown <st...@panix.com> writes:
>
>> Unfortuantely I did not check inot this situation enough. It appears
>> that then newer (series 2) inits have a "tripwire" like functionality in
>> the boot PROM, thus making it impossible to modify the software in any
>> way.
>
>> So heres the question, whats the good of access to the OS that runs on
>> the unit, if there is a non-free peice of code in the uni (the PROM)
>> that prohibits any modifcations?
>
>> While this may not be a techniacl violation of the gPL as writen, isn't
>> it a "spiritual" violatin?
>
>I'd think of it this way: What if you wrote an application that was based
>on GPL'd code, burned that application into some ROMs on a device, and
>sold that device along with a CD of the source code for the application?
>
>The end user wouldn't be able to modify the code in that device (without
>doing real hardware work to replace the PROMs), but I don't think that
>this situation would be in even spiritual violation of the GPL.
>
>Really, I'd think of TiVo as providing you with a mostly closed-box
>electronic appliance that happens to run some embedded GPL code that
>they've also provided you with source for. You can use that code in your
>own applications, but reprogramming the TiVo is a lot like reprogramming
>your microwave. They don't really have an obligation to make it easy for
>you to do that.

I agree.

But if they use GPL'd code, they *do* have an obligation not to go
out of their way to make it harder for you. Making tamper-proof
hardware is a clear breach of the spirit of the GPL. it's also wrong
in itself: if you paid for it, you own the TiVo box, so you should
be able to do what you like with it. Including reprogramming it so
it doesn't record programs on TiVo's instructions without your
permission.

Russ Allbery

unread,
May 26, 2002, 8:05:41 PM5/26/02
to
Jeffrey Siegal <j...@quiotix.com> writes:

The problem with this analogy is that in this case, the restriction is
built into the hardware, not into the software or its license.

Jeffrey Siegal

unread,
May 26, 2002, 8:29:34 PM5/26/02
to
Russ Allbery wrote:
>>"Any further restrictions" is a much broader requirement than "prohibit"
>>or "prevent." A vaguely analogous restriction to making the unit not
>>function if the GPLed software is modified would be to require that you
>>send TiVo (or even to a charity) $400 if you modify the software. That
>>doesn't prevent modification but it does "restrict" it.
>
> The problem with this analogy is that in this case, the restriction is
> built into the hardware, not into the software or its license.

This distinction does not make a difference. Section 6 is not limited
to restrictions in the software or a license. It very broadly says
"*any* further restrictions (emphasis added) and further it adds that
the GPL licensee may not restrict the "exercise of" the end users'
rights, which is exactly what TiVo's mechanism does.


Russ Allbery

unread,
May 26, 2002, 8:32:37 PM5/26/02
to
phil hunt <ph...@comuno.freeserve.co.uk> writes:

> But if they use GPL'd code, they *do* have an obligation not to go out
> of their way to make it harder for you. Making tamper-proof hardware is
> a clear breach of the spirit of the GPL. it's also wrong in itself: if
> you paid for it, you own the TiVo box, so you should be able to do what
> you like with it. Including reprogramming it so it doesn't record
> programs on TiVo's instructions without your permission.

Verifying a checksum on the operating system isn't obviously making the
hardware tamper-proof. It could, for example, be a valid consistency
check if they're worried about bit corruption in the memory or disk. Or,
if it's related to the pay TiVo *service*, a verification that the box
dialing up to their service isn't going to do something weird.

Plus, I don't think I agree with your stance there. The GPL is a software
license. Making hardware that only runs certain code is completely
separate from the GPL. I think it's very reasonable to say that if
someone wants to run their own modified software, they need either a
general purpose computing platform or they may need to do some additional
hardware work. Again, I really don't see the grounds for objecting to the
microwave double-checking its PROMs, even if the software burned into them
is covered by the GPL.

I think that it would be great if more embedded applications were covered
under the GPL to promote code reuse and make it easier for people to use
other people's drivers and not have to reinvent a lot of wheels. But
requiring on top of that that people making such embedded devices allow
for the sort of random user fiddling that people like to do with their
TiVos seems like a restriction that's rather off the point. Yes, there
are a bunch of computer experts with TiVos who like playing with them, but
the TiVo is still not marketed as that sort of computing platform. It's a
*consumer appliance*. 99% of the people with a TiVo, particularly as the
business grows, are going to plug it into their TV and will never dream of
opening the box, and frankly that's as it should be. That's how you get
cheap, ubiquitous, useful electronic appliances; you create closed-box
systems that the average user can't break, and you tell people to leave
them alone. If someone really wants to crack them open, it's their
property and they're certainly entitled, but they're completely on their
own and there may be all sorts of internal software safeguards to prevent
corruption and keep things simple for TiVo that they'll have to bypass.

To me, the important part is that the software itself is available for
other people who are doing similar things to also use and modify, and
available for people to study and learn from. It's not particularly
important to me that the end consumer be able to easily make extensive
modifications to a mass-produced closed-box appliance.

Christopher Browne

unread,
May 26, 2002, 8:46:01 PM5/26/02
to

Yup. So the mechanism should remove the GPL-licensed objects from the
list of items it "TripWires."

That way you could replace the kernel with a customized one.

And then discover that what you _actually_ wanted to change the
behaviour of was based on the non-GPLed components of the system, and
hence not under any sort of GPL-related control.
--
(concatenate 'string "chris" "@cbbrowne.com")
http://www.cbbrowne.com/info/unix.html
"There I was, lying, cheating and back-stabbing my way up the
corporate ladder, feeling pretty darn good about myself, when someone
told me the 'J' in 'WWJD' meant *Jesus* I thought it meant *Judas*!
Hoo boy, am I red in the face!"

Todd Larason

unread,
May 26, 2002, 8:47:41 PM5/26/02
to
On Sun, 26 May 2002 23:23:07 GMT, Isaac <is...@latveria.castledoom.org> wrote:
> It's just that those modifications
> will not work in a TiVo.

And TiVo's kernel modifications are only applicable to the TiVo -- so
they're distributing, as required, software source code which is
absolutely useless to have.

> I'm not sure exactly what tripwire like
> function is being discussed, but what if there was simply a CRC integrity
> check of the OS ROMS? Are you saying that doing such a check for the
> purpose of preventing running with a damaged OS would violate the letter
> of the GPL?

What appears to be happening (appears, because they've made it
sufficiently difficult to run software that nobody's completely sure
yet):
1. the boot loader, in ROM, has a set of valid public keys, also in
ROM. As it loads the kernel, it uses the on-board cryptography
hardware to check that the kernel has been signed with a matching
private key. If not, the boot fails.
2. As part of the signed kernel image (but not as part of the
distributed kernel source code), there's an 'initrd' initial root disk
image. Instead of mounting an on-disk root filesystem and running
/sbin/init, this ram disk is mounted, and a tripwire-like executable
on it runs, comparing file checksums against checksums it has
available, also from the initrd (and thus the signed kernel image).
Any files that have been modified, it copies from a second copy of the
root filesystem; if any files copies' have also been modified, the
boot fails.
3. After all the files expected to be on the root filesystem have been
checked, its init is run as normal.


Besides the non-GPLed application executables, the kernel itself, the
system configuration files, and all the GPLed libraries and command
executables are rendered unmodifiable.

Russ Allbery

unread,
May 26, 2002, 8:42:01 PM5/26/02
to
Jeffrey Siegal <j...@quiotix.com> writes:
> Russ Allbery wrote:

>> The problem with this analogy is that in this case, the restriction is
>> built into the hardware, not into the software or its license.

> This distinction does not make a difference.

I don't agree with you here, I'm afraid.

> Section 6 is not limited to restrictions in the software or a license.
> It very broadly says "*any* further restrictions (emphasis added) and
> further it adds that the GPL licensee may not restrict the "exercise of"
> the end users' rights, which is exactly what TiVo's mechanism does.

I don't see much defense for your position, honestly. I understand what
you're trying to say, but to me it doesn't make any logical sense.

There are no restrictions on the software. You can do anything you want
with it that complies with the GPL. The hardware may not be capable of
running the modification, but that has nothing to do with the software or
its licensing.

Think of it as two independent products, a GPL'd work of software and a
piece of hardware with additional supporting proprietary software that is
only capable of running one additional plugged-in bit of software. Just
because the hardware that you bought isn't capable of running your
modified software doesn't mean that there are any additional restrictions
on your use of the software.

Again, think of a microwave with a GPL'd operational program burned into
its PROMs. If you modify the provided software, the microwave can't run
it until you burn your own PROMs and replace them in the microwave, but I
don't see how this can be sensibly described as an additional restriction
on your use of the software.

You may feel like the hardware and proprietary software combination that
you bought that came with some GPL'd software is unnecessarily limited,
but that doesn't mean that it's somehow immoral. It's just a crippled
piece of hardware limited to one software package, which isn't
particularly uncommon particularly with embedded applications.

I realize that from a technical perspective one draws a distinction
between things that the hardware is physically capable of doing and the
things that it was intended to do, but I don't think that distinction
makes as much sense in the moral or legal arena because there's no good
place to draw that line.

Really, if people want a general-purpose computing platform that they can
program for, they should probably buy something advertised as that. All
of these techniques to hack one's TiVo, or PS2, or Dreamcast are rather
interesting and often rather cool, but they're very understandably
irrelevant to the hardware manufacturer and certainly not something one
can reasonably *expect* to be able to do when one buys a black-box
electronic appliance.

Todd Larason

unread,
May 26, 2002, 9:44:07 PM5/26/02
to
On Sun, 26 May 2002 17:42:01 -0700, Russ Allbery <r...@stanford.edu> wrote:
> There are no restrictions on the software. You can do anything you want
> with it that complies with the GPL. The hardware may not be capable of
> running the modification, but that has nothing to do with the software or
> its licensing.
>
> Think of it as two independent products, a GPL'd work of software and a
> piece of hardware with additional supporting proprietary software that is
> only capable of running one additional plugged-in bit of software.

Would a piece of proprietary software, that used an LGPLed library,
and provided a way for the user to relink the software with a newer or
modified version of the library (in accordance with the LGPL
requirements), but wouldn't actually *run* in that case, be acceptable?

John Hasler

unread,
May 26, 2002, 8:22:09 PM5/26/02
to
phil hunt writes:
> if you paid for it, you own the TiVo box, so you should be able to do
> what you like with it. Including reprogramming it so it doesn't record
> programs on TiVo's instructions without your permission.

Unless they bring up the DMCA (which AFAIK they haven't) you can. You just
have to burn a new PROM to do so.

John Hasler

unread,
May 26, 2002, 8:05:04 PM5/26/02
to
Jeffrey Siegal writes:
> Causing access to (in particular, an attempt to "copy, modify, or
> distribute") the GPLed program to violate the DMCA would also be a
> "further restriction" under section 6 of the GPL.

AFAIK the source is distributed seperately from the machine itself, and you
can modify it to yours heart's content without tripping any wires at all.

The PROM CRC (or whatever) may qualify as a DMCA device, but it can't be
protecting any of the GPL'd stuff because a) they don't own it and b) the
user is authorized by the GPL to copy it. It could be protecting the
proprietary stuff, but is disabling a DMCA device for a purpose other than
making an unauthorized copy of the material it protects illegal?

Isaac

unread,
May 26, 2002, 10:08:23 PM5/26/02
to
On Sun, 26 May 2002 17:03:24 -0700, Jeffrey Siegal <j...@quiotix.com> wrote:
> Isaac wrote:
>> I think so too, but I can imagine a convoluted situation in which the
>> mechanism protected both gpled and non gpled copyrighted material. It
>> would be illegal to circumvent the mechanism under the DMCA even if you
>> had an absolute right to access some of the material. I'm not sure
>> that even bringing in section 7 helps here.
>
> I would argue that imposing such a mechanism on a GPLed program is a
> violation of the GPL. That you are also imposing the mechanism on
> non-GPLed material does not change this fact. The GPL-compliant choices
> are: a) either impose the mechanism only on the non-GPLed material, b)
> don't impose it at all, or c) don't distribute the GPLed program at all.
> (A fourth, I suppose, would be negotiating a non-GPL license with the
> author.)

The problem is that there are no restrictions added to any of the rights
that are guaranteed under the GPL. The only issue is that the modified
code won't run on a TiVo. No one is preventing anyone else from modifying,
or distributing any GPL'd material. But you may need to build some hardware
so that you can use the code.

I don't think anything in the GPL covers such a problem.

Isaac

Todd Larason

unread,
May 26, 2002, 10:09:59 PM5/26/02
to
On 27 May 2002 00:46:01 GMT, Christopher Browne <cbbr...@acm.org> wrote:
> Yup. So the mechanism should remove the GPL-licensed objects from the
> list of items it "TripWires."
>
> That way you could replace the kernel with a customized one.
>
> And then discover that what you _actually_ wanted to change the
> behaviour of was based on the non-GPLed components of the system, and
> hence not under any sort of GPL-related control.

A modified kernel that ran /sbin/my.init rather than /sbin/init would
be plenty to enable things like tivoweb -- no modifications to
non-GPLed software required, unless you count the filesystem itself as
a non-GPLed component.

Isaac

unread,
May 26, 2002, 9:58:29 PM5/26/02
to
On Mon, 27 May 2002 00:47:41 -0000, Todd Larason <j...@molehill.org> wrote:
> On Sun, 26 May 2002 23:23:07 GMT, Isaac <is...@latveria.castledoom.org> wrote:
>> It's just that those modifications
>> will not work in a TiVo.
>
> And TiVo's kernel modifications are only applicable to the TiVo -- so
> they're distributing, as required, software source code which is
> absolutely useless to have.
>
>> I'm not sure exactly what tripwire like
>> function is being discussed, but what if there was simply a CRC integrity
>> check of the OS ROMS? Are you saying that doing such a check for the
>> purpose of preventing running with a damaged OS would violate the letter
>> of the GPL?
>
> What appears to be happening (appears, because they've made it
> sufficiently difficult to run software that nobody's completely sure
> yet):

Very interesting. Thanks for providing some details.

Isaac

Russ Allbery

unread,
May 26, 2002, 10:15:36 PM5/26/02
to
Todd Larason <j...@molehill.org> writes:

> Would a piece of proprietary software, that used an LGPLed library,
> and provided a way for the user to relink the software with a newer or
> modified version of the library (in accordance with the LGPL
> requirements), but wouldn't actually *run* in that case, be acceptable?

Depends on how one defines "link." I don't think that qualifies as
actually linking, particularly in the LGPL context, but that may be a
subject that one needs a legal opinion on.

Todd Larason

unread,
May 26, 2002, 10:27:26 PM5/26/02
to
On Sun, 26 May 2002 19:15:36 -0700, Russ Allbery <r...@stanford.edu> wrote:
> Todd Larason <j...@molehill.org> writes:
>
>> Would a piece of proprietary software, that used an LGPLed library,
>> and provided a way for the user to relink the software with a newer or
>> modified version of the library (in accordance with the LGPL
>> requirements), but wouldn't actually *run* in that case, be acceptable?
>
> Depends on how one defines "link." I don't think that qualifies as
> actually linking, particularly in the LGPL context, but that may be a
> subject that one needs a legal opinion on.

The linking is done with the standard system linker, just like any
other link. The result really is an executable -- it's just that the
executable, during its startup phase, does an md5sum of the entire
mapped address space; if it doesn't match a value in the non-LGPLed
part of the executable, it aborts.

Isaac

unread,
May 26, 2002, 9:52:55 PM5/26/02
to
On Sun, 26 May 2002 17:42:01 -0700, Russ Allbery <r...@stanford.edu> wrote:
>
> Really, if people want a general-purpose computing platform that they can
> program for, they should probably buy something advertised as that. All
> of these techniques to hack one's TiVo, or PS2, or Dreamcast are rather
> interesting and often rather cool, but they're very understandably
> irrelevant to the hardware manufacturer and certainly not something one
> can reasonably *expect* to be able to do when one buys a black-box
> electronic appliance.

I agree with your analysis, but I think what you've shown is that the
letter of the GPL isn't being violated. I don't know the details
of the "tripwire like" scheme, but if it's intended to prevent modifications
that are otherwise easily within the capability of the platform, then
they aren't necessarily irrelevant to the manufacturer. The manufacturer
might be actively opposed to you making certain changes.

There is at least some evidence that some PVR manufacturers don't want you to
do things like skipping commercials, installing larger hard drives, using
"reserved space" on the hard drives for your own use, using someone else's
scheduling service, etc. There don't seem to be any limitations inherent in
the hardware that make these devices incapable of doing these things. The
limitations are apparently enforced by applying artificial limitations that
don't seem to me to be in the spirit of the GPL.

Isaac

Russ Allbery

unread,
May 26, 2002, 10:56:22 PM5/26/02
to
Todd Larason <j...@molehill.org> writes:
> On Sun, 26 May 2002 19:15:36 -0700, Russ Allbery <r...@stanford.edu> wrote:

>> Depends on how one defines "link." I don't think that qualifies as
>> actually linking, particularly in the LGPL context, but that may be a
>> subject that one needs a legal opinion on.

> The linking is done with the standard system linker, just like any
> other link. The result really is an executable -- it's just that the
> executable, during its startup phase, does an md5sum of the entire
> mapped address space; if it doesn't match a value in the non-LGPLed
> part of the executable, it aborts.

This is an interesting technical distinction that I think would be
irrelevant to a court. The program doesn't work. The expectation of the
license is that one can relink the program and get something that works.

Like I said, though, you may well need a legal opinion to clarify this.
The LGPL isn't really sufficiently clear.

The difference between this and the TiVo example is that there is no
requirement in the GPL that a derivative work function on the same
hardware as the original work; in other words, there's a sharper boundary
between the hardware and software in the TiVo and the main program and the
library in a proprietary + LGPL library combination.

Russ Allbery

unread,
May 26, 2002, 11:01:45 PM5/26/02
to
Isaac <is...@latveria.castledoom.org> writes:

> There is at least some evidence that some PVR manufacturers don't want
> you to do things like skipping commercials, installing larger hard
> drives, using "reserved space" on the hard drives for your own use,
> using someone else's scheduling service, etc. There don't seem to be
> any limitations inherent in the hardware that make these devices
> incapable of doing these things. The limitations are apparently
> enforced by applying artificial limitations that don't seem to me to be
> in the spirit of the GPL.

I agree with you up to a point, except that the GPL'd software that
they're using is, so far as I understand it, *just* the kernel to run the
box. All the rest of the software is not covered by the GPL. Given the
extremely limited amount of GPL'd code involved in the direct function of
the system, I don't think that it really applies to most of the function
of the system.

If all of the TiVo software were covered under the GPL, I think you'd have
a much stronger argument here.

(Incidentally, I think PVR manufacturers pretty much *have to* make it
hard for you to skip commercials right now if they don't want to be sued
out of business by the MPAA. I can't really blame them for not choosing
to pick that fight right now; in fact, as TiVo becomes more and more
popular, I think that fight will be easier and easier to fight. I think
the MPAA should be terrified of TiVo precisely *because* it doesn't make
it easy for you to do that. Yet.)

Isaac

unread,
May 26, 2002, 11:30:03 PM5/26/02
to
On Mon, 27 May 2002 00:05:04 GMT, John Hasler <jo...@dhh.gt.org> wrote:

> The PROM CRC (or whatever) may qualify as a DMCA device, but it can't be
> protecting any of the GPL'd stuff because a) they don't own it and b) the
> user is authorized by the GPL to copy it. It could be protecting the
> proprietary stuff, but is disabling a DMCA device for a purpose other than
> making an unauthorized copy of the material it protects illegal?

I think at least some courts would rule that to be illegal. It certainly
appears that in the 2nd circuit, it's not okay to circumvent a DMCA device for
the purpose of making fair use of the underlying material on a DVD. The
court of appeals thinks that you should instead point a TV camera at your
monitor or buy a VHS tape.

Isaac

Christopher Browne

unread,
May 26, 2002, 11:28:23 PM5/26/02
to
In the last exciting episode, j...@molehill.org (Todd Larason) wrote::

> On 27 May 2002 00:46:01 GMT, Christopher Browne <cbbr...@acm.org> wrote:
>> Yup. So the mechanism should remove the GPL-licensed objects from the
>> list of items it "TripWires."
>>
>> That way you could replace the kernel with a customized one.
>>
>> And then discover that what you _actually_ wanted to change the
>> behaviour of was based on the non-GPLed components of the system, and
>> hence not under any sort of GPL-related control.
>
> A modified kernel that ran /sbin/my.init rather than /sbin/init would
> be plenty to enable things like tivoweb -- no modifications to
> non-GPLed software required, unless you count the filesystem itself as
> a non-GPLed component.

.. And that actually strikes to the critical point.

If they wrote their own /sbin/tivo-init, and put the checksum software
into THAT, then you're pretty much screwed, and frankly have no
reasonable sort of recourse.
--
(concatenate 'string "cbbrowne" "@ntlug.org")
http://www3.sympatico.ca/cbbrowne/finances.html
"As long as war is regarded as wicked, it will always have
its fascination. When it is looked upon as vulgar,
it will cease to be popular."
--Oscar Wilde

John Hasler

unread,
May 26, 2002, 10:31:59 PM5/26/02
to
Todd Larason writes:
> The linking is done with the standard system linker, just like any other
> link. The result really is an executable -- it's just that the
> executable, during its startup phase, does an md5sum of the entire mapped
> address space; if it doesn't match a value in the non-LGPLed part of the
> executable, it aborts.

I don't see how you could expect a court to interpret that as "a way for


the user to relink the software with a newer or modified version of the

library". The plaintiff is going to argue that relinking means a bit more
than "the linker doesn't exit with an error".

Isaac

unread,
May 26, 2002, 11:25:29 PM5/26/02
to
On Sun, 26 May 2002 20:01:45 -0700, Russ Allbery <r...@stanford.edu> wrote:

> (Incidentally, I think PVR manufacturers pretty much *have to* make it
> hard for you to skip commercials right now if they don't want to be sued
> out of business by the MPAA. I can't really blame them for not choosing

It looks like the issue is already in the courts, and in what appears to me
to be an unfavorable situation because it's linked with other issues that
look like clear losers.

Isaac

Isaac

unread,
May 27, 2002, 12:50:23 AM5/27/02
to
On Mon, 27 May 2002 02:31:59 GMT, John Hasler <jo...@dhh.gt.org> wrote:
> Todd Larason writes:
>> The linking is done with the standard system linker, just like any other
>> link. The result really is an executable -- it's just that the
>> executable, during its startup phase, does an md5sum of the entire mapped
>> address space; if it doesn't match a value in the non-LGPLed part of the
>> executable, it aborts.
>
> I don't see how you could expect a court to interpret that as "a way for
> the user to relink the software with a newer or modified version of the
> library". The plaintiff is going to argue that relinking means a bit more
> than "the linker doesn't exit with an error".

You lost me here. Todd described a situation where the linker doesn't exit
with an error. The error occurs during program loading but after a successful
link.

Isaac

Sam Holden

unread,
May 27, 2002, 12:55:43 AM5/27/02
to

Which is why the plaintiff would be arguing that merely doing that does not
count is relinking, since if they thought it did they wouldn't be taking it to
court (unless they like starting their case with : 'we agree that the
defendant has not done anything wrong').

--
Sam Holden

Todd Larason

unread,
May 27, 2002, 2:45:17 AM5/27/02
to
On Sun, 26 May 2002 19:56:22 -0700, Russ Allbery <r...@stanford.edu> wrote:
> This is an interesting technical distinction that I think would be
> irrelevant to a court. The program doesn't work. The expectation of the
> license is that one can relink the program and get something that works.

and the expectation of the GPL is that one can make modifications to


the program and get something that works.

An understanding that gives end users *more* power to usefully modify
LGPL code than GPL code feels wrong to me. That's obviously not
legally enforcable as a feeling, though.

Todd Larason

unread,
May 27, 2002, 2:57:45 AM5/27/02
to
On 27 May 2002 03:28:23 GMT, Christopher Browne <cbbr...@acm.org> wrote:
> .. And that actually strikes to the critical point.
>
> If they wrote their own /sbin/tivo-init, and put the checksum software
> into THAT, then you're pretty much screwed, and frankly have no
> reasonable sort of recourse.

I think that could be worked around.

Many of the changes people want to make *really don't* require
modifying non-GPLed parts of the system. My series-1 Tivo has an ftp
server, a telnet server, and a web server running on it, and an
ethernet driver module loaded; the web server exposes useful
functionality.

The only pre-existing file that was modified is /etc/rc.d/rc.sysinit,
which has had 7 lines added to it. Even if you claim it as a
non-GPLed component that shouldn't have been modified, the same effect
could easily have been achieved by using a modified kernel that ran a
specialized init, which ran Tivo's, waited a minute or two, then ran
my 7 new commands. If Tivo's init insisted on checking a signature on
the kernel image, my init would just have to copy a kernel file before
handing off control -- no files modified except the GPLed kernel.

That's impossible with the series 2 hardware, for artificial reasons.

Whether most people want to be able to do things like that or not, it
feels like a violation of the spirit of the GPL. Most people don't
want to modify *any* software, but the ability to do so is a win for
all of us.

Russ Allbery

unread,
May 27, 2002, 4:07:37 AM5/27/02
to
Todd Larason <j...@molehill.org> writes:
> On Sun, 26 May 2002 19:56:22 -0700, Russ Allbery <r...@stanford.edu> wrote:

>> This is an interesting technical distinction that I think would be
>> irrelevant to a court. The program doesn't work. The expectation of
>> the license is that one can relink the program and get something that
>> works.

> and the expectation of the GPL is that one can make modifications to
> the program and get something that works.

The GPL says nothing about hardware. The LGPL does directly address the
case that you're talking about. QED.

Russ Allbery

unread,
May 27, 2002, 4:10:39 AM5/27/02
to
Todd Larason <j...@molehill.org> writes:

> Whether most people want to be able to do things like that or not, it
> feels like a violation of the spirit of the GPL. Most people don't
> want to modify *any* software, but the ability to do so is a win for
> all of us.

I wonder if the reason why I don't feel this way goes to the heart of what
people consider the spirit of the GPL, which goes to the heart of why we
support it.

For example, while I understand and agree with the desire to be able to
modify the software programs that one uses, that doesn't extend to me to
every computer system. I haven't made any mods to my TiVo at all, for
example, despite the fact that I have friends who have upgraded multiple
ones to have larger hard disks. I'm happy to use it as an appliance.

What I *really* want from the GPL is the feeling that useful programming
work isn't being lost. Proprietary software deeply offends my sense of
forward progress and conservation; it's like doing tons of work that one
is going to intentionally throw away and that will end up being worthless
for the general advancement of the art. What I like about the GPL and
about free software in general is that one can build on what's been done
before where appropriate and only have to reinvent when there's some
reason to do so, not for stupid non-technical reasons.

Jeffrey Siegal

unread,
May 27, 2002, 6:45:51 AM5/27/02
to
John Hasler wrote:
> AFAIK the source is distributed seperately from the machine itself, and you
> can modify it to yours heart's content without tripping any wires at all.

That is not sufficient under section 6. Section 6 applies to each
individual copy distributed, not just source. You must be free, for
example, to patch executables with a binary editor without restriction.

> The PROM CRC (or whatever) may qualify as a DMCA device, but it can't be
> protecting any of the GPL'd stuff because a) they don't own it and b) the
> user is authorized by the GPL to copy it. It could be protecting the
> proprietary stuff, but is disabling a DMCA device for a purpose other than
> making an unauthorized copy of the material it protects illegal?

DMCA prohibits circumvention of a devices which controls "access" to a
copyrighted work, but "access" is not clearly defined. I strongly
suspect that a checksum mechanism that prohibits modification would be
controlling access, but no case involving this issue has been in court,
as far as I know.

phil hunt

unread,
May 27, 2002, 6:40:31 AM5/27/02
to
On Mon, 27 May 2002 02:09:59 -0000, Todd Larason <j...@molehill.org> wrote:
>On 27 May 2002 00:46:01 GMT, Christopher Browne <cbbr...@acm.org> wrote:
>> Yup. So the mechanism should remove the GPL-licensed objects from the
>> list of items it "TripWires."
>>
>> That way you could replace the kernel with a customized one.
>>
>> And then discover that what you _actually_ wanted to change the
>> behaviour of was based on the non-GPLed components of the system, and
>> hence not under any sort of GPL-related control.
>
>A modified kernel that ran /sbin/my.init rather than /sbin/init would
>be plenty to enable things like tivoweb -- no modifications to
>non-GPLed software required, unless you count the filesystem itself as
>a non-GPLed component.

I would guess the filesystem is coded within the kernel and GPL'd.
Does anyone know what TiVo uses -- is it ext2?

--
<"><"><"> Philip Hunt <ph...@comuno.freeserve.co.uk> <"><"><">
"I would guess that he really believes whatever is politically
advantageous for him to believe."
-- Alison Brooks, referring to Michael
Portillo, on soc.history.what-if

phil hunt

unread,
May 27, 2002, 6:39:11 AM5/27/02
to
On 27 May 2002 00:46:01 GMT, Christopher Browne <cbbr...@acm.org> wrote:
>> This distinction does not make a difference. Section 6 is not limited

>> to restrictions in the software or a license. It very broadly says
>> "*any* further restrictions (emphasis added) and further it adds that
>> the GPL licensee may not restrict the "exercise of" the end users'
>> rights, which is exactly what TiVo's mechanism does.
>
>Yup. So the mechanism should remove the GPL-licensed objects from the
>list of items it "TripWires."
>
>That way you could replace the kernel with a customized one.
>
>And then discover that what you _actually_ wanted to change the
>behaviour of was based on the non-GPLed components of the system, and
>hence not under any sort of GPL-related control.

Since i don't know the details of TiVo's architecture I don't know
whether this is true or not. But it either is or isn't:

(1) if it is true, then the functionality the user wants to later
isn't in the GPL'd code, but in proprietary code, so it's reasonable
(in the sense that it's playing within the rules) for the user not
to be able to alter it.

(2) if it isn't true, then by altering the kernel one can get the
desired alterations to the functionality, therefore the
functionality is (potentially at least) in the GPL'd code so the
user should be able to alter it.

Jeffrey Siegal

unread,
May 27, 2002, 6:53:09 AM5/27/02
to
Russ Allbery wrote:
> Yes, there
> are a bunch of computer experts with TiVos who like playing with them, but
> the TiVo is still not marketed as that sort of computing platform. It's a
> *consumer appliance*. 99% of the people with a TiVo, particularly as the
> business grows, are going to plug it into their TV and will never dream of
> opening the box, and frankly that's as it should be.

There's certain nothing wrong with building and selling a "consumer
appliance" where no one ever opens the box or modifies anything, but it
was not appropriate to use GPLed software in it if they wanted to
enforce that.

Jeffrey Siegal

unread,
May 27, 2002, 7:01:38 AM5/27/02
to
Russ Allbery wrote:
> There are no restrictions on the software. You can do anything you want
> with it that complies with the GPL. The hardware may not be capable of
> running the modification, but that has nothing to do with the software or
> its licensing.

There are two types of restrictions one may place on an action. One is
a legal restriction, and the other is a physical or technological
restriction. Both are restrictions.

Let's say you rented a house. Your lease with the owner states that you
may bring in additional roommates to live in the house, under the
following conditions:

1. Every roommate must accept personal liability for the condition of
the entire house, and

2. You may not restrict the roommate's access to any part of the house.

This means that you can't sublease the basement to someone with a clause
in the sublease that they are only allowed to use the basement. But it
also means that you can't put a lock on the door of one of the rooms and
keep your roommates out that way.

TiVo has restricted modification of the copy of the GPLed software
contained within the box. They haven't done it with a contract, but
they've done it by effectively putting a lock on the door. (Although
with the DMCA in place, their technological restriction is effectively a
legal one as well.)

Todd Larason

unread,
May 27, 2002, 7:02:00 AM5/27/02
to
On Mon, 27 May 2002 11:40:31 +0100, phil hunt wrote:
> On Mon, 27 May 2002 02:09:59 -0000, Todd Larason <j...@molehill.org> wrote:
>>A modified kernel that ran /sbin/my.init rather than /sbin/init would
>>be plenty to enable things like tivoweb -- no modifications to
>>non-GPLed software required, unless you count the filesystem itself as
>>a non-GPLed component.
>
> I would guess the filesystem is coded within the kernel and GPL'd.
> Does anyone know what TiVo uses -- is it ext2?

The normal filesystem is ext2, yes; there's also an
object-database-like filesystem called MFS used; from the kernel's
point of view, that partition is just a block device. All the
filesystem-like access to it is through non-GPLed userspace tools --
but the tools can be usefully used without being modified. All the
executables people want to modify or add live on the ext2 partitions.

The point I was trying to make though, wasn't that the filesystem code
was GPLed, but that the actual filesystem itself, the collection of
bits on the disk, might be claimed to together make up a non-GPLed
component that Tivo can reasonably prevent modifications to.

Jeffrey Siegal

unread,
May 27, 2002, 7:03:29 AM5/27/02
to
Christopher Browne wrote:
> And then discover that what you _actually_ wanted to change the
> behaviour of was based on the non-GPLed components of the system, and
> hence not under any sort of GPL-related control.

As someone else pointed out, that's not necessarily true. There are
various things you can do to the device which do not involve modifying
the non-GPLed applications. For example, you can run a web server in
the box along side its regular applications (or even instead of them if
someday its primary application becomes obsolete.)

Jeffrey Siegal

unread,
May 27, 2002, 7:04:54 AM5/27/02
to
Isaac wrote:
> There is at least some evidence that some PVR manufacturers don't want you to
> do things like skipping commercials, installing larger hard drives, using
> "reserved space" on the hard drives for your own use, using someone else's
> scheduling service, etc.

The issue of modifying the GPLed components probably has nothing to do
with any of these things, since they're all handled by the non-GPLed
application software.

Jeffrey Siegal

unread,
May 27, 2002, 7:11:00 AM5/27/02
to
Isaac wrote:
>
> On Sun, 26 May 2002 17:03:24 -0700, Jeffrey Siegal <j...@quiotix.com> wrote:
> > Isaac wrote:
> >> I think so too, but I can imagine a convoluted situation in which the
> >> mechanism protected both gpled and non gpled copyrighted material. It
> >> would be illegal to circumvent the mechanism under the DMCA even if you
> >> had an absolute right to access some of the material. I'm not sure
> >> that even bringing in section 7 helps here.
> >
> > I would argue that imposing such a mechanism on a GPLed program is a
> > violation of the GPL. That you are also imposing the mechanism on
> > non-GPLed material does not change this fact. The GPL-compliant choices
> > are: a) either impose the mechanism only on the non-GPLed material, b)
> > don't impose it at all, or c) don't distribute the GPLed program at all.
> > (A fourth, I suppose, would be negotiating a non-GPL license with the
> > author.)
>
> The problem is that there are no restrictions added to any of the rights
> that are guaranteed under the GPL. The only issue is that the modified
> code won't run on a TiVo. No one is preventing anyone else from modifying,
> or distributing any GPL'd material. But you may need to build some hardware
> so that you can use the code.

Again, "preventing" and "restricting" are not synonyms! The GPL could
say that you can't "prevent" people from exercising their rights, but it
doesn't. It says you can't "restrict", and that's exactly what TiVo is
doing when it comes to modifications to the software. They're not
prohibiting it, but they're restricting it, with the restriction being
that if you do modify it, even in some way which is otherwise completely
harmless (obviously, if you break it yourself, that's your problem),
your $400 hardware investment has become useless.

> I don't think anything in the GPL covers such a problem.

I respectfully disagree and would suggest that the word "restrict" was
chosen deliberately in order to be extremely broad about attempts to
structure such restrictions in creative ways.

What TiVo has done is not only restrict the end user's ability to modify
the copy of the software that is in the box, but they've done it in such
a way that *they* can still make the modification but you can't. This
breaks the bundle of rights that are inseparable under the clear intent
of the GPL. This further suggests that what they've done is a clearer
and more serious violation of the GPL than putting the software in PROM
to begin with.

Jeffrey Siegal

unread,
May 27, 2002, 7:19:41 AM5/27/02
to
Todd Larason wrote:
> The point I was trying to make though, wasn't that the filesystem code
> was GPLed, but that the actual filesystem itself, the collection of
> bits on the disk, might be claimed to together make up a non-GPLed
> component that Tivo can reasonably prevent modifications to.

They can't restrict modifications to the GPLed software if it exists
within that file system. They can restrict modificiations to other parts
of the file system.

Isaac

unread,
May 27, 2002, 8:07:56 AM5/27/02
to

If there is some sense in which they are restricting but not preventing
here, then I don't see it. They are not restricting you from modifying,
distributing, copying, etc. Go ahead and do those things. But the
resultant code won't run in a TiVo unless you make additional modifications
to the box. Presumably you are welcome to try putting the modifications
back into the TiVo if you want.

> What TiVo has done is not only restrict the end user's ability to modify
> the copy of the software that is in the box, but they've done it in such
> a way that *they* can still make the modification but you can't. This
> breaks the bundle of rights that are inseparable under the clear intent
> of the GPL. This further suggests that what they've done is a clearer
> and more serious violation of the GPL than putting the software in PROM
> to begin with.

So you consider putting the software in a PROM to be possibly a violation
of the GPL. I don't think so, but since I agree that the spirit/intent of
the GPL is violated, I at least agree with your sentiment concerning
TiVo's action.

I think that if there is a literal violation of the GPL here it's buried
in the details of how the GPL and non GPL'd proprietary code are combined.

Isaac

Jeffrey Siegal

unread,
May 27, 2002, 8:13:38 AM5/27/02
to
Isaac wrote:
> If there is some sense in which they are restricting but not preventing
> here, then I don't see it. They are not restricting you from modifying,
> distributing, copying, etc. Go ahead and do those things. But the
> resultant code won't run in a TiVo unless you make additional modifications
> to the box. Presumably you are welcome to try putting the modifications
> back into the TiVo if you want.

I don't understand this last sentence, but I'll just say that they are
restricting your ability to modify the software that is already in the
box by artificially and deliberately causing the box to reject your
modifications. If you don't see that as a restriction on your ability
(in a very real, practical sense) to modify the software, then I guess
we'll just have to agree to disagree.

> > What TiVo has done is not only restrict the end user's ability to modify
> > the copy of the software that is in the box, but they've done it in such
> > a way that *they* can still make the modification but you can't. This
> > breaks the bundle of rights that are inseparable under the clear intent
> > of the GPL. This further suggests that what they've done is a clearer
> > and more serious violation of the GPL than putting the software in PROM
> > to begin with.
>
> So you consider putting the software in a PROM to be possibly a violation
> of the GPL.

I doubt it, but my real point here is that the situation is distinct
from putting it in PROM, since they've preserved their own ability to
modify it without deactivating the box while restricting that very same
ability on the part of the end user.

Isaac

unread,
May 27, 2002, 8:38:07 AM5/27/02
to
On Mon, 27 May 2002 01:10:39 -0700, Russ Allbery <r...@stanford.edu> wrote:
>
> For example, while I understand and agree with the desire to be able to
> modify the software programs that one uses, that doesn't extend to me to
> every computer system. I haven't made any mods to my TiVo at all, for
> example, despite the fact that I have friends who have upgraded multiple
> ones to have larger hard disks. I'm happy to use it as an appliance.

Most people who use GPL's software on general purpose computers are not
interested in modifying it.

> What I *really* want from the GPL is the feeling that useful programming
> work isn't being lost. Proprietary software deeply offends my sense of
> forward progress and conservation; it's like doing tons of work that one
> is going to intentionally throw away and that will end up being worthless
> for the general advancement of the art. What I like about the GPL and
> about free software in general is that one can build on what's been done
> before where appropriate and only have to reinvent when there's some
> reason to do so, not for stupid non-technical reasons.

What would be the non-stupid, technical reason for disallowing modification
of the TiVo. The only reasons I can see involve protection of someone's
business model, but isn't that exactly why anyone software without
source code.

Isaac

Isaac

unread,
May 27, 2002, 8:21:39 AM5/27/02
to

What could be worse is that the device could be controlling access in
a limited way to the recorded material by preventing you from hacking
in commercial skip, or some other verbotten feature. In that case it
might be someone other than TiVo that would be suing you or turning
you in to the FBI for violating the DMCA.

Isaac

Isaac

unread,
May 27, 2002, 8:46:00 AM5/27/02
to

It doesn't go directly to the issue of modifying the components, but it is
part of the motivation for locking down the box.

Isaac

Jeffrey Siegal

unread,
May 27, 2002, 9:18:24 AM5/27/02
to

It might be, but I don't think you know that. Originally, the kernel
and such were not locked down at all, but the (non-GPLed) application
that managed the actual content (and the content itself) was locked
down.

I'm not sure it is clear why they decided to lock down the kernel too.
My guess would be that it was just easier to do it that way, or they
just never thought about it.

Jeffrey Siegal

unread,
May 27, 2002, 9:20:11 AM5/27/02
to
Isaac wrote:
> What could be worse is that the device could be controlling access in
> a limited way to the recorded material by preventing you from hacking
> in commercial skip, or some other verbotten feature. In that case it
> might be someone other than TiVo that would be suing you or turning
> you in to the FBI for violating the DMCA.

First of all, you don't need to hack in commercial skip -- it is already
there, even in the new model.

Second of all, there is still no evidence at all that access to the
GPLed components has anything at all to do with access to the recorded
material, which seems to be entirely managed by separate, non-GPLed
components.

John Hasler

unread,
May 27, 2002, 8:34:49 AM5/27/02
to
Jeffrey Siegal writes:
> If you don't see that as a restriction on your ability (in a very real,
> practical sense) to modify the software, then I guess we'll just have to
> agree to disagree.

They have not restricted your _rights_. I don't see that the GPL
guarantees that your modified code must run on any particular piece of
hardware.

John Hasler

unread,
May 27, 2002, 8:27:59 AM5/27/02
to
Jeffrey Siegal writes:
> I respectfully disagree and would suggest that the word "restrict" was
> chosen deliberately in order to be extremely broad about attempts to
> structure such restrictions in creative ways.

I think it is very clear that the intent is to forbid license restrictions.

> What TiVo has done is not only restrict the end user's ability to modify
> the copy of the software that is in the box, but they've done it in such
> a way that *they* can still make the modification but you can't. This

> breaks the bundle of rights...

Unless they assert that their scheme is a DMCA device, I don't see that
they have restricted anyone's rights at all (and I don't see how it could
qualify as a DMCA device since it does nothing to prevent access).

> This further suggests that what they've done is a clearer and more
> serious violation of the GPL than putting the software in PROM to begin
> with.

Would you object if they put all the binaries in ROM?

Jeffrey Siegal

unread,
May 27, 2002, 9:32:56 AM5/27/02
to
John Hasler wrote:
> Jeffrey Siegal writes:
> > I respectfully disagree and would suggest that the word "restrict" was
> > chosen deliberately in order to be extremely broad about attempts to
> > structure such restrictions in creative ways.
>
> I think it is very clear that the intent is to forbid license restrictions.

Actually, I disagree with that. Under the model generally envisioned by
the GPL, there is no license from the distributor to the distributee at
all. The distributor physically distributes the code, and may have some
sort of business dealings with the distributee, but the license comes
directly from he original author. Section 6 is intended to prevent the
distributor from restricting, using some unstated mechanism, the
distributee's exercise of the rights that distributee gets in that
direct license.

> > What TiVo has done is not only restrict the end user's ability to modify
> > the copy of the software that is in the box, but they've done it in such
> > a way that *they* can still make the modification but you can't. This
> > breaks the bundle of rights...
>
> Unless they assert that their scheme is a DMCA device, I don't see that
> they have restricted anyone's rights at all (and I don't see how it could
> qualify as a DMCA device since it does nothing to prevent access).

There is nothing in the DMCA that requires that anyone "assert" that a
technological access control measure is a "DMCA device." Even if there
were, one could not safely or reasonably assume that a device would not
be so asserted in the future -- there is no safe harbor provision.

> > This further suggests that what they've done is a clearer and more
> > serious violation of the GPL than putting the software in PROM to begin
> > with.
>
> Would you object if they put all the binaries in ROM?

My point is that situation is irrelevant to this situation.

Jeffrey Siegal

unread,
May 27, 2002, 9:36:23 AM5/27/02
to
John Hasler wrote:
>
> Jeffrey Siegal writes:
> > If you don't see that as a restriction on your ability (in a very real,
> > practical sense) to modify the software, then I guess we'll just have to
> > agree to disagree.
>
> They have not restricted your _rights_. I don't see that the GPL
> guarantees that your modified code must run on any particular piece of
> hardware.

It doesn't, but it says that someone distributing GPLed code can't be
the one doing the restricting. If they weren't distributing GPLed code,
and thereby subjecting themselves to the GPL, they could do whatever
they want. If they wanted to allow you to run an unmodified linux
kernel but not a modified one, they would be perfectly free to do that.
But once they agree to the GPL, their hands are tied when it comes to
putting up roadblocks to people modifying the code.

phil hunt

unread,
May 27, 2002, 6:53:20 AM5/27/02
to
On Mon, 27 May 2002 06:57:45 -0000, Todd Larason <j...@molehill.org> wrote:
>
>That's impossible with the series 2 hardware, for artificial reasons.

Do you have details?

>Whether most people want to be able to do things like that or not, it
>feels like a violation of the spirit of the GPL. Most people don't
>want to modify *any* software, but the ability to do so is a win for
>all of us.

Yes, because if users have that power, companies generally won't try
to write software that goes against the user's desires. It's a
threat that can be kept in the background to keep them honest.

In the UK recently, Tivo sent out an instruction to all their DVRs
to record a particular BBC program, whether the user -- who actually
owns the box after all -- wanted it or not. The users had no way of
countermanding this instruction.

Perhaps they should change their slogan from "TV your way" to "TV
our way, and if you don't like it, tough".

Tivo might say they need these controls because of their business
model -- they sell the boxes at as loss and make the money on
subscriptions. But it would be a simple matter for them to fix that:
they could have users renting the boxes at the current price
structure, and sell the box on a no strings attached basis at an
extra fee. If they choose not to do that, that's their problem not
anyone else's.

phil hunt

unread,
May 27, 2002, 6:55:46 AM5/27/02
to
On Mon, 27 May 2002 01:10:39 -0700, Russ Allbery <r...@stanford.edu> wrote:
>
>What I *really* want from the GPL is the feeling that useful programming
>work isn't being lost. Proprietary software deeply offends my sense of
>forward progress and conservation; it's like doing tons of work that one
>is going to intentionally throw away and that will end up being worthless
>for the general advancement of the art. What I like about the GPL and
>about free software in general is that one can build on what's been done
>before where appropriate and only have to reinvent when there's some
>reason to do so, not for stupid non-technical reasons.

Don't other free software licenses, such as the BSDL, also do this?

I like the GPL because it means I'm in control, not some greedy
company that just wants to extract the maximum amount of money out
of me.

phil hunt

unread,
May 27, 2002, 7:01:06 AM5/27/02
to
On Sun, 26 May 2002 17:42:01 -0700, Russ Allbery <r...@stanford.edu> wrote:
>Think of it as two independent products, a GPL'd work of software and a
>piece of hardware with additional supporting proprietary software that is
>only capable of running one additional plugged-in bit of software. Just
>because the hardware that you bought isn't capable of running your
>modified software doesn't mean that there are any additional restrictions
>on your use of the software.
>
>Again, think of a microwave with a GPL'd operational program burned into
>its PROMs. If you modify the provided software, the microwave can't run
>it until you burn your own PROMs and replace them in the microwave, but I
>don't see how this can be sensibly described as an additional restriction
>on your use of the software.

It seems to me that that is OK, because a PROM may well be the most
sensible way technically to do it.

But if the microwave manufacturer actually went to extra effort,
specifically to prevent it running altered software, then that
would be wrong, IMO.

phil hunt

unread,
May 27, 2002, 8:25:42 AM5/27/02
to
On Sun, 26 May 2002 17:32:37 -0700, Russ Allbery <r...@stanford.edu> wrote:
>phil hunt <ph...@comuno.freeserve.co.uk> writes:
>
>> But if they use GPL'd code, they *do* have an obligation not to go out
>> of their way to make it harder for you. Making tamper-proof hardware is
>> a clear breach of the spirit of the GPL. it's also wrong in itself: if
>> you paid for it, you own the TiVo box, so you should be able to do what
>> you like with it. Including reprogramming it so it doesn't record
>> programs on TiVo's instructions without your permission.
>
>Verifying a checksum on the operating system isn't obviously making the
>hardware tamper-proof. It could, for example, be a valid consistency
>check if they're worried about bit corruption in the memory or disk.

It is is corrupt, either the corruption stops the tivo working or it
doesn't. If the former, adding a checksum does no good; if the
latter adding a checksum merely makes it less functional.

> Or,
>if it's related to the pay TiVo *service*, a verification that the box
>dialing up to their service isn't going to do something weird.

That would be silly and ridiculously insecure. The way to chack that
is to make sure that the interface their service uses doesn't allow
a unit connecting to it to do anything wierd.

>Plus, I don't think I agree with your stance there. The GPL is a software
>license. Making hardware that only runs certain code is completely
>separate from the GPL.

Why was the GPL invented? Because Richard Stallman wanted to use a
printer more efficiently. He was hampered because the printer used a
proprietary driver, and he couldn't get in and change it. He would
have been just as annoyed had it used a free-software driver but
with a tripwire put in so if you changed it it didn't work.

A printer is hardware, just as a video recorder is. In fact, all
software connects to hardware at some point down the road.

> I think it's very reasonable to say that if
>someone wants to run their own modified software, they need either a
>general purpose computing platform or they may need to do some additional
>hardware work. Again, I really don't see the grounds for objecting to the
>microwave double-checking its PROMs, even if the software burned into them
>is covered by the GPL.

To me it seems obvious that this is bad, because it hampers freedom
(I would have no objection to a CRC check that brings up an error
message but otherwise lets the microwave continue working).

I don't realistically think that a single bit on the PROM is likely
to become corrupt, away. It doesn't seem a likely scenario to me.

>I think that it would be great if more embedded applications were covered
>under the GPL to promote code reuse and make it easier for people to use
>other people's drivers and not have to reinvent a lot of wheels.

There we part company. I see the merit of free software in that I
am in control; you see it as primarily about saving firms money
(unless I misunderstand you).

> But
>requiring on top of that that people making such embedded devices allow
>for the sort of random user fiddling that people like to do with their
>TiVos seems like a restriction that's rather off the point.

I think you are misrepresenting the situation: I don't think Tivo
should be obliged to go out of their way to help people modify their
appliances, but OTOH, they should not make an effort to deliberately
hinder people from doing so either.

> Yes, there
>are a bunch of computer experts with TiVos who like playing with them, but
>the TiVo is still not marketed as that sort of computing platform. It's a
>*consumer appliance*. 99% of the people with a TiVo, particularly as the
>business grows, are going to plug it into their TV and will never dream of
>opening the box, and frankly that's as it should be.

Then let the 99% do as they would like, and let the 1% also do as
they would like. That way, everyone is happy. It's not as if the
tripwire that stops people altering their Tivo does any harm to
those (the majority) who don't want to alter it -- if it did, that
would be an argument in fasvour of preventing alteration.

> That's how you get
>cheap, ubiquitous, useful electronic appliances;

On the contrary, it cost Tivo money to include their tripwire code
-- if they didn't include it, it would *save* them money.

Jeffrey Siegal

unread,
May 27, 2002, 10:17:52 AM5/27/02
to
phil hunt wrote:
> I don't realistically think that a single bit on the PROM is likely
> to become corrupt, away. It doesn't seem a likely scenario to me.

Even if it is, the way to address without violating the GPL is to
document the checksum so that people who modify the code in the PROM can
calculate a new checksum.

Jeffrey Siegal

unread,
May 27, 2002, 10:19:27 AM5/27/02
to
phil hunt wrote:
> Tivo might say they need these controls because of their business
> model -- they sell the boxes at as loss and make the money on
> subscriptions.

No they don't. They're no longer selling boxes at a loss (which is why
the series 2 box is more expensive, despite using hardware which is now
cheaper than the hardware they used a few years ago).

Isaac

unread,
May 27, 2002, 10:45:02 AM5/27/02
to

The commercial skip was a hypothetical example. If you like, instead
imagine a hack that allows sharing material over a network, or
imagine any other feature that might at least arguably affect a fair
use analysis. Imagine an automated commercial skip rather than the
FF feature that I think you refer to. If the protection prevents you
from doing one of these things, at least arguably, circumventing the
measure violates the DMCA.

It doesn't matter whether it's necessary to access the GPLed components
to add features because the protection scheme covers both. In the
current scheme if you bypass the protection scheme to hack the OS,
you may also be bypassing protections in the application software
that control or limit access to recorded copyrighted material.

Perhaps you are arguing that the TiVo manufacturer could remove the
protection from the GPLed components without violating the DMCA.
I agree that they could make such a unit.

Isaac

Isaac

unread,
May 27, 2002, 10:56:19 AM5/27/02
to
On Mon, 27 May 2002 13:25:42 +0100, phil hunt <ph...@comuno.freeserve.co.uk>
wrote:

> On Sun, 26 May 2002 17:32:37 -0700, Russ Allbery <r...@stanford.edu> wrote:
>>phil hunt <ph...@comuno.freeserve.co.uk> writes:
>>
>>> But if they use GPL'd code, they *do* have an obligation not to go out
>>> of their way to make it harder for you. Making tamper-proof hardware is
>>> a clear breach of the spirit of the GPL. it's also wrong in itself: if
>>> you paid for it, you own the TiVo box, so you should be able to do what
>>> you like with it. Including reprogramming it so it doesn't record
>>> programs on TiVo's instructions without your permission.
>>
>>Verifying a checksum on the operating system isn't obviously making the
>>hardware tamper-proof. It could, for example, be a valid consistency
>>check if they're worried about bit corruption in the memory or disk.
>
> It is is corrupt, either the corruption stops the tivo working or it
> doesn't. If the former, adding a checksum does no good; if the
> latter adding a checksum merely makes it less functional.

This kind of check is very commonly recommended and implemented on
non volatile memory holding safety critical data. In those kinds
of applications you want things to work correctly on not at all. Bit
corruption of non volatile memory does occur.

I'm not saying that it's a reasonable thing to protect against in this
situation. I don't believe that protecting against corruption is
the reason why the checks are being implemented.

> To me it seems obvious that this is bad, because it hampers freedom
> (I would have no objection to a CRC check that brings up an error
> message but otherwise lets the microwave continue working).

Would you want the microwave to keep working if something was wrong
with the door interlock? I would not.

Isaac

phil hunt

unread,
May 27, 2002, 11:30:38 AM5/27/02
to

Good point.

phil hunt

unread,
May 27, 2002, 11:31:16 AM5/27/02
to

I stand corrected.

In that case, they have no excuse for their antics.

phil hunt

unread,
May 27, 2002, 11:32:59 AM5/27/02
to
On Mon, 27 May 2002 14:56:19 GMT, Isaac <is...@latveria.castledoom.org> wrote:
>On Mon, 27 May 2002 13:25:42 +0100, phil hunt <ph...@comuno.freeserve.co.uk>
>> To me it seems obvious that this is bad, because it hampers freedom
>> (I would have no objection to a CRC check that brings up an error
>> message but otherwise lets the microwave continue working).
>
>Would you want the microwave to keep working if something was wrong
>with the door interlock? I would not.

Thgat's a good point. Obviously safety-critical stuff like
microwaves or aircraft control systems should be negineered
differently than video recorders, which after all can't kill people.

John Hasler

unread,
May 27, 2002, 11:01:06 AM5/27/02
to
Jeffrey Siegal writes:
> There is nothing in the DMCA that requires that anyone "assert" that a
> technological access control measure is a "DMCA device."

How could they charge someone with circumventing a technological access
control measure without asserting that such a measure exists? Besides, the
"measure" under discussion does not control access. You can read out the
contents of the ROMs and the disk to your heart's content.

Todd Larason

unread,
May 27, 2002, 3:03:58 PM5/27/02
to
On Mon, 27 May 2002 11:53:20 +0100, phil hunt wrote:
> On Mon, 27 May 2002 06:57:45 -0000, Todd Larason <j...@molehill.org> wrote:
>>
>>That's impossible with the series 2 hardware, for artificial reasons.
>
> Do you have details?

We have guesses, based largely on what they did with the DirecTiVo
models.

The boot PROM loads the kernel, checking that it's been signed with a
particular private key. If it hasn't, the boot fails.

The kernel image includes an initrd ramdisk image, used as the initial
root disk. The init executable on this disk calls a
triplike-executable which checks all the files expected to be on the
real root partition; any that appear to be modified are copied from a
second copy of the root filesystem. If the copy has been modified as
well, the boot fails. The initrd has no other purpose.

After the check is completed, the real root is mounted and its init is
executed. As shipped, it doesn't run a shell on the serial console and
it doesn't run a network login server of any kind.


That's how DirecTiVos work with current software and firmware. As
originally shipped, the PROM didn't do the signature check, and if
you're able to restore the original PROM then modified kernels work
just fine. The original standalone hardware allows modified kernels,
and it works just fine.


This issue hasn't arrived out of the DirecTiVos because of how the
transition was done from unprotected to protected -- with some work,
it's possible there for users to get the paranoid PROM to load a
signed-but-nonparanoid kernel and use that to load a copy of the older
non-paranoid PROM, then switch back to the current paranoid kernel,
but with the initrd zerod out to turn off its paranoia.

The new series-2 is all new hardware; there are no
signed-but-non-paranoid kernels for it, and there are no non-paranoid
PROMs for it.
--
They can have my computer when they pry it from my cold dead fingers.
http://www.politechbot.com/docs/cbdtpa/ http://www.eff.org/

Russ Allbery

unread,
May 27, 2002, 4:23:26 PM5/27/02
to
phil hunt <ph...@comuno.freeserve.co.uk> writes:
> On Mon, 27 May 2002 01:10:39 -0700, Russ Allbery <r...@stanford.edu> wrote:

>> What I *really* want from the GPL is the feeling that useful
>> programming work isn't being lost. Proprietary software deeply offends
>> my sense of forward progress and conservation; it's like doing tons of
>> work that one is going to intentionally throw away and that will end up
>> being worthless for the general advancement of the art. What I like
>> about the GPL and about free software in general is that one can build
>> on what's been done before where appropriate and only have to reinvent
>> when there's some reason to do so, not for stupid non-technical
>> reasons.

> Don't other free software licenses, such as the BSDL, also do this?

Yes, largely, which is part of the reason why I use them at times. But
the GPL provides more "push" behind that that helps useful publically
available software not wither when it runs into an economy that at the
moment is based on the exact opposite of conservation, on exploiting
people and resources for every bit of money that one can get out of them.

--
Russ Allbery (r...@stanford.edu) <http://www.eyrie.org/~eagle/>

Russ Allbery

unread,
May 27, 2002, 4:24:58 PM5/27/02
to
Isaac <is...@latveria.castledoom.org> writes:

> What would be the non-stupid, technical reason for disallowing
> modification of the TiVo. The only reasons I can see involve protection
> of someone's business model, but isn't that exactly why anyone software
> without source code.

Oh, I'm not arguing that it's not either stupid or clearly intended to
protect their business model. I wish they used free software, but they
clearly don't want to or don't feel like they can and still make money.

I'm just saying that they're not any *worse* than any other closed-source
software company in my view, and that I don't think what they're doing
with the GPL'd code that they use is particularly contrary to the purpose
of the GPL *for that code*, at least to me.

Russ Allbery

unread,
May 27, 2002, 4:27:06 PM5/27/02
to
Jeffrey Siegal <j...@quiotix.com> writes:

> There's certain nothing wrong with building and selling a "consumer
> appliance" where no one ever opens the box or modifies anything, but it
> was not appropriate to use GPLed software in it if they wanted to
> enforce that.

Why not?

I think that's the crux of our disagreement. I think it's perfectly
reasonable for them to take the GPL'd code, burn a CD of it, and then burn
it into unalterable hardware inside their appliance and ship the appliance
with that CD.

If that isn't allowed, that's a pretty significant restriction on where
one can use GPL'd code in the embedded space.

Jeffrey Siegal

unread,
May 27, 2002, 7:36:40 PM5/27/02
to
Isaac wrote:
>
> On Mon, 27 May 2002 06:20:11 -0700, Jeffrey Siegal <j...@quiotix.com> wrote:
> > Isaac wrote:
> >> What could be worse is that the device could be controlling access in
> >> a limited way to the recorded material by preventing you from hacking
> >> in commercial skip, or some other verbotten feature. In that case it
> >> might be someone other than TiVo that would be suing you or turning
> >> you in to the FBI for violating the DMCA.
> >
> > First of all, you don't need to hack in commercial skip -- it is already
> > there, even in the new model.
> >
> > Second of all, there is still no evidence at all that access to the
> > GPLed components has anything at all to do with access to the recorded
> > material, which seems to be entirely managed by separate, non-GPLed
> > components.
>
> The commercial skip was a hypothetical example. If you like, instead
> imagine a hack that allows sharing material over a network, or
> imagine any other feature that might at least arguably affect a fair
> use analysis. Imagine an automated commercial skip rather than the
> FF feature that I think you refer to.

Actually, I wasn't refering to fast forward, but I agree the particular
feature in question is not that important. Still, as far as I know, all
access to the recorded content is managed by separate non-GPLed
components. So as far as I know, access to the GPLed components would
not be relevant to accessing the recorded content in any way.

> Perhaps you are arguing that the TiVo manufacturer could remove the
> protection from the GPLed components without violating the DMCA.
> I agree that they could make such a unit.

I don't see how the manufacturer of the unit would ever be in violation
of the DMCA regardless of what they did, unless the unit itself
circumvented some other device (such as encryption of content on
satellite or cable).

Jeffrey Siegal

unread,
May 27, 2002, 7:38:50 PM5/27/02
to
John Hasler wrote:
>
> Jeffrey Siegal writes:
> > There is nothing in the DMCA that requires that anyone "assert" that a
> > technological access control measure is a "DMCA device."
>
> How could they charge someone with circumventing a technological access
> control measure without asserting that such a measure exists?

They would have to assert it, but not before the fact.

Besides, the
> "measure" under discussion does not control access. You can read out the
> contents of the ROMs and the disk to your heart's content.

Reading contents is not sufficient to gain "access" if, for example, the
contents are encrypted, as with a DVD. You can still physically read
the bits, but not produce valid content from them. A digital signature
is the analog of encryption for modification; you can still physically
modify the bits, but you can't do so in a way that produces valid
content.

Jeffrey Siegal

unread,
May 27, 2002, 7:41:28 PM5/27/02
to
phil hunt wrote:
> On Mon, 27 May 2002 14:56:19 GMT, Isaac <is...@latveria.castledoom.org> wrote:
> >On Mon, 27 May 2002 13:25:42 +0100, phil hunt <ph...@comuno.freeserve.co.uk>
> >> To me it seems obvious that this is bad, because it hampers freedom
> >> (I would have no objection to a CRC check that brings up an error
> >> message but otherwise lets the microwave continue working).
> >
> >Would you want the microwave to keep working if something was wrong
> >with the door interlock? I would not.
>
> Thgat's a good point. Obviously safety-critical stuff like
> microwaves or aircraft control systems should be negineered
> differently than video recorders, which after all can't kill people.

I would argue that you can't restrict modification of GPLed software,
even if that is necessary to do for safety reasons. If it really is
necessary, that just means you can't use GPLed software. Perhaps it is
the case that TiVo can't use GPLed software because the conflicting
constaints under which they operate (business model, DMCA, and so forth)
can't be reconciled with the GPL. In that case, chosing to use GPLed
software to build their device was a serious error, and perhaps even a
fatal one for their company, but that still does not justify violating
the GPL. They should just use some other software instead.

Jeffrey Siegal

unread,
May 27, 2002, 7:43:45 PM5/27/02
to
Russ Allbery wrote:
>
> Jeffrey Siegal <j...@quiotix.com> writes:
>
> > There's certain nothing wrong with building and selling a "consumer
> > appliance" where no one ever opens the box or modifies anything, but it
> > was not appropriate to use GPLed software in it if they wanted to
> > enforce that.
>
> Why not?
>
> I think that's the crux of our disagreement. I think it's perfectly
> reasonable for them to take the GPL'd code, burn a CD of it, and then burn
> it into unalterable hardware inside their appliance and ship the appliance
> with that CD.

That's not what they've done. They've put the software into alterable
software and then put up a barrier that prevents the user (but not them)
from altering it.

> If that isn't allowed, that's a pretty significant restriction on where
> one can use GPL'd code in the embedded space.

I've said before that I don't think the GPL fits very well in the
embedded space and an "embedded GPL" to address these issues more
clearly would be a good thing. RMS has said the same thing, but also
said that he personally wasn't very interested in embedded
applications. I don't know whether that has changed or not given the
vastly increased use of GPLed software in embedded applications
recently.

John Hasler

unread,
May 27, 2002, 8:44:43 PM5/27/02
to
Jeffrey Siegal writes:
> I don't see how the manufacturer of the unit would ever be in violation
> of the DMCA regardless of what they did, unless the unit itself
> circumvented some other device (such as encryption of content on
> satellite or cable).

I would think that contributory infringement would be their worry.
--
John Hasler
jo...@dhh.gt.org (John Hasler)
Dancing Horse Hill
Elmwood, WI

John Hasler

unread,
May 27, 2002, 9:11:12 PM5/27/02
to
I wrote:
> Besides, the "measure" under discussion does not control access. You can
> read out the contents of the ROMs and the disk to your heart's content.

Jeffrey Siegal writes:
> Reading contents is not sufficient to gain "access" if, for example, the
> contents are encrypted, as with a DVD.

I meant, of course, that they aren't encrypted or otherwise rendered
unintelligible.

> A digital signature is the analog of encryption for modification; you can
> still physically modify the bits, but you can't do so in a way that
> produces valid content.

Of course you can. You can reverse-engineer the binaries, or copy them out
and run them, modified or not, on suitable hardware. You just can't modify
them and expect them to run on the TiVo hardware unless you modify it.

Stan Brown

unread,
May 27, 2002, 10:26:33 PM5/27/02
to
In <acrvk9$rs11b$1...@ID-125932.news.dfncis.de> Christopher Browne <cbbr...@acm.org> writes:

> (1) Virtuous welding retention guilt

> (2) Heterogeneous chase casinos

> (3) Hurtling insurgent revulsion

> (4) Musical pronunciations
>X-Uboat-Death-Message: AIRCRAFT. BOMBED. SINKING. U-843.
>Xref: panix gnu.misc.discuss:86797

>The world rejoiced as Jeffrey Siegal <j...@quiotix.com> wrote:
>> Russ Allbery wrote:
>>>>"Any further restrictions" is a much broader requirement than "prohibit"
>>>>or "prevent." A vaguely analogous restriction to making the unit not
>>>>function if the GPLed software is modified would be to require that you
>>>>send TiVo (or even to a charity) $400 if you modify the software. That
>>>>doesn't prevent modification but it does "restrict" it.
>>> The problem with this analogy is that in this case, the restriction
>>> is
>>> built into the hardware, not into the software or its license.
>>
>> This distinction does not make a difference. Section 6 is not limited
>> to restrictions in the software or a license. It very broadly says
>> "*any* further restrictions (emphasis added) and further it adds that
>> the GPL licensee may not restrict the "exercise of" the end users'
>> rights, which is exactly what TiVo's mechanism does.

>Yup. So the mechanism should remove the GPL-licensed objects from the
>list of items it "TripWires."

>That way you could replace the kernel with a customized one.

>And then discover that what you _actually_ wanted to change the
>behaviour of was based on the non-GPLed components of the system, and
>hence not under any sort of GPL-related control.

Actually, as the original poster on this. What I want to modify is _only_ teh GPL'd content. I
want to add standard GNU/Linux networking capabilites to the GUN/Linux OS on the machine.

--
"They that would give up essential liberty for temporary safety deserve
neither liberty nor safety."
-- Benjamin Franklin

Jeffrey Siegal

unread,
May 27, 2002, 10:38:40 PM5/27/02
to
John Hasler wrote:
>
> Jeffrey Siegal writes:
> > I don't see how the manufacturer of the unit would ever be in violation
> > of the DMCA regardless of what they did, unless the unit itself
> > circumvented some other device (such as encryption of content on
> > satellite or cable).
>
> I would think that contributory infringement would be their worry.

Perhaps, but that's not a violation of the DMCA.

Jeffrey Siegal

unread,
May 27, 2002, 10:39:45 PM5/27/02
to

That is a form of access (in particular, the ability to modify in place
and produce valid content) that is being controlled. Other forms of
access are not so controlled, but that's not relevant.

John Hasler

unread,
May 27, 2002, 10:52:50 PM5/27/02
to
I wrote:
> Of course you can. You can reverse-engineer the binaries, or copy them out
> and run them, modified or not, on suitable hardware. You just can't modify
> them and expect them to run on the TiVo hardware unless you modify it.

Jeffrey Siegal writes:
> That is a form of access (in particular, the ability to modify in place
> and produce valid content) that is being controlled.

I think you are stretching "access" far beyond the breaking point.

Jeffrey Siegal

unread,
May 28, 2002, 1:06:25 AM5/28/02
to

John Hasler wrote:
>
> I wrote:
> > Of course you can. You can reverse-engineer the binaries, or copy them out
> > and run them, modified or not, on suitable hardware. You just can't modify
> > them and expect them to run on the TiVo hardware unless you modify it.
>
> Jeffrey Siegal writes:
> > That is a form of access (in particular, the ability to modify in place
> > and produce valid content) that is being controlled.
>
> I think you are stretching "access" far beyond the breaking point.

I fail to see any breaking point in the "stretch" from using encryption
(which is clearly an access control mechanism), for controlling read
access, and digital signatures for controlling write access. Encryption
doesn't prevent, or even inhibit, copying, yet it is still considered to
control access.

Graham Murray

unread,
May 28, 2002, 2:07:38 AM5/28/02
to
Jeffrey Siegal <j...@quiotix.com> writes:

> DMCA prohibits circumvention of a devices which controls "access" to a
> copyrighted work, but "access" is not clearly defined. I strongly
> suspect that a checksum mechanism that prohibits modification would be
> controlling access, but no case involving this issue has been in court,
> as far as I know.

But only if done without the copyright owner's permission. GPL'd code
is copyright, so surely all it needs is for just one of the copyright
owners to give permission to circumvent in order to access their code.

It is loading more messages.
0 new messages