Hypervisors Can Defeat GPLv3's Anti-Tivoization 377
DeviceGuru writes "A hypervisor can be used to isolate from each other software works released under incompatible licenses, while allowing them to run simultaneously on the same hardware. For example, Linux and Windows CE can run on separate virtual machines on one device, without violating either OS's license. Due to the isolation between multiple VMs running atop a hypervisor, it seems like this architecture could allow companies to build Linux-based devices, such as mobile phones or set-top boxes (think TiVo), that can't be upgraded by their users without authorization, thereby circumventing the GPLv3's 'anti-tivoization' clauses." Here's a white paper with more details from a commercial hypervisor company.
Bogus! (Score:5, Insightful)
If the code is released under GPLv3, then modifications of the code must be able to run on the same hardware. It doesn't matter if the key to run the code is a checksum or a password to give the hypervisor. Either way, if modification of the client cannot be dropped into the place of the original client (either to run on the same hardware or the same hypervisor), it's in abuse of the GPLv3.
Re:Bogus! (Score:4, Interesting)
Re: (Score:3, Interesting)
Or maybe they will simply port their apps to BSD and use that on the tivo boxes. Or maybe they will license some other OS that will allow them to keep everything closed source.
Or do they have a specific reason for sticking with Linux?
Re:Bogus! (Score:4, Insightful)
Or maybe they could start playing by the rules of the community they took Linux from, saving millions in development cost and time-to-market. Or maybe the could purchase a closed-source license for another OS. Or maybe they could write their own code instead of taking someone else's, so they can do what they want with it.
Re:Bogus! (Score:5, Interesting)
it just prevents you from getting extra access to the machine by updating the code. Thus it allows "tivoization" without violating the letter (or arguably the spirit) of GPL v3. The GPL code you can hack and modify to your heart's content; the hypervisor just makes sure that said hacking doesn't compromise the machine.
Seems fair to me (Score:5, Insightful)
Really, your new version of the kernel will have the same privileges as the old version. I see no problem with that.
I only fail to understand why they plan to put a kernel above that hypervisor. For it to be of any use, the hypervisor must controll all I/O operations anyway, what they get from Linux?
Re:Seems fair to me (Score:5, Insightful)
(See http://www.gnu.org/licenses/gpl-faq.html#GPLAndNo
The hypervisor is just another method to achieve exactly this behaviour that was built into the GPL from the very beginning: Make a clear distinction where the proprietary code runs, and where the GPLed code resides. So no: The hypervisor is not a "circumvention device against the GPL3".
Re: (Score:3, Interesting)
They want it because the price is unbeatable.
It's just that it has an annoying license that they have to work around, in order to be able to sufficiently hamstring their users.
Re:This FUD makes no sense. (Score:4, Insightful)
See, that's never made much sense to me. Why don't they just pick up a gratis operating system with a more permissive license, like one of the BSD's, and stop worrying about tivoizing GPL'ed code?
Or are they actually just evil and want to lock down GPL'ed code because it fills their weekly evil quota or something?
Re: (Score:2)
Even more so, while this can be used to isolate two operating systems from each other, some software is obviously going to run under the operating system. I fail to understand how you can isolate the software from the OS, as well as the usefulness of such a feat. I mean, what's the purpose of the OS then?
Somehow, I don't think the GPL 3 was so poorly written that it could be circumvented so easily.
Re:Bogus! (Score:4, Insightful)
Somehow, I don't think the GPL 3 was so poorly written that it could be circumvented so easily.
Why not? It's just another form of DRM-- and we all know how easy that is to crack...
Re:Bogus! (Score:5, Informative)
Bull.
The GPL does not restrict usage. It restricts distribution - and in a manner completely opposite to DRM.
Re:Bogus! (Score:4, Insightful)
Nope. [DRM] tries to maximize revenue of corporations by intrusive means discussed at length here on
DRM has nothing to do with revenue. Of course, it's a tool which is most often used with respect to increasing revenue, but there is no fundamental connection between the two. I might, for example, use DRM to release a movie which I wish to re-release occasionally in order to switch which of two characters shoots the other first (not mentioning any names, here). I might charge nothing for these releases, I just want to make sure that everyone is forced to watch the version that I've decided is "current". DRM can do that.
The GPL is a tool which allows me to restrict the use of my source code such that only people willing to grant other people my pet set of rights can distribute it. Everyone else must ask for my permission first, or they get nothing (and likely will get nothing, even if they ask).
Now, I'm a fan of the GPL. I'm a fan of the clever hack which it embodies for using copyright law to control the distribution of additional, non-copyright rights. Very cool. I'm also a fan of the basic idea of offering users who want to share the right to do so.
However, it's completely unreasonable to draw an imaginary line in the sand between one set of restrictions (you can share, but only if you play by my rules) and another (you can use, but only if you play by my rules) on the basis that one doesn't comprise a restriction because the intent is different.
Re: (Score:2, Insightful)
GPLv3 code can do whatever it wants, but the hypervisor can feel free to say "I'm sorry, there is no spiffy network card", "I'm sorry, there is no TV channel like that"
Re:Bogus! (Score:5, Insightful)
You must have a huge stake in proprietary software to cheer about this. Note that if this is the way of the future, it's not only "Check and mate, RMS!", but also "Check and mate, general-purpose personal computer!". Well, I guess you will still be able to import one from China, provided you won't get caught. Hurray indeed.
Re:Bogus! (Score:4, Interesting)
Check and mate, general-purpose personal computer!". Well, I guess you will still be able to import one from China, provided you won't get caught.
Homebrew it. Engineers shall rule the world
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
"If the notion of human rights in the future no longer serves a market need then why should it not perish?"
That being said even if open source software did not exist I don't see the general purpose computer going anywhere.
You misunderstood me. The very same hypervisor tech that is described to circumvent the GPL3 can be used to deny you all unsupervised access to your computer whatsoever. Thus the OP s
Re: (Score:3, Informative)
Um, no, you just fell for MS's propaganda. First of all, more than 80% of software is written for other purposes than shrink-wrapped sale. People who write this stuff have less need for restrictive licenses in any case.
Second, it may be hard to live off free software right now, in a proprietary software world. I have no doubt whatsoever that it would work just
Re: (Score:2)
Re: (Score:3, Informative)
...So what?
Once again, I don't think it defeats the purpose here, which is to prevent them from distributing a GPL'd binary in such a way that I can't upload my own, nearly-identical GPL'd binary and expect it to work.
To be GPLv3 compliant, I expect they'd have to have that channel exist, and provide exactly the same data to the GPL'd program, no matter
Re: (Score:2)
Re: (Score:2)
You are not breaking GPL 3 you are getting DRM. HA HA! Sorry play again.
Re: (Score:2)
For an embedded manufacturer, it is interesting because it protects what the manufacturer considers to be important, or even simply some code it bought from a third party, while it allows ski
Re: (Score:2)
Whether this is in violation of the GPLv3, I don't know; I haven't read it. But it seems like a
Re: (Score:2)
Since the GPLv3 is essentially a form of DRM, there's almost certainly a way around it. This approach seems reasonable.
What I don't understand is why the GPLv3 didn't have a clause stating, unequivocally, that software released under it cannot implement (encode or decode) Digital Rights Management schemes in any way, shape, or form. If they're going to be against user-hostile software, why not take a stand?
That would be ironic, sinc
Re: (Score:2)
Re: (Score:2)
GPLv3 does not fall under this definition because:
Re: (Score:3, Insightful)
Re: (Score:2)
This is because the closed source hypervisor in your head is preventing you from accessing the appropriate parts of device memory
Frankly this is an interesting legal hack. It certainly seems to comply with the letter of the license, and possibly even the spirit. The freedom to modify GPL 3 software is preserved in the proposal.
What it is analogous to is building (say) a hardware DVDCSS decoder that acts as a black box. Data in, video out. E
Re: (Score:3, Funny)
Ah-HA! So that's what it's all about!
Ah, well... then it'll just be cracked - like any other copy protection.
Re: (Score:2)
Re: (Score:2)
IMHO, that violates neither the letter nor the spirit of the GPLv3. It's still evil, but it's not that kind of evil. I also strongly suspect that it will be much more subject to being hacked than something that disallows any software changes at a hardware level.
I would be disappointed if the GPL tried to address this issue in a future version because I do not believe that it's within the scope of things it ought to address.
I disagree with Linus in that I think the GPLv3's anti-tivoization clause really
Re: (Score:2)
Re: (Score:3, Funny)
Re: (Score:3, Interesting)
It depends on how broadly you interpret the spirit of the GPL. Under this scheme you'd run Linux in a VM. Therefore, you could modify the GPL'd code and update it in the VM. Now, if you believe that is the whole of the SPIRIT of the GPL then there is no problem.
However, this is being done for the sole purpose of bypassing a clause in the GPLv3 that would require t
hmmm (Score:2)
GPLv3 is like DRM in that respect. (Score:2)
Re: (Score:2)
Re: (Score:2)
My post doesn't have anything to do with if FSF is right or wrong. It has everything to do with the futility of trying to write some agreement that limits the use of digital technology.
For example if I really wanted to make a closed device all I would need to do is create my own CPU. I then make my own code generator for GCC.
I then compile
Can it really? (Score:3, Interesting)
Re: (Score:2, Informative)
This can't be achieved when the kernel is running on the bare
Then the Installation Information is insufficient (Score:2)
Re: (Score:3, Informative)
That's not quite what I am saying. Basically the hypervisor could limit resources to unsigned code, such that the code will still install and "run", but have such limited resources that it will not function properly.
From the GPLv3: "The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made." So if I add a tiny "hello world" style modification and break the digital signature, it had better run and not just "run", or the distributor is in violation of copyright on the GPLv3 covered software he distributes.
Backfire in responce. (Score:4, Insightful)
For TiVo being a consumer product is Bad, IBM Being corporate product it is good.
Free Software has a lot of advantages but if you try to get too academic with it it gets to a point where adoption of such products are impractical.
Take the TiVo, what GPLv3 wanted to do was force TiVo to release their DRM so the community has access to their product. What actually happends is TiVo
finds a backdoor to the license and uses it, or drops using open source and any stop to any shared contributions from TiVo and a move to a different
platform.
The License for free software is the cost of using the software. (Except for trading money (and rules) for rights to use, you agree to follow these rules for
rights to use) as more rules you add to the license the more expensive the free software becomes. So if you make FreeSoftware to strict on its use
people won't use it. Academically Free as in speech software sounds like a good plan but real life realizes there is information that you want to keep
private.
Re:Backfire in responce. (Score:5, Informative)
The GPLv3's anti-tivoization clause is true to the GPL's goal. When putting software under the GPL license, one accepts that it might not get as much use as BSD-licensed (or, as an intermediate, GPLv2-licensed) software, and that's the price for the code itself remaining free.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Period.
Re: (Score:2)
Re: (Score:2)
There are many ways to use code which involve distributing it. Such as using it as a component of some other system you produce. This form of use is very much restricted by GPLv3.
Re: (Score:3, Insightful)
Since they love to use Tivo as an example, let's run with that. Isn't Tivo's (the company, not the device) use of Linux simply distributing single-purpose boxes that are run by it?
Preventing a company like Tivo from distributing GPLv3 software on a closed device doesn't increase the freedom of the software. It doesn't even have anything to do with the freedom of the software. It's an attempt to impose openness on the hardware irregardless of whether the code itself is
Re: (Score:2, Insightful)
Free software advocates beleive that freedom is always practical, indeed is the only practical choice in the long run. I'm sorry if you don't value freedom.
There's not any "circumvention" going on, any more than it's circumvention that I can processes running both GPL and non-GPL applications on my PC. Just some hypervisor hype from - surprise! - a hypervisor vendor.
Re: (Score:2)
Re: (Score:2)
Take the TiVo, what GPLv3 wanted to do was force TiVo to release their DRM so the community has access to their product.
No, that is the fundamental error that so many people make.
That is NEVER what they wanted to do at all.
What they wanted to do was to stop TiVo from redistributing GPL code that couldn't be modified and run on the purchased hardware it came with.
This was never to 'force' TiVo to do anything except make a choice:
Use the free (as in liberty) code covered by the GPL and extend those freedoms t
Re: (Score:2)
Wrong. What they want is to be able to use their hardware. If Tivo uses other-people software it seems fair for others to use their hardware.
Fine with me. Can you tell me which are the contributions
Re:Backfire in responce. (Score:5, Funny)
Re: (Score:3, Funny)
No, they can't. (Score:4, Informative)
Re: (Score:2)
Don't you love it when (Score:2, Interesting)
Do they really think software these days isn't slow and bloated enough without the additional burden of context-switching, just to circumvent the licensing problems?
I equally despise Microsoft and RMS these days...
Re: (Score:2, Insightful)
Re: (Score:2)
Re: (Score:2)
I happen to think that the GPLv3 is appropriate for many projects, but it's ultimately up to the creator to choose the license, not you.
Re: (Score:2)
Not even considering that the FSF as never used the term "Open Source" - and as actively distanced itself from it - you're description fails to cover BSD/X11/ISC type licenses, that don't require giving the source back to the community. You shouldn't narrow the world of free software to only GPL'ed covered code IMO.
As for being too restrictive, well, if you do find it tha
Whine, whine whine. (Score:3, Insightful)
Y'know, you could just choose not to circumvent the licensing problems. You could just use code which you can get under a license that lets you do what you want with it. Or you could *gasp* write your own code! What a concept!
And at the risk of sounding petty, they started it. The root of this problem is not the GPLv3, it's DRM and Tivoization
Tivoization (n) (Score:4, Informative)
(from the whitepaper link)
"Device vendors are also required to provide access to the source code of the GPL programs (see PLv2 ï½3, GPLv3 ï½6), including "the scripts used to control compilation and installation of the executable" [Footnotes 4, 6]. However, the GPLv2 does not require that installed executables must work, which enables a mechanism the Free Software Foundation calls "Tivoization."
"Tivoization," according to LinuxInfo.org, "refers to the configuring (by the manufacturer or vendor) of a digital electronic product that uses free software, so that the product will operate only with a specific version of such software." Technically, this means that a vendor of a product that uses GPL v2 programs could provide access to the source code, thus being compliant with the software license, but the product would be prevented from working if a modified version is installed, through the checking of the software image's signature."
Re: (Score:3, Informative)
Not quite. It means a vendor doing that and allowing itself the ability to update and change the software while at the same time preventing the user from doing the same. If the vendor simply made it impossible to change the software, for either the user or the vendor, then that'd be acceptable under the GPL. The GPLv3 is explicit about this: it's not a violation to put the software in ROM or the like that can't be changed, but if the software can be changed then the recipient must be able to change it. TiVo
It's a simple legal matter (Score:2)
Going the other way... (Score:2, Interesting)
It used to be that the restrictions on proprietary code caused people to want other options, and jump through hoops to get around the restrictions.
Now people will be doing the same to deal with the restrictions of GPL 3.
Seems that the "spirit" of open software is being compromised by people trying to nail it down in legal terms.
Re: (Score:2, Insightful)
Re: (Score:2)
The rest of the post is also to the point. It's a shme moderators seem to have something against modding AC's.
Re: (Score:2)
But that was precisely the intention. To take copyright and turn it against itself. Where there was "you may not redistribute or modify without the copyright holder's permission" there's now "you may not forbid redistristibution or modification without the copyright holder's permission"
Re: (Score:2)
VM hype (Score:2)
What I'm complaining about is the buzz about virtualization. What is the point? How many levels of abstraction do we need before we realize
Bingo! (Score:2)
Re: (Score:2)
Damn! Doesn't fit on the scrabble board!
Not a defeat, a different way of doing things (Score:5, Insightful)
While on TiVo, there is no way to change any part of the code without the signing key, in the proposed solution it is possible for the user to change the whole open-source system with an other one, as required by the GPLv3 license. As such, there is much more freedom for the user to tinker with its own system.
But for the manufacturer, it has the distinct advantages that some parts of the system can be isolated from the open subsystem, in a much more stable way, both legally and technically, than in a closed-source driver. Thus, it is possible to implement DRM, software subject to type conformance, or safety-critical tasks without risking corruption from the open system, whatever this system does. And contrary to the current solution, this does not require additional hardware.
Why are we Doing This? (Score:2)
Re: (Score:3, Insightful)
Surprise, surprise, companies are in business to make money.
Re: (Score:3, Insightful)
Sounds like SELinux (Score:2)
Why would Tivo be interested in this? (Score:2)
Maybe I misunderstood the intended market, but why would Tivo be interested in this? A better solution would to have another CPU running the "secure" functions and have it service the needs of a larger CPU that runs the GPL code (this aux CPU behaves as an ASIC). Keep in mind, I am talking about low power CPU like the smaller PowerPC or ARM.
It would be cheaper per unit since it would eliminate any run time license fees from the hypervisor provider.
It could be more power efficient since the hardware desig
A pretty obvious workaround (Score:2)
Re: (Score:3, Insightful)
"This software cannot run on the same CPU as software that implements DRM"
The DRMer will just use a separate coprocessor.
"This software cannot be distributed with software that implements DRM"
Oops. You can't distribute a Windows machine with a GPLed program on it.
"This software cannot communicate with software that implements DRM"
It can't connect to the internet?
You're asking for the legal equivalent of an evil bit.
Circumventing? (Score:5, Insightful)
Re: (Score:3, Informative)
The single and only purpose of the anti-tivoizaton clause is to allow every user to modify any GPLv3 software they receive and then actually use their modification. It isn't intended to do anything else. Anti-DRM text was considered for GPLv3 and later dropped.
An attempt at an explanation (Score:3, Interesting)
The OS can be altered and recompiled on the PC at will, staying well within the provisions of the hardware/software definitions as used in the GPLv3 license.
But when streaming video from the PC to the Tivo, remote attestation is used to verify the signature of the OS image booted on the PC. If the bootstrap signature is not provided, or doesn't match, the Tivo refuses to play the provided stream.
Got it? Good. Now all you need to do is re-imagine the PC in this model as a virtual machine run inside the Tivo itself, and you get the idea.
There might be a problem with this end-run, however. It all depends on whether the GPLv3 has to say specifically about what functionality is locked out without a bootstrap signature from the VM. If there's some language about insuring "complete", "full", or "all" functionality to modified versions, then it may not matter whether there's a hypervisor in the way or not (although the original network example I gave above is still legit).
I'm intersted to hear what the lawyers have to say.
The dumbest topic on /. (Score:3, Interesting)
So where's the beef?
The GPL3 doesn't stop DRM. Woot stop the presses! I could have told you that months ago during the drafting process because it's not designed to stop DRM.
Re: (Score:2)
If I release source under the GPL3 and you use it in a Tivo-style box using this scheme, you still must release the modifications to that source, and you still must allow replacing it. Thus the GPL3 does exactly what it intended to do.
All you get with this is the ability to stuff your chunk of proprietary code into the device in such a way that it's protected, while still satisfying the requirements of the GPL3 part. Big deal. You can only do that if you dev
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Also note this effectively provides a DRM work-around: as you can't GPLv3 your DRMing code, you most certainly can interop with DRM via the hypervisor. Probably also fucks over trusted computing... the code can run, but the hypervisor can shut down access to stuff it doesn't want access, or give a null driver, or reduced capabilities (see: PS3)
Re: (Score:3, Insightful)
The important thing here is that the GPL3 is a license that dicates terms only about the thing to which is applied. By that I mean, Samba is now under the GPL3, which means you can't tivoize Samba, but that doesn't say anything about whatever else you happen to include in the box.
GPL2: You can take Samba, modify it, release the patches, but make the hardware refuse to load any other version. So for instance if those patches were needed to run on
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
You can claim that any program that interacts with any other program (and contains code specifically for that program) is a derivative work of that program, and I don't believe we live in a world like that.
Otherwise every plugin, every extension, every tuning tool and every backup pro