Two kinds of vm. java calls the underlying os. VMWare emulates hardware, that is, the emulated os stores a value somewhere, VMWare recognizes thats a hardware-register and what to do. That is a much harder and slower way. And its done quite often, more or less for each vertex each frame. While java makes one os-call with a prepared data-structure, and that triggers a lot stores to those hardware-registers at native speed.
You: "Just what it says - it does not say that you must provide the necessary information to execute, install, or compile a modified work"
GPL: "plus the scripts used to control compilation and installation of the executable" Me: Question is does a key count as part of those scripts. I think so. But IANAL.
You: "An interesting side question is if you release a GPL 3 version of previous GPL v2 code are you restricting the rights of subsequent users since it now includes more restrictive DRM requirements"/.: Not a question, of course you can't. Thats why some use "GPL2 or any later", then you can use whatever FSF calls GPL. If that is missing, only GPL2 is valid, or agreement of all the authors. (Learned on/. , again IANAL).
"And they have - you can modify it and redistribute as you see fit"
i don't think so.
"The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means..."
What do you think "an executable work" means?
BTW legends says RMS wanted to fix a printer and was not able to do it, because not able to reprogram that thing. Which is one reason for the GPL. I doubt he would put out a license which would say "have fun typing a bit in the source" when his original reason was to fix *that* printer. (Sure lawyers may have messed it up, don't know, IANAL)
AFAIK there is such a thing as derivation. If i write a story and you write a continuation, its still an infringement because your story would not work without mine. In case of this hardware the hardware would not work without this software, so IMO its a derived work. (IANAL)
Maybe. Thats what GPL3 is about. Forbidding to run by DRM is new. If the GPL-authors would have anticipated it, it would be in GPL2 already.
http://www.gnu.org/copyleft/gpl.html "For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have."
I think that says the intention clear enough. You have the right to make the code runnable, the recipients must be able to do that too.
It defines sourcecode as "The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."
I think that is clear enough, even in legal speak. You have to supply anything to build a working program. Understanding "modifications" in any other way makes no sense. Except, maybe, if you are a lawyer. The only problem is they missed "DRM-keys" because they did not exists then. Which gives Tivo a nice gray area.
In which case Tivo must give us a way to modify our copies in-memory, because its ours and "2. You may modify your copy or copies of the Program or any portion of it":)
In case your english is even bader than mine i try to reword: Can you fix your broken tivo? The hardware-part yes. The software-part not. Of course that means "on this tivo", not on something else.
Got it. IMHO not the software-developer, but the hardware-seller is at fault. The hardware is hardwired to your software. So in a way its "linked". Running this software is not only possible, but is enforced. So it must provide a way to run modified software, or has no license.
In that case they do not distribute all files needed to build this stuff, eg they don't distribute gcc. Basically the same situation as with a DRM-key: they hold something back which is required, thats a breach of the license. At least of its spirit. IANAL, so don't know how well the GPL-lawyers found the right words.
I imagine those infinite apes running in circles and shouting "patch! patch! patch!". Seems you would count that as doing *a lot* to improve security, even if the result is not improved at all?
I guess not, a ROM is a technical solution. By default it does not imply that you want to protect the code from modification, only that you want to protect it from vapourisation on powerout. And since the code is GPL, that would imply you are ok with changes. IANAL of course.
But now i am curious, if tivo uses GPL-code, they are technically ok to modifications. So if i remove the DRM, i am not removing a protection, because there is nothing to protect? Just thinking loud..:)
Can you fix broken tivo-hardware? Yes. Can you fix broken tivo-software? No. Thats one purpose of the GPL. Thats what the freedom to run the code is about.
BTW the argument about running it on something else is related. Imagine you buy something and when it breaks the dealer says: Well buy another one, which you can repair.
"I, the software vendor, am complying with the GPL3. Correct me if you disagree at this point."
I disagree;) You stop users from changing the code, which is the whole purpose of the GPL. You do that intentionally, not out of technical need. So you remove the freedom to run any code. So you have no license to run GPL-code. IMHO, IANAL etc.
Did read wrong. Sure the company should not be responsible for other peoples changes.
But that is taken care of: The key needs only be released to the owner to the device, not to everyone. So give each device a unique key, sign the software specifically for it, and this random guy cant change it.
"No, this is totally wrong.... GPL3 should NOT be able to force this situation."
Sure it should. If i gpl code, i want my users to play with the code (and fix my bugs:) . If they don't do that, sad. If they can't do that, use someone elses code.
Thats what GPL2 wants, lost by DRM, and GLP3 re-enfoces.
As enduser i can take a windows-program and run it everywhere. In Linux i need a platform-specific build.
Thinking i am a user: that means distro-supported programs are simple to install, but other stuff is prohibited. "make install", some path wrong, fails. I have no idea where it wrote in all this system-locations. All the root-owned areas i know nothing about, and better dont touch.
Thinking i am a shrinkwrap-developer: that means, i better make packages for each distro, and get that in the official repositories. Which means a lot more expertise than just clicking "compile". At least it looks like that when starting. Some days learning for somebody. And even different defaultfonts can break an app. And the social issues of getting it in the official repo.
What to do about it? - Use some vm, like java or wine, which already encapsulate the differences. - Let "closed source" apps be supported by the distro-communities and let them do the compiling. Would need some kind of job-market, where a developer could quickly find assistance. Still effort, but fixing a makefile is much faster for a distro-insider.
"There will be a way to sign your own code against this DRM."
Today with the web, for a good certificate you have to pay a money. Else your webpage lacks some functionality. Now getting a good certificate for software is a lot more work, all this testing at $os-vendor.. $bigcorp can pay, $me can not.
Two kinds of vm. java calls the underlying os.
VMWare emulates hardware, that is, the emulated os stores a value somewhere, VMWare recognizes thats a hardware-register and what to do. That is a much harder and slower way. And its done quite often, more or less for each vertex each frame. While java makes one os-call with a prepared data-structure, and that triggers a lot stores to those hardware-registers at native speed.
You: "Just what it says - it does not say that you must provide the necessary information to execute, install, or compile a modified work"
/.: Not a question, of course you can't. Thats why some use "GPL2 or any later", then you can use whatever FSF calls GPL. If that is missing, only GPL2 is valid, or agreement of all the authors. (Learned on /. , again IANAL).
GPL: "plus the scripts used to control compilation and installation of the executable"
Me: Question is does a key count as part of those scripts. I think so. But IANAL.
You: "An interesting side question is if you release a GPL 3 version of previous GPL v2 code are you restricting the rights of subsequent users since it now includes more restrictive DRM requirements"
"And they have - you can modify it and redistribute as you see fit"
..."
i don't think so.
"The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means
What do you think "an executable work" means?
BTW legends says RMS wanted to fix a printer and was not able to do it, because not able to reprogram that thing. Which is one reason for the GPL. I doubt he would put out a license which would say "have fun typing a bit in the source" when his original reason was to fix *that* printer. (Sure lawyers may have messed it up, don't know, IANAL)
AFAIK there is such a thing as derivation. If i write a story and you write a continuation, its still an infringement because your story would not work without mine.
In case of this hardware the hardware would not work without this software, so IMO its a derived work.
(IANAL)
Maybe. Thats what GPL3 is about. Forbidding to run by DRM is new. If the GPL-authors would have anticipated it, it would be in GPL2 already.
:)
http://www.gnu.org/copyleft/gpl.html
"For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have."
I think that says the intention clear enough. You have the right to make the code runnable, the recipients must be able to do that too.
It defines sourcecode as
"The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."
I think that is clear enough, even in legal speak. You have to supply anything to build a working program. Understanding "modifications" in any other way makes no sense. Except, maybe, if you are a lawyer.
The only problem is they missed "DRM-keys" because they did not exists then. Which gives Tivo a nice gray area.
In which case Tivo must give us a way to modify our copies in-memory, because its ours and
"2. You may modify your copy or copies of the Program or any portion of it"
IANAL.
What are you smoking?
In case your english is even bader than mine i try to reword:
Can you fix your broken tivo?
The hardware-part yes.
The software-part not.
Of course that means "on this tivo", not on something else.
Cheating for a free license-lunch you are, no?
Got it. IMHO not the software-developer, but the hardware-seller is at fault. The hardware is hardwired to your software. So in a way its "linked". Running this software is not only possible, but is enforced. So it must provide a way to run modified software, or has no license.
(IANAL)
In that case they do not distribute all files needed to build this stuff, eg they don't distribute gcc.
Basically the same situation as with a DRM-key: they hold something back which is required, thats a breach of the license. At least of its spirit. IANAL, so don't know how well the GPL-lawyers found the right words.
I imagine those infinite apes running in circles and shouting "patch! patch! patch!". Seems you would count that as doing *a lot* to improve security, even if the result is not improved at all?
Your brother can't? Is that typical for your family? :)
I guess not, a ROM is a technical solution. By default it does not imply that you want to protect the code from modification, only that you want to protect it from vapourisation on powerout. And since the code is GPL, that would imply you are ok with changes. IANAL of course.
:)
But now i am curious, if tivo uses GPL-code, they are technically ok to modifications. So if i remove the DRM, i am not removing a protection, because there is nothing to protect? Just thinking loud..
Can you fix broken tivo-hardware? Yes.
Can you fix broken tivo-software? No.
Thats one purpose of the GPL.
Thats what the freedom to run the code is about.
BTW the argument about running it on something else is related.
Imagine you buy something and when it breaks the dealer says: Well buy another one, which you can repair.
"I, the software vendor, am complying with the GPL3. Correct me if you disagree at this point."
;)
I disagree
You stop users from changing the code, which is the whole purpose of the GPL.
You do that intentionally, not out of technical need.
So you remove the freedom to run any code.
So you have no license to run GPL-code.
IMHO, IANAL etc.
"There is no linking here. Company A sells hardware, Company B sells software. Separately."
Same for dlls. If required, derived. In your example the software is required, the hardware broken without it. So derived.
Removing the DRM could be illegal, exchanging a ROM not.
"TIVO has met it its obligation to provide a product that work as advertised"
That product has to advertise "GPL, this are your freedoms". So it does not work as it (should) advertise.
"Damaged by design" is fobidden by the GPL. Its the manufactures problem if it is silly enough to run it in this case.
"If I bought a PPC Mac would the fact that it won't boot Windows be violating my rights as an owner?"
A ported one? When the contract says you can run any software? Yes, of course.
"Isint this a form of DRM through license?"
:)
In the way copyleft is a form of copyright
Did read wrong. Sure the company should not be responsible for other peoples changes.
But that is taken care of: The key needs only be released to the owner to the device, not to everyone. So give each device a unique key, sign the software specifically for it, and this random guy cant change it.
"No, this is totally wrong.... GPL3 should NOT be able to force this situation."
:) . If they don't do that, sad. If they can't do that, use someone elses code.
Sure it should. If i gpl code, i want my users to play with the code (and fix my bugs
Thats what GPL2 wants, lost by DRM, and GLP3 re-enfoces.
If the hardware works *only* with that gpl-code, its derived work in a way? Basically "linked" to it.
As enduser i can take a windows-program and run it everywhere. In Linux i need a platform-specific build.
Thinking i am a user: that means distro-supported programs are simple to install, but other stuff is prohibited. "make install", some path wrong, fails. I have no idea where it wrote in all this system-locations. All the root-owned areas i know nothing about, and better dont touch.
Thinking i am a shrinkwrap-developer: that means, i better make packages for each distro, and get that in the official repositories. Which means a lot more expertise than just clicking "compile". At least it looks like that when starting. Some days learning for somebody. And even different defaultfonts can break an app. And the social issues of getting it in the official repo.
What to do about it?
- Use some vm, like java or wine, which already encapsulate the differences.
- Let "closed source" apps be supported by the distro-communities and let them do the compiling. Would need some kind of job-market, where a developer could quickly find assistance. Still effort, but fixing a makefile is much faster for a distro-insider.
By looking at mainstream-shops. The shops and prices where our users buy hardware.
"There will be a way to sign your own code against this DRM."
Today with the web, for a good certificate you have to pay a money.
Else your webpage lacks some functionality.
Now getting a good certificate for software is a lot more work, all this testing at $os-vendor..
$bigcorp can pay, $me can not.