×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Hypervisors Can Defeat GPLv3's Anti-Tivoization

kdawson posted more than 6 years ago | from the walled-gardens dept.

GNU is Not Unix 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.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

377 comments

Bogus! (5, Insightful)

MMC Monster (602931) | more than 6 years ago | (#20389345)

Frankly, I'm not sure what the article is trying to state.

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! (3, Interesting)

Orange Crush (934731) | more than 6 years ago | (#20389453)

I get the same impression. If TIVO for instance wishes to use the method to satisfy both their (eventual) GPLv3 obligations *and* content-owner obligations at the same time, then I don't see it violating either the letter or the spirit of GPLv3. An end-user is free to modify the Linux client as they see fit, or to replace the hypervisor alltogether with a bare-metal Linux installation.

Re:Bogus! (5, Interesting)

mmacdona86 (524915) | more than 6 years ago | (#20389495)

Note that the hypervisor doesn't prevent you from updating the GPL code (the Linux kernel, for example)--
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 (4, Insightful)

marcosdumay (620877) | more than 6 years ago | (#20390059)

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?

This FUD makes no sense. (1, Interesting)

twitter (104583) | more than 6 years ago | (#20390331)

Zoppis then outlines a typical use case, sketching out a device that streams proprietary video. Linux provides the UI, networking, and so on, but handles only scrambled video data, handing it off to a proprietary, closed video playback executive via a chunk of shared memory. "The bootstrap sequence checks the integrity of the hypervisor," Zoppis writes, "but not the GPL VM code," enabling users to freely modify the Linux environment.

I'm not sure how this is different from including any other non free junk along with your distribution or what this has to do with GPL3. If the distributor takes GPL3 code and turns it into non free or tivos it, GPL3 kicks in and the distributor loses the right to distribute. If the distributor makes some kind of non free thing of their own, so what? The mechanism should make no difference, the GPL only covers distribution. Who cares if they use a hypervisor or TPM to launch WinCE or a Vax emulator? As long as they don't make someone else's softare non free, no one should care.

Because that makes no sense, let's look further at the other article linked:

[tons of FUD about GPL3's problems and bogus claims of vendors not living up to GPL2, I should stop reading this massive troll but ... finally a money quote] The strong isolation provided by the hypervisor, coupled with the fact that access to the system's peripherals is restricted on a VM-by-VM basis, ensures that a hacked Linux operating system can not be granted greater rights than it had when it was delivered by the device manufacturer. Therefore it enables decrypted content, encryption/decryption keys, and sensitive devices to be protected from illegal attacks. ... The use of a hypervisor can assist device vendors with GPL license compliance, both v2 and v3. It also allows vendors to maintain strong control over their other software components, and ensure that a modified version of GPL software cannot be used to gain access to their sensitive devices or data, or to modify the fundamental behavior of the system.

"illegal attacks"? What kind of new DRM snake oil am I looking at here? I'd laugh this off if it were not supposedly from some guy at Sun.

The bottom line is that they have tied the software up in hardware and TPM knots. At this rate, I'm not sure what they want GPL'd software for. If they are going to buy a hypervisor and a media player why not buy a non free OS from the get go and spare themselves the trouble and obligations that cut against their anti-social nature? Either way they go, people are going to find a way to get hold of their precious data and devices.

Re:Bogus! (0)

Anonymous Coward | more than 6 years ago | (#20389497)

AFAIK, the 'tivoization' bit in GPL3 aims to fix a loophole in the old GPL--to make tivoization a violation of the letter of the GPL, not just of the spirit. The question is, does this new system violate the leter or the spirit of GPL3? (I'm asking honestly here--I can't quite wrap my head around it.)

Like I was taught in wrestling: for every move, there's a counter; for every counter, there's a move. I don't think GPL3 (or 4, or 5, or 6) will end this arms race.

My CAPTCHA: 'contempt'. Seems fitting. :-)

Re:Bogus! (1, Interesting)

Anonymous Coward | more than 6 years ago | (#20389543)

I haven't read TFA, but my inclination is to think the exact opposite: sure you'll be able to modify your GPLv3 operating system. Modify it all you want. Because it won't do you any good.

The actual media handling will be handled by another parallel OS which you can't touch. All the Linux part will handle is the user interface. You'll have a /dev/mediacmd device that can issue commands like "Stop" and "Play" and maybe "Record." And that's all. The GPL side will never be able to access the actual stream data, or display its own.

Re:Bogus! (2, Funny)

cp.tar (871488) | more than 6 years ago | (#20389587)

Ah-HA! So that's what it's all about!

Ah, well... then it'll just be cracked - like any other copy protection.

Re:Bogus! (1)

everphilski (877346) | more than 6 years ago | (#20389771)

So far Sony's hypervisor on the PS3 hasn't been cracked. You can joke about a lack of uptake of PS3's but the lack of a crack is not for a lack of trying.

Re:Bogus! (1)

Omnifarious (11933) | more than 6 years ago | (#20389729)

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 does address an issue that should be in the scope of a free software license. There's no sense in allowing you to create modified versions of software if you can't actually run them on the hardware they're intended for.

Re:Bogus! (1)

cp.tar (871488) | more than 6 years ago | (#20389547)

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! (4, Insightful)

Kazoo the Clown (644526) | more than 6 years ago | (#20389763)

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! (1, Insightful)

Anonymous Coward | more than 6 years ago | (#20390345)

It [the GPLv3]'s just another form of DRM


aaarrrggghhhh! Please understand that while one is (just) a license, the other is a Digital Restriction Mechanism designed to technically limit your ability to use something. DRM is meant to ultimately enforce "pay per use" strategies of the rights holders, while the GPL is meant to ensure that FOSS remains F. And O. If stupidity were painful, we'd see a lot less of it...

Re:Bogus! (2, Insightful)

everphilski (877346) | more than 6 years ago | (#20389805)

Hardware | hypervisor | GPLv3 code

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" ... think of the hypervisor as a virtual machine if you must. Programs can work fine in the virtual machine, but that doesn't mean the virtual machine will look precisely like the actual hardware. Check and mate, RMS!

Re:Bogus! (5, Insightful)

Knuckles (8964) | more than 6 years ago | (#20390157)

Check and mate, RMS!

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! (-1, Troll)

NDPTAL85 (260093) | more than 6 years ago | (#20390293)

You make having a large stake in proprietary software sound like its a bad thing.

Since when did getting paid for your work go out of style?

Re:Bogus! (1)

nelsonal (549144) | more than 6 years ago | (#20390317)

When you leverage off the work of others and don't abide by the terms of their license to use their work.

Re:Bogus! (1)

Knuckles (8964) | more than 6 years ago | (#20390389)

I didn't mean to, I just stated it without trying to attach a valuation. You have to note, though, that there are more people who have no stake in proprietary software, than those who do.

Re:Bogus! (1)

WilliamSChips (793741) | more than 6 years ago | (#20390225)

But then all the code Tivo doesn't want touched will just be in the Hypervisor, and it will have to not be under GPLv3. In other words, we also changed the pages of the real Death Note he's using right now!

Re:Bogus! (1)

B'Trey (111263) | more than 6 years ago | (#20389865)

Essentially, you have a GPL3 and a non-GPL3 working hand in hand, passing data back and forth. The GPL3 software (say Linux, if and when it moves from v2 to v3 of the GPL) handles all of the network code, user interface, etc. However, over the network, it receives encrypted data. It passes that data, still encrypted, to the non-GPL OS. The non-GPL software decrypts it and sends it via a DRM'd, trusted interface to the video display, which displays the data. At no point does Linux ever see the unencrypted data, the key to unencrypt the data, the algorithm to do so, etc. You can hack the Linux code all you want but it won't assist you in any way in cracking the encoded data stream.

You get to use Linux for all of the boring, mundane parts like network stacks and user interface, and use your own proprietary lock-down methods to secure the data.

Re:Bogus! (1)

jellomizer (103300) | more than 6 years ago | (#20389555)

Use Windows CE for the user interface. Have an internal connection to the Linux Virtual Machine. Linux does all the hard work, Windows CE works mostly like a User Interface Firewall. There are ways around it. Linux doesn't try to do any DRM it is all Windows who is doing the job. But windows is giving Linux the information to do the real work.

You are not breaking GPL 3 you are getting DRM. HA HA! Sorry play again.

Re:Bogus! (1)

romiz (757548) | more than 6 years ago | (#20389605)

The author claims that manufacturers can ensure that while the Linux part respects the GPLv3 constraints, and can be modified by the user as required by the license, it is possible for the manufacturer to protect their own part that lives in another VM on the hypervisor, and thus is not a derivative from the GPL code.

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 skilled hobbyists to improve the product on the open-source side. The difference with the current situation (for example OpenMoko phones) is that the closed software can run on the same processor as the open software, without the need for an additional chip that increases the cost of the product.

Re:Bogus! (1)

glindsey (73730) | more than 6 years ago | (#20389635)

My interpretation of the article is that a device manufacturer could use a hypervisor to isolate the entire "trusted path" from Linux completely, by running the application responsible for decrypting video data and outputting it in a separate VM. This application could be totally closed-source. Linux, running in its own VM, could communicate to this locked-down, non-GPLed application via a shared memory region.

Whether this is in violation of the GPLv3, I don't know; I haven't read it. But it seems like a really devious way to sleaze one's way around the anti-Tivoization provisions.

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?

Re:Bogus! (1)

samkass (174571) | more than 6 years ago | (#20390031)

Whether this is in violation of the GPLv3, I don't know; I haven't read it.

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, since the GPLv3 *is* DRM. Or, if you're going to find some hair to split and come up with a reason why Stallman is allowed to tell people what to do with his software but Apple and Microsoft are not allowed to do the same with theirs, you're going to have to come up with a pretty craft definition of DRM.

Re:Bogus! (1)

QuoteMstr (55051) | more than 6 years ago | (#20390181)

The GPL is telling you, the user, what you can do with my software. DRM is telling you, the user, what you can do with your own data.

Re:Bogus! (1)

WilliamSChips (793741) | more than 6 years ago | (#20390281)

The definition of DRM is attempting to use software to provide the user a service while restricting that same service from the user.
GPLv3 does not fall under this definition because:
  • It is voluntary on the part of the software writer(or at least, exactly as voluntary as GPLv2)
  • It still has no restrictions on the user's part
  • It's a license, not a software program

Re:Bogus! (1)

larry bagina (561269) | more than 6 years ago | (#20390215)

My Linux computer has drivers for a network card, video display, the motherboard, IDE, etc. Is it a violation that I don't have the schematics for these cards? My video card has a powerful CPU and source code that I don't have access to. Is that a violation? And if the video card had a de-DRM chip (or software) to decode and display a raw DRM stream, is that a violation? Is it a violation if VMWare emulates a NIC and video card? Is it a violation if TiVo 3.0 has a video card that decodes and displays a DRM stream? Is it a violation if TiVo 3.0 uses a hypervisor and emulates a video card that decodes a DRM stream?

Re:Bogus! (1)

also-rr (980579) | more than 6 years ago | (#20390075)

Frankly, I'm not sure what the article is trying to state.

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. Except - now you can build the black box in software and run it on the same system as GPL 3 code with no (legal) conflicts.

This should certainly help satisfy the requirements of the pragmatist elements of the community that 'just want to build devices that work' while not *totally* dismissing the highly principled group who want to make sure the work they placed under the GPL doesn't go non-free.

Hear that, RMS? (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#20389367)

Hyper-pwned, you smelly hippie.

hmmm (1)

wizardforce (1005805) | more than 6 years ago | (#20389381)

I can't help but think this kind of tivoization will be horribly broken by the end of the year. there's likely a way that someone somewhere will figure out a way to wipe the whole mess and do away with this nonsense.

GPLv3 is like DRM in that respect. (1)

LWATCDR (28044) | more than 6 years ago | (#20389535)

You are trying to use the law to stop people from using technology. You make rules that say you can not make a hard to modify device that runs Linux like a Tivo. They make it hard to copy a DVD. Both groups will find a technical way around the problem. The sad thing is that GPLv3 treats "professional" systems differently than "consumer" systems! May both sides have fun trying to write around technology.

Re:GPLv3 is like DRM in that respect. (1)

WilliamSChips (793741) | more than 6 years ago | (#20390119)

No, the GPLv3 is trying to use the law to ensure people can use the technology they, the consumer, wants to.

Re:GPLv3 is like DRM in that respect. (1)

LWATCDR (28044) | more than 6 years ago | (#20390369)

Get past the religion of FOSS for a second. GPLv3 is telling a group of users aka the developers how they can use GPLv3 software. So some developers have found a loophole.
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 my Linux distro using that GCC and put it on my device.
Sure you can have the source to my OS but since I am not going to distribute GCC I don't have to give you my compiler or document my CPU.
If you are willing to reverse engineer my CPUs ISA then you could write your won GCC and then compile the GPL code I wrote.
But I don't even have to create my own hardware CPU I could create a VM with a JIT for the bitecode not GPL that and run it on a standard CPU.
Just like DRM it is war that can not be one with legal writing.

Can it really? (2, Interesting)

realdodgeman (1113225) | more than 6 years ago | (#20389433)

GPLv3 states that you have to be able to use modified versions of the code on consumer devices. How can you circumvent that? Even if it runs in a hypervisor, you are still violating the license.

Re:Can it really? (1)

keithpreston (865880) | more than 6 years ago | (#20389483)

Let's see, the hypervisor let's signed code do anything it wants, yet limits unsigned code to let say 1 meg of memory. I guess now you can recompile and run any code you want, it just won't work the same way that the signed code will.

Then the Installation Information is insufficient (1)

tepples (727027) | more than 6 years ago | (#20389891)

Let's see, the hypervisor let's signed code do anything it wants, yet limits unsigned code to let say 1 meg of memory. I guess now you can recompile and run any code you want, it just won't work the same way that the signed code will.
If the signed executable is larger than 1 meg, and any executable that can be derived from its source code and performs a comparable function is also larger than 1 meg, then the redistributor is not providing sufficient Installation Information.

Re:Then the Installation Information is insufficie (1)

keithpreston (865880) | more than 6 years ago | (#20390207)

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. This could be done, by say limiting the memory to unsigned code, or not allowing use of a floating point unit, or GPU.

Re:Then the Installation Information is insufficie (2, Informative)

tepples (727027) | more than 6 years ago | (#20390373)

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.

Re:Can it really? (2, Informative)

iburrell (537197) | more than 6 years ago | (#20390239)

The GPLv3 states that you have to be able to use modified versions of the GPLv3 code. It doesn't say that the proprietary code has to work with modified versions of the GPLv3 program. Think of a Tivo which has an open-source kernel, userspace, and proprietary video program. If the video program refuses to work with anything other than a Tivo-provided kernel, then you may be able to upgrade the kernel but it won't be a Tivo just a hackable DVR.

This can't be achieved when the kernel is running on the bare metal. Any trusted code in the kernel (which must have source code) can be hacked. But the hypervisor can be proprietary and provide trusted verification to the proprietary code. This is the Trusted Computing model. The GPLv3 requires that the GPLv3 code be able to work so there is no locking down the system to only run signed binaries. But it doesn't, and can't, require that other proprietary code work.

Backfire in responce. (4, Insightful)

jellomizer (103300) | more than 6 years ago | (#20389463)

the Anti-Tivoization clause is one the sore points in my book about the GPL 3. Because of the hippocraticy worded in it,
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. (5, Informative)

QuoteMstr (55051) | more than 6 years ago | (#20389539)

The goal of the GPL is to keep software free; the goal of BSD-style licenses is to ensure that high-quality software is used as widely as possible. They're conflicting goals, to an extent, though there's a big overlap.

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:Backfire in responce. (1)

JeremyGNJ (1102465) | more than 6 years ago | (#20389713)

Well put! I wish I could mod this up!

The fanboys forget that GPL is not end-all of software, and that it's really only practical in certain situations. Based on this type of circumvention, I think more and more developers will just go with other options.

Re:Backfire in responce. (2, Insightful)

Mr. Slippery (47854) | more than 6 years ago | (#20389967)

The fanboys forget that GPL is not end-all of software, and that it's really only practical in certain situations.

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:Backfire in responce. (1)

poopdeville (841677) | more than 6 years ago | (#20390355)

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.

Well, that's not exactly fair. If you're running a GPL kernel and a non-GPL application on your PC, you can set up a "rootkit" on the kernel to capture the non-GPL application's output, circumventing the manufacturer's DRM. This is why Tivo started using signed binaries. The hypervisor scheme makes this scheme impossible.

But I agree. Using a hypervisor in this fashion is clearly not a GPL violation, in letter or spirit.

Re:Backfire in responce. (0)

Anonymous Coward | more than 6 years ago | (#20389799)

"The goal of the GPL is to keep software free"

No idiot, the goal of the GPL is to spread the GPL. That is why the GPL is referred to as a viral license.

The only way anyone can claim locking your code into the GPL is 'freedom' is using logic straight out of Orwell's 1984.

Re:Backfire in responce. (1)

Rakishi (759894) | more than 6 years ago | (#20389975)

Yet if you sell your drm restricted product to a corporation or business there is no problem. You can restrict updatability as much has you want. Interesting definition of free you seem to have there. Free as long as one of our major supporters (IBM) isn't hurt by it, eh? Great moral based design you have there.

Re:Backfire in responce. (1)

QuoteMstr (55051) | more than 6 years ago | (#20390047)

I don't like that part of the GPLv3 either, but you should understand the other side of the argument: it makes it possible to create a certified device using GPLv3 software. Imagine a voting machine using GPLv3d software, for example.

Re:Backfire in responce. (1)

ivan256 (17499) | more than 6 years ago | (#20389983)

The more restrictions you put on the use of code the less free it is.

Period.

Re:Backfire in responce. (1)

WilliamSChips (793741) | more than 6 years ago | (#20390153)

GPL does not put restrictions on use of code. It puts restrictions on distribution of code, created to ensure the lack of restrictions on use of code.

Re:Backfire in responce. (0)

Anonymous Coward | more than 6 years ago | (#20390315)

Nonsense.

Restrictions are *always* necessary for freedom.

If there were no laws or social conventions nor restrictions on behaviour based on morality or ethics, you couldn't go anywhere without risking being killed (even accidentally by some reckless idiot). You'd either be always on the run or holed up in your room in order to survive.

If there were no restrictions on counterfeiting, money would be worthless and you'd have to either go back to bartering (thus reducing the number of people you can trade with) or rely on some common standard that can't easily be counterfeited (i.e. nature provides the restriction).

If your body were not restricted by your bones, you'd be a blob unable move (extremely restricted).

Without strict restrictions on diet and allowing yourself to slack off, you lose the freedom and social envy that having the strength a body builder does.

Show me any freedom, and I'll show you some (sometimes severe) restrictions behind them.

Re:Backfire in responce. (1, Insightful)

Anonymous Coward | more than 6 years ago | (#20389579)

hippocraticy? If big words give you problems, use a dictionary to learn how to spell hypocrisy. I mean, you're barely in the ball-park, the first and last letters match, and there's a "p" in the middle somewhere.

Re:Backfire in responce. (5, Funny)

morgan_greywolf (835522) | more than 6 years ago | (#20389735)

hippocraticy? If big words give you problems, use a dictionary to learn how to spell hypocrisy. I mean, you're barely in the ball-park, the first and last letters match, and there's a "p" in the middle somewhere.
No, no. I think he really meant hippocraticy -- a government for, of and by the hippos.

Re:Backfire in responce. (0)

Anonymous Coward | more than 6 years ago | (#20390017)

Hippos is the Greek for horse; potamos the one for river. Hence we have hippopotamus or "river horse." Hippocraticy then is closer to a government by horses, but still kind of off from that.

Re:Backfire in responce. (0)

Anonymous Coward | more than 6 years ago | (#20389747)

The GP is correct with hippocraticy. Hippocraticy refers to the doctor's oath, but in this case means to do no harm to computer hardware.

Re:Backfire in responce. (1)

tepples (727027) | more than 6 years ago | (#20389937)

hippocraticy? If big words give you problems, use a dictionary to learn how to spell hypocrisy.
Hippocracy and hypocrisy are two different things. Hippocracy is the government of the Houyhnhnms [wikipedia.org]; hypocrisy is the government of the Yahoos.

Re:Backfire in responce. (1)

vux984 (928602) | more than 6 years ago | (#20389935)

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 to those you redistribute it to. Or don't redistribute it.

TiVo has always had, and still has the choice of switching to Windows, or BSD, or something else entirely if they want to lock the code up and bind it to specific hardware so only their version will run on their hardware.

So if you make FreeSoftware to strict on its use people won't use it.

The FSF is happy with people who want proprietary code to use their own propreitary code. They just don't want THEIR GPL code turned into someone elses proprietary code.

Academically Free as in speech software sounds like a good plan

It is a good plan.

but real life realizes there is information that you want to keep private.

Good point, but completely irrelevant. If you don't want to share your code, you don't have to. Just don't incorporate GPL code into your product and you won't have to.

The people that contributed that code intended for it to *remain free*. If you can't abide by that don't use THEIR code.

Re:Backfire in responce. (1)

DVega (211997) | more than 6 years ago | (#20390003)

Take the TiVo, what GPLv3 wanted to do was force TiVo to release their DRM so the community has access to their product.
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.

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.
Fine with me. Can you tell me which are the contributions that Tivo have shared with the free-software world? I'm not aware of any relevant one. What I see is that Tivo used years of other peoples work for free and gave nothing in return. Free software inside a machine you cannot touch or modify is not free anymore.

Re:Backfire in responce. (0)

Anonymous Coward | more than 6 years ago | (#20390277)

...hippocraticy...

hehehahaAHAHAHAHAHAhahaHAhAhAhAhhAHHAHAh ...

HAHAHAhAHAHAhAHAh LOL LOL LOLLERSKATES!!11one!!!eleventy1!!!

the Anti-Tivoization clause is one the sore points in my book about the GPL 3

It's a good thing your book is metaphorical. I'd probably die of a heart attack if I read it.

No, they can't. (3, Informative)

strredwolf (532) | more than 6 years ago | (#20389467)

Simply put, if any part of the firmware is GPL 3'ed, even if it's running under a VM, it still requires the ability to replace it by the user w/o authorization from the factory. If I remember the license and discussion about it, it's "if it's in there, it's there for all."

Re:No, they can't. (1)

everphilski (877346) | more than 6 years ago | (#20390055)

Sure, go ahead and swap out whats in the VM. The VM is just handling the boring bits. The proprietary shit is behind the hypervisor.

Don't you love it when (1, Interesting)

Rosco P. Coltrane (209368) | more than 6 years ago | (#20389531)

Legalese dictates engineering choices?

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:Don't you love it when (2, Insightful)

JeremyGNJ (1102465) | more than 6 years ago | (#20389563)

Yes. When people use legalese to try to lock down software into "freedom" (GPL 3), then people use legalese to get around it.

Re:Don't you love it when (1)

jellomizer (103300) | more than 6 years ago | (#20389733)

Clap! Clap! Well put. For most people we liked Open Source because we didn't need to reinvent the wheel just tweek what was working and just as long as we gave the code back to the community and let the community to do the same with your code is one thing. But it is a game where we cant use Open Source any more because there are to many restrictions to prevent "Evil" Use so unless you think like exactly like RMS and has his exact values of good and evil, Open Source is too restrictive... Conversely Microsoft and closed source you can't fully use because there are to many restriction to prevent "Inconvenient" use such as making the wrong modification that step on Microsoft and make them look bad. So either we find ways around the licenses to get our work done or we reinvent the wheel over and over again.

Re:Don't you love it when (1)

QuoteMstr (55051) | more than 6 years ago | (#20389889)

What are you talking about? If you don't like the GPLv3's restrictions, use the GPLv2 for your code. Or the BSD license.

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:Don't you love it when (1)

fsmunoz (267297) | more than 6 years ago | (#20390195)

You are describing your own interpretation of "Open Source" and attacking the FSF because apparently the GPLv3 doesn't conform to it.

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 that way there are many licenses out there that would surely be adequate for your needs. The GPL has *always* been more about a specific social goal than the promotion of a development methodology. That was clear from the onset, and made cleared with the GPLv2 and the anti-patent clauses it added. They too put further restrictions on the license as a way to achieve the desired goal.

Tivoization (n) (3, Informative)

the_skywise (189793) | more than 6 years ago | (#20389553)

To help slashdotters not have to RTFA!
(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:Tivoization (n) (2, Informative)

Todd Knarr (15451) | more than 6 years ago | (#20389999)

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's issue is that they want the right to change GPL'd software themselves but not permit the people they distribute it to to do what TiVo does.

The more you tighten your grip, RMS, (0, Troll)

everphilski (877346) | more than 6 years ago | (#20389569)

the more things slip through your fingers.

Re:The more you tighten your grip, RMS, (1)

DaleGlass (1068434) | more than 6 years ago | (#20389981)

The GPL3 is perfectly in effect under this scheme.

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 developed it fully independently and it's not linked to the GPL3ed binaries.

Re:The more you tighten your grip, RMS, (1)

everphilski (877346) | more than 6 years ago | (#20390103)

So, please, tell me, why did we go through the development of GPLv3 then? I thought this was one of the major tenents of GPLv3?

Re:The more you tighten your grip, RMS, (1)

DaleGlass (1068434) | more than 6 years ago | (#20390141)

I don't understand what do you mean. Please explain.

Re:The more you tighten your grip, RMS, (1)

everphilski (877346) | more than 6 years ago | (#20390323)

one of the major bullet points of GPLv3 was anti-tivoization. What else is left? just the patent protection loophole? How long till that's broke?

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:The more you tighten your grip, RMS, (1)

fsmunoz (267297) | more than 6 years ago | (#20390013)

Well, if any slippage occurs (which in this case I doubt) there is always GPLv4 to deal with it. People that like to attribute everything to RMS apparently forget that the spirit of the GPL is attractive to a large number of developers, the FSF is made and supported by a large number of people and that just because one disagrees with something doesn't mean that it is a one-man conspirancy devoided of any actual support.

Re:The more you tighten your grip, RMS, (1)

WilliamSChips (793741) | more than 6 years ago | (#20390187)

Have you actually read the new GPL, or are you just basing your predictions off of what Linus("I don't care about where the missiles go down", said Von Braun) and Microsoft are saying?

It's a simple legal matter (1)

iamacat (583406) | more than 6 years ago | (#20389593)

Either Tivo is considered a derivative work of Linux or it's not. In the former case, the company is required to release the source code to both hypervisor and Windows CE or else cease shipping the device. In the later case, Linux developers have no business telling Tivo what to do with their own hardware and software. Neither should Microsoft have any legal say in people running Vista basic in a VM.

isn't this obvious? (1)

n dot l (1099033) | more than 6 years ago | (#20389607)

Did I miss something in the article, because all I read is "GPLv3 code can exist in the same universe as non-GPLv3 code provided there are clear boundaries." Which just begs one to add "In other news, some still consider water to be wet."

Seriously though, as far as I understand the article's intent it simply proposes using a hypervisor to isolate closed/locked code from GPLv3, providing the same type of boundary dynamic linking gives between (possibly closed/locked) OS libraries and any GPL application - except at a lower level.

Going the other way... (2, Interesting)

JeremyGNJ (1102465) | more than 6 years ago | (#20389611)

Seems like the whole GPL 3 thing is "going the other way" if you step back and look at it.

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.

What would RMS say? (-1, Troll)

Anonymous Coward | more than 6 years ago | (#20389845)

MY OH MY how what's "OK" and what's not "OK" in Opne Source change when it's one of the Crown Jewels! Just so very funny how thr rabid types are now examining their finger nails while say "Oh, it's not really that much of a proble, it's only a weak patent clause... Well, guys, it is a patent, and it is not GPL... Wonder what RMS has to say about this (if he can stop picking the fleas out of his beard for a few moments)!

Re:Going the other way... (2, Insightful)

Anonymous Coward | more than 6 years ago | (#20389993)

Everyone seems to forget just exactly what the GPL is, and what a License is. It is a restriction that the PROGRAMMER decided to put on the product, not RMS. All RMS does is write the license, there are hundreds of licenses out there. It just happens that programmers liked the GPL because the like the idea that someone else wouldn't make money off of their work. Later on corporations latched onto the same idea. By rolling out a GPL and a closed source version of code they could essentially acheive the equivelent of a very loose non-compete clause. People could learn from their code, and people could repair their code, but any improvements they madethe corporation could gain from, and use it to imnprove the solution that they sold to people who needed it unencumbered by those restrictions. It's perfect, they give us code, and in exchange we give them improvements, but their competitors can't gain from it.

The key is that people use a license because they like the restrictions, or the lack thereof. Companies love the BSD license when we write code in it, but they don't want to release it that way because their competitors can use it too. Companies love to release GPL'd code because the limitations are sufficient to keep down competition, but still make us happy and allow us to fix their crappy software. It's a good deal for all really. The GPLv3 is just a new version of that, it's a few more restrictions. Any programmer could have written that license, the GPLv3 just codofied it into one fairly solid legal document so that we don't have to each screw it up seperately. Think of the open source licenses as libraries, you could do it yourself if you don't like them, but it's generally easier to pick one that matches fairly well with your goals and run with it. That way there are less likely to be bugs. If someone writes a crappy library I don't use it in my code, and that's that. No reason to hate that programmer for all eternity, or have big flamewars over the code, just inform other programmers of what you feel the defficiencies are, hope that they can make an intelligent decision, and let it be.

So, if you want to keep people from making money on your code without having to release their improvements, license GPLv3. If you want to encourage more people to use the code, including a few edge cases where they might make money on it without releasing it, use GPLv2. If you want everyone to be able to use it and you just don't want someone else to claim that they wrote it use BSD. If you really just want it used and don't care at all, release it into the free domain without any license attached. It's your call, do what you want. I want my code to be used, but I also want it to CONTINUE being used. Code is a living thing which changes over time and needs to be modified, otherwise it will die. I feel that to keep my code alive and in use it's important that changes make it back to the public, thus I would choose a GPL license over a BSD license for most software. The important thing here though is that licensing my code this way is my choice. RMS didn't make me do it. Stop blamming the wrong people. If your mad about licensing, be mad at the people who chose the license, not the ones who wrote it.

I'm not intending to flame the parent. It's just a context to bring up this point. More licenses are just more choices, the essense of freedom is choice. Don't complain about having more of it.

Re:Going the other way... (1)

fsmunoz (267297) | more than 6 years ago | (#20390247)

Good post. Your characterization of the different value of the GPL and BSD license's for companies matches mine exactely: BSD great to take code from, GPL great to release closed source software to the public.

The rest of the post is also to the point. It's a shme moderators seem to have something against modding AC's.

Re:Going the other way... (1)

DaleGlass (1068434) | more than 6 years ago | (#20390107)

Seems like the whole GPL 3 thing is "going the other way" if you step back and look at it.


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"

VM hype (1)

QuoteMstr (55051) | more than 6 years ago | (#20389691)

Running a GPLv3d executable under a modified BSD kernel that prevented that GPLv3ed program from violating its constraints would be the moral equivalent of what this company is suggesting, but without all the virtual machine crap. I'll let other posters deal with that issue (though I suspect that what they're doing doesn't really violate the letter or spirit of the GPL.)

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 enough is enough, and that we can do nearly everything we need with what we've had forever?

Not a defeat, a different way of doing things (4, Insightful)

romiz (757548) | more than 6 years ago | (#20389841)

The resulting product is fundamentally different from a TiVo.

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? (1)

Nom du Keyboard (633989) | more than 6 years ago | (#20389843)

Why are we doing this? Why are we trying to break GPL3, when it's the type of license that benefits the user the most of all?

Re:Why are we Doing This? (2, Insightful)

fotbr (855184) | more than 6 years ago | (#20389911)

Because "good for the user" isn't always the same as "good for the company".

Surprise, surprise, companies are in business to make money.

Sounds like SELinux (1)

Kjella (173770) | more than 6 years ago | (#20389859)

This sounds like SELinux or AppArmor, you get to modify the code but if the security context is the same, you can't access any more. Maybe a bit more fancy than that since virtualization will allow you to share devices without sharing content. In short, you have a hypervisor that can run two VMs, e.g. one Linux and one Palladium/TC/TXT DRM-up-your-ass Blu-Ray/HD-DVD player and yet they live in separate world. This may actually be the easiest way to get HD content playing on your Linux machine, but technically not under Linux.

Why would Tivo be interested in this? (1)

Bill_the_Engineer (772575) | more than 6 years ago | (#20389977)

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 designer wouldn't have to bump up to a larger CPU model to accommodate running two virtual machines.

It would be more secure since the secret code would reside wholly within the auxiliary CPU and the main CPU running the GPL code would only pass messages (eg. Function calls) via a defined protocol.

It would be a more modular approach that allows different product designs to share the same auxilary CPU.

It would be GPL3 friendly, while keeping content providers happy.

Just wondering...

A pretty obvious workaround (1)

DrXym (126579) | more than 6 years ago | (#20390039)

I thought virtualization was an pretty obvious [slashdot.org] workaround to the GPL3. To be honest they should have put language into the licence to prevent using virtualization to circumvent the DRM clauses

Re:A pretty obvious workaround (2, Insightful)

QuoteMstr (55051) | more than 6 years ago | (#20390121)

You can't do that. Where would you draw the line?

"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.

Wouldn't work (0)

Anonymous Coward | more than 6 years ago | (#20390143)

This wouldn't work. If we use Linux to pass off data to another OS (i.e. Windows) for processing, whether that OS is virtualized or on a remote computer in another country, if the whole process as a whole is necessary to perform the task the system was designed to perform, then the secondary OS (Windows in this case) becomes a derivative work and is such already prevented by GPLv2. This is precisely why MPlayer does not bundle win32 codecs with its player. Mplayer does precisely what this whitepaper describes: virtualizes windows api, passes off encoded video to the proprietary Windows codec to play video for Linux.

Re:Wouldn't work (1)

QuoteMstr (55051) | more than 6 years ago | (#20390263)

Bullshit. Say I wrote an IDE that integrates with gcc, and gcc only, that generates command line options for gcc and parses its output, that front end is not a derivative work of gcc. It incorporates no code, only an interface.

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 program would be a derivative work of every other one.

hack the hack... (1)

prxp (1023979) | more than 6 years ago | (#20390289)

Copylet being torn apart by Tivolization and hypervisors... hmmm.... That only shows the many ways to hack the hacker's copyright hack! Everything can be hacked!

You could also poke a sharp stick in your eye.. (1)

xednieht (1117791) | more than 6 years ago | (#20390379)

but that doesn't necessarily mean that it's a good idea.

...could allow companies to build Linux-based devices...


Only addresses the technical challenge, whereas marketing a product like that is a whole other ballgame. Take the Apple/AT&T stupidity as a prime example.

Let's see... Apple comes out with a "closed" product and grants exclusivity to AT&T. How long did it take for Adam Smith and free-market economics to demonstrate how poorly their strategy is... less than 2 months.

The iClone already looms in China which is a much larger cellular market, a teenager successfully hacks not 1 but 2 iPhones, and there are at least 2 companies that have already publicized software to liberate iPhones from the Death Star (that was the old-skool name for AT&T's logo).

Back to the topic at hand. Going with a closed strategy makes it easy to market a competing platform that is more open. OpenSource and open platforms are good for business and for markets because promote innovation, among other things.

I take no issue with their choice in direction as it creates more opportunities for open plaforms.

Circumventing? (4, Insightful)

11223 (201561) | more than 6 years ago | (#20390381)

I may be confused, but isn't this actually a way of complying with the GPL3? Using a hypervisor allows users to upgrade the kernel of their device without running into the (theoretical) security problems that companies who lock down their devices are afraid of.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...