?

Log in

No account? Create an account
Recent Entries Members Calendar About TiVo Homepage Previous Previous Next Next
TiVo Lovers
For owners and fans of TiVo
zonereyrie
tivolovers
zonereyrie
TiVo and GPLv3
OK, I saw this article and some others in the past week. The GPLv3 is the General Public License, version 3. What is it? The GPL is the license that covers a great deal of open source software or free software. (Never say they're the same thing within earshot of Richard Stallman. I've been there for that. ;-)) In particular, it is the license that governs the Linux kernel, which TiVo uses in their products. I didn't think it was worth commenting on, but I've seen it popping up in other blogs (like PVRWire) and secondary articles, so I thought I'd toss my two cents in.

The big deal is that the new edition of the license, version 3, has language that was specifically designed to forbid some of the things TiVo has done. Basically, TiVo has designed their recent boxes to block loading modified software on the box. TiVo provides their modifications to the Linux kernel, as required by the GPL, but the boxes are designed to prevent users from loading modified software. TiVo does this to be able to lock the box down to allow copyright controls, which they have to do to make deals to provide services like TiVoCast and Amazon Unbox.

When TiVo made their SEC filing this week, they included a comment that addressed the GPLv3:
If the currently proposed version of GPLv3 is widely adopted, we may be unable to incorporate future enhancements to the GNU/Linux operating system into our software, which could adversely affect our business.
This may seem dire at first glance, but keep in mind that SEC filings are deliberately extremely conservative and pessimistic. If you read them you see a litany of possible impacts on the business, just about any company's filing could make you think that company is dancing in a minefield of risks.

Today, the Linux kernel is governed by the GPLv2, which doesn't have any prohibitions against the kind of application TiVo has used it for. Even when GPLv3 is released, it won't mean anything immediate for Linux. Linux is specifically licensed under GPLv2, and every individual licensed component would need to be migrated to v3, which would require the contributor to approve. It would only impact TiVo if some of the software they specifically use were migrated to v3.

But there's more, any software licensed under v2 is perpetually licensed under v2. Only future updates could be migrated to v3. So TiVo could continue to use the v2 software indefinitely. As TiVo says, the risk is that they wouldn't be able to incorporate future updates to Linux and take advantage of them.

I don't think that's a big risk. There are a number of ways TiVo could cope with that.
  • They could modify their solution to comply with the GPLv3, making it moot.

  • They could continue to use GPLv2 software, and implement any changes and improvements in-house as necessary.

  • They could switch from Linux to another kernel. BSD licenses are much more permissive for commercial applications. They could re-implement on FreeBSD, OpenBSD, etc. They could also move to a proprietary embedded platform, like VxWorks.

  • Now that they have an OCAP code base, developed for Comcast & Cox, they could make that their standalone platform. New boxes could basically run a Java Virtual Machine and host the OCAP software, or something derived from it.

That's just what I can think of off the top of my head. In other words, the GPLv3 isn't really any major threat to TiVo's business. There are a number of ways they can cope with it, and that's if it ever becomes an issue. It is also important to keep in mind that it is only the low level software that TiVo uses, the kernel, that is covered under the GPL. All of the TiVo application software, what end users think of as 'TiVo', is proprietary TiVo software. So this doesn't imply anything about the higher level functionality, except the interaction with copyright and content controls.

Tags: ,
Current Location: 42.308929N 71.795328W
Current Mood: tired tired
Current Music: TiVo: LA Forensics

6 comments or Leave a comment
Comments
doc_quixote From: doc_quixote Date: June 3rd, 2007 06:28 am (UTC) (Permalink)
The Linux kernel may or may not go to GPL V3. Linus (the guy who holds the trademarks and a sizeable chunk of the copyrights) is a pragmatic sort of fellow, and has been conspicuously absent from the chorus of people criticising TiVo. He's also been... less than enthusiastic... about the GPL license. He's gone from being strongly opposed (to early drafts) to being willing to accept that it isn't inherently stupid (in recent drafts). But it's a long way from there to being willing to undertake the work of relicensing.

Personally, I wish the TiVo folks would allow end-user kernels, but I understand the legal and technical support issues that precludes them from doing so.
doc_quixote From: doc_quixote Date: June 3rd, 2007 06:29 am (UTC) (Permalink)
about the GPL V3 license.
zonereyrie From: zonereyrie Date: June 3rd, 2007 06:39 am (UTC) (Permalink)
Yeah, that's why it is still a big *if*. With the early drafts, Linus was dead-set against v3, stating that he would NOT adopt it for Linux as it stood then. The early drafts were fairly harsh on DRM.

The final draft out now is much more reasonable I think, and with each draft Linus has softened his position to the point of considering it. But it is still an if - and even if he decides to go to v3, there are hundreds, maybe thousands, of contributors who would need to be tracked down and approve of moving their code under the new license in order to move it all over. And if anyone refuses, the code would need to be replace.

It won't happen overnight.
doc_quixote From: doc_quixote Date: June 3rd, 2007 06:45 am (UTC) (Permalink)
there are hundreds, maybe thousands, of contributors

... or their estates, in a few cases, or their corporate legal department in others ...
From: (Anonymous) Date: June 8th, 2007 11:25 am (UTC) (Permalink)

Motivations: spyware

GPLv3 requires that users be able to load modified kernels for two reasons.

One is so that users can remove spyware. The TiVo gathers data about what you watch, and it sends that personal data back to headquarters. If you trust TiVo with your personal data, you can leave the spyware in. If you don't, then GPLv3 says you should be able to use a version of the software with the spyware removed.

The other is the freedom to control your devices. Today, TiVo blocks the copying of some content, but the point is that TiVo can do whatever they want. If tomorrow, most of our computing is done on TiVo like locked-down boxes, then free software users will only be able to do whatever a handful of companies decide they can do. This would turn the GNU+Linux system into just another user-screwing operating system, like Windows, like Mac.

I'm not arguing for/against you, but I just wanted to expand the description of why.
zonereyrie From: zonereyrie Date: June 8th, 2007 07:51 pm (UTC) (Permalink)

Re: Motivations: spyware

You can already opt-out of all data collection by calling TiVo. And that's a higher level function that isn't in the GPL software, to my knowledge, so even the GPLv3 wouldn't allow you to remove that software. Only the low-level software in the unit is GPL, all of the higher level 'user land' software is not. You might be able to put something in the GPL layer to block the connection, of course.

I do understand the FSF's motivation, and I've met Stallman a few times and heard him go off on 'free software' vs. 'open source'. He's a man on a mission.
6 comments or Leave a comment