Ah, yes, but if you prevent the home user from running as root.. it becomes significantly more difficult to get the trojan installed in areas where it could do real damage.. for now...
Damage to what, the OS, the network, or the user?
Damage to the OS is easy to fix, just reinstall.
Damage to the network only requires the ability to start outgoing connections. No root access needed.
Damage to the user can also be done without root access.
You forget how RMS began the concept of Free Software: He had a printer not doing what he wanted it to do, and wanted to change that, but was refused the source code of the drivers upon request. Then he came up with the "four freedoms". If he got the source code, but the printer refused to run it when modified, it would be _efectively_ useless (or do you really think Stallman would considered it free, because when not on his printer, he could at least run it on his toaster?), as it is the case with TiVo. The only ones who can make use of it as of yet are developers able to port it to another architecture, or competing hardware manufactuers adapting it to their own hardware.
Trouble is, that's a free systems issue, not a free software issue. The two could be conflated to some degree back then, but that doesn't work so well now that we have DRM and signed code. What RMS wanted was a free system, that would let him fix the broken parts. What is asked for was free software, because at the time there wasn't much difference.
The GPL is a software license, but the latest version tries to apply itself to systems. This is an error, because in order for a component to dictate features of the rest of the system that component must necessarily not be free.
Tivoization is when a manufacturer sells free software but doesn't let you change it on the machine you bought to use it on. Whether this is a problem is a matter of debate (Torvalds says no, Stallman says yes), but GPLv3 forbids it on consumer devices. I'm not sure if anybody had thought of it when GPLv2 was written.
Actually, that restriction only applies if "the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred". Which is interesting, because it means that wile eg Tivo can't sell their boxes with GPLv3 firmware on them, they could perfectly well sell them with a bare-bones firmware and require a (automatic, of course) firmware update (to a version that does include GPLv3 stuff) before everything works fully. That section of the license seems stranger every time I read it...
Software patents are fairly new, and GPLv2 proved inadequate at protecting against them. GPLv3 was designed to protect against what abuses the FSF and correspondents could think of, although the fact that some of the patent language is quite specific doesn't give me confidence that GPLv3 is well future-proofed.
Yeah. I like the idea of that section, but the way they go about it makes me think of "enumerating badness".
Overall, I like GPLv3 better than GPLv2, although I can understand people who disagree (particularly on the Tivoization issue). It is better suited to today's more complicated software laws and practices, while remaining true to the same general principles. (Be careful about complaints about GPLv3, since many of them apply equally to GPLv2. There are people who don't like copyleft licenses, and many of them seem determined to trot out their old complaints against GPLv3 like they were something new.)
I'm one of those people, because I think that the Tivoization part is so poorly thought out that the goals of that section cannot be reconciled to those general principles (really, it's a fundamentally wrong direction to attack that problem from. The right direction is probably projects like OpenMoko). If it didn't have that section, I'd probably consider it a net gain (even with the mess they made of the patent section).
Say I modify a piece of software and sell the modified version along with a source CD. This is permitted under any open/free license.
Now say I design some locked-down hardware, which will only run binaries signed by me (which include my version of the above software, of course), and now advertise that exact same software as being something to run on that hardware. Nothing about the software has changed, and yet GPLv3 prohibits this.
...but only in the case that the software is being distributed *with* the hardware. So I'm not allowed to bundle it, but can still distribute it separately.
Erm, yes, C++ has local classes, however there is a "BUT" and it's a big one:
Local classes / structs do not have external linkage and therefore can't be used as template arguments. So, for functors etc., which is precisely where you'd want something like a local class (ie. because you really want a closure), they are useless.
Do you know why that restriction is there? I hadn't been aware that this was possible before now, probably entirely because that restriction makes them mostly useless.
(And yes, that restriction seems bizzare enough that I went and found someplace that quotes the standard to verify it.)
Moore's law is about transistors per area and cost per transistor. Cheap laptops have nothing to do with that.
But for the question that was *meant*, rather than what was asked... still no. There are some applications that can use basically unlimited computing power (and now, unlimited computing power with minimal electrical power), and everyone else benefits from developments geared towards those areas.
The problem is that in the latter case that you have removed the freedom of your end-users to exercise freedom 1 (the freedom to study how the program works, and adapt it to their needs).
How? It's the exact same software as the first case. It still runs just as well on standard hardware. They still have full source. So where is the loss of freedom?
So a slavemaster isn't free because the U.S. Constitution prevents him from enslaving people?
That's a "what" issue, not a "why" issue.
Extreme analogy, but I think I needed to hit you over the head with a large clue stick to make you realize that the "free" in "free software" is not a one-way freedom. It forces parties to be unselfish, in a mutually-beneficial way.
Which version of "free" are you talking about here, and what about the other half of freedom (DFSG 1,3,6,9)? You seem to be focusing on only half of the equation yourself.
This is why the GPL is brilliant, and this is why you hate it so much-- it pains you that a "zealot" like RMS came up with such an ingenius idea. Get over it, or just release all you shit to the public domain.
That's a load of crap, and I suspect that you know it.
I like GPLv2. It's a good, Free license. GPLv3 sucks, because it way oversteps its bounds.
Of course it isn't, but that doesn't change my point.
Sure, I'm technically releasing the source code, but no one can do anything with it.
Yeah, releasing it in a manner which does not satisfy the GPLv2 requirements. Which makes the "may as well be under BSD" claim meaningless - if you're going to violate the license, then of course the license doesn't matter.
Your assertion that GPLv3 no longer allows for using the software for "any purpose" is very specious because you define "any purpose" as one which contravenes the license. Hell, you can't even use BSD-licensed software for "any purpose" if your purpose is to remove the copyright notices and/or use the authors of the program to endorse your fork. If that is your logic, then the GPLv2 also did not allow for "any purpose" since you can't use the code in a proprietary program. Indeed, only software in the public domain would meet your definition of "any purpose".
Say I modify a piece of software and sell the modified version along with a source CD. This is permitted under any open/free license.
Now say I design some locked-down hardware, which will only run binaries signed by me (which include my version of the above software, of course), and now advertise that exact same software as being something to run on that hardware. Nothing about the software has changed, and yet GPLv3 prohibits this.
I am still distributing the exact same software in the exact same way, but GPLv3 says I can't do this because the purpose has changed.
The rules are based on why I do things, rather than what I do. That can't be considered free.
I take it, modify it, and redistribute it but I put the source code in a secretly devised file format that no one but me can read, encrypt it, or in any way obfuscate it. Sure, I'm technically releasing the source code, but no one can do anything with it. Your software might as well have been released under a BSD-style license.
If you do that, is it really still "the preferred form of the work for making modifications to it"?
Since when has medical devices been considered a "consumer product"!?
Not all medical devices are limited to the hospital or doctor's office. Although it's kinda scary to think of how a firmware update would be applied to a pacemaker (assuming they're even complicated enough to *have* firmware)...
The GPLv2 already does this! It says, "you can use this how you want, except several things, one of which is modifying -> compiling -> distributing it without the modified source."
Please elaborate upon how "you must make source available" is the same as "you may not distribute this with devices with property X".
So, if you want "You are free to use this however you want, including locking up my code behind your patents and DMCA-lockdowns so that I never see my code again", there's always the BSD license and its thousand variants. Nobody's forcing you to use the GPL for your code, or GPL code for your project...
The new restrictions in GPLv3 have nothing to do with preventing "I never see my code again". That's already covered by GPLv2 requiring that source be made available. They have to do with demanding that specific hardware accept modified versions of the software.
You are totally, completely free to _use_ a GPLv3 program for whatever you want, and you're even guaranteed to be able to do that on the device it came on, if any. Of course, if you want to distribute the program yourself, you have to give receivers all the same rights.
That doesn't sound like "you are free to use this however you want, except for things we disagree with" at all, to me.
Even considering that the entire point of those restrictions was to tell Tivo "you may not use this software for that purpose"? Many ways to use software (almost anything including the word "firmware", for example) necessarily involve redistributing it.
(Also of interest is that the FSF's own "Free Software Definition" demands freedom of (re)distribution. Therefore I consider GPLv3 to be not only non-free, but hypocritical.)
No, GPLv3 is significantly different from GPLv2, and some of us think that the new version really, really, sucks.
If you're of this opinion, why not just read the license? You might change your mind.
Why do you assume that anyone who doesn't like it hasn't read it?
I have read it (and based my last couple.sig's on it, even), and I find the Tivo section to make it sound very much like "You are free to use this however you want. Except for things we disagree with.". Which is really a very hollow sort of "freedom", regardless of how bad the "things we disagree with" are.
I think that FSF has mis-used the trust developers have placed on them with GPLv3, by making it incompatible.
If it was going to be compatible, it would have to be the exact same license.
One feature of GPL is that it claims that the entire program has to be distributed under whatever terms, with no additional restrictions. So if GPLv3 has less restrictions that GPLv2, v3 code wouldn't be allowed to be distributed under v2. If it had more restrictions, then v2 code wouldn't be allowed to be distributed under v3.
If I had placed some code in GPLv2, and did not pay much attention to the 'or later' clause, what essentially has happened now is that my code is also licensed with a license (GPLv3) which I do not necessarily agree with. GPLv3 is incompatible with v2, so basically somebody can add GPLv3 code to the project and then you have two incompatible forks, with the v3 fork being able to use the v2 code, but not vice-versa.
Yes. This is why you should pay attention to what you agree to.
You can argue that the spirit is the same for GPLv2 and GPLv3. But my counter-argument for this is that it is the same "spirit" which argues that LGPL is bad (and glibc better move to GPL) or that all proprietary software is immoral. Everyone who liked GPLv2 may not agree with these sentiments.
Yeah, the only "spirit" that stays the same between them is the spirit of the FSF. The spirit of a license necessarily must be contained entirely within that license, and the contents of v2 and v3 are very different (from "share and share alike" to "share, and you must share everything").
If FSF really wanted to take the moral high ground, they should have called the incompatible license SGPL or some other name, and asked the developers politely to move to SGPL as GPLv2 is flawed by their moral standards and SGPL is the solution.
They asked for people to use the "or any later version" clause specifically so they wouldn't have to do this. Using that clause or not is a judgement call, as to whether you trust the FSF with your license (personally, I don't).
It is closed mindedness like this that can keep good tech from even having a chance. You really don't have to defend your stance from what is currently available, but to say that nothing will ever be good enough to replace those good old fashioned, tried and tested wires is simply ludicrous.
Wireless technologies cannot, ever, provide as much bandwidth as a wired (copper/fiber/whatever) connection can, simply because wires allow for a higher signal to noise ratio. Additionally, wireless is a shared medium, equivalent to using a hub instead of a switch/router.
It's not politically correct to say so, but half of the population suffers below-average intelligence.
Do we know that intelligence follows a bell curve? If it's actually log-normal (because the scale is asymmetric, no negative intelligence), then a good deal nore than half could be below-average.
Damage to what, the OS, the network, or the user?
Damage to the OS is easy to fix, just reinstall.
Damage to the network only requires the ability to start outgoing connections. No root access needed.
Damage to the user can also be done without root access.
Trouble is, that's a free systems issue, not a free software issue. The two could be conflated to some degree back then, but that doesn't work so well now that we have DRM and signed code. What RMS wanted was a free system, that would let him fix the broken parts. What is asked for was free software, because at the time there wasn't much difference.
The GPL is a software license, but the latest version tries to apply itself to systems. This is an error, because in order for a component to dictate features of the rest of the system that component must necessarily not be free.
Actually, that restriction only applies if "the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred". Which is interesting, because it means that wile eg Tivo can't sell their boxes with GPLv3 firmware on them, they could perfectly well sell them with a bare-bones firmware and require a (automatic, of course) firmware update (to a version that does include GPLv3 stuff) before everything works fully. That section of the license seems stranger every time I read it...
Yeah. I like the idea of that section, but the way they go about it makes me think of "enumerating badness".
I'm one of those people, because I think that the Tivoization part is so poorly thought out that the goals of that section cannot be reconciled to those general principles (really, it's a fundamentally wrong direction to attack that problem from. The right direction is probably projects like OpenMoko). If it didn't have that section, I'd probably consider it a net gain (even with the mess they made of the patent section).
Say I modify a piece of software and sell the modified version along with a source CD. This is permitted under any open/free license.
Now say I design some locked-down hardware, which will only run binaries signed by me (which include my version of the above software, of course), and now advertise that exact same software as being something to run on that hardware. Nothing about the software has changed, and yet GPLv3 prohibits this.
...but only in the case that the software is being distributed *with* the hardware. So I'm not allowed to bundle it, but can still distribute it separately.
Local classes / structs do not have external linkage and therefore can't be used as template arguments. So, for functors etc., which is precisely where you'd want something like a local class (ie. because you really want a closure), they are useless.
Do you know why that restriction is there? I hadn't been aware that this was possible before now, probably entirely because that restriction makes them mostly useless.
(And yes, that restriction seems bizzare enough that I went and found someplace that quotes the standard to verify it.)
Yes, they do.
Or rather, "Cheap laptops have no effect on that.". As you point out, of course, they are affected (and effected) by it.
Moore's law is about transistors per area and cost per transistor. Cheap laptops have nothing to do with that.
But for the question that was *meant*, rather than what was asked... still no. There are some applications that can use basically unlimited computing power (and now, unlimited computing power with minimal electrical power), and everyone else benefits from developments geared towards those areas.
How? It's the exact same software as the first case. It still runs just as well on standard hardware. They still have full source. So where is the loss of freedom?
That's a "what" issue, not a "why" issue.
Which version of "free" are you talking about here, and what about the other half of freedom (DFSG 1,3,6,9)? You seem to be focusing on only half of the equation yourself.
That's a load of crap, and I suspect that you know it.
I like GPLv2. It's a good, Free license. GPLv3 sucks, because it way oversteps its bounds.
Yeah, releasing it in a manner which does not satisfy the GPLv2 requirements. Which makes the "may as well be under BSD" claim meaningless - if you're going to violate the license, then of course the license doesn't matter.
Say I modify a piece of software and sell the modified version along with a source CD. This is permitted under any open/free license.
Now say I design some locked-down hardware, which will only run binaries signed by me (which include my version of the above software, of course), and now advertise that exact same software as being something to run on that hardware. Nothing about the software has changed, and yet GPLv3 prohibits this.
I am still distributing the exact same software in the exact same way, but GPLv3 says I can't do this because the purpose has changed.
The rules are based on why I do things, rather than what I do. That can't be considered free.
If you do that, is it really still "the preferred form of the work for making modifications to it"?
That advertising conveyance device (ie, "article") has 7 pages, and I don't see a "print" link anywhere. That sort of thing is very annoying.
Not all medical devices are limited to the hospital or doctor's office. Although it's kinda scary to think of how a firmware update would be applied to a pacemaker (assuming they're even complicated enough to *have* firmware)...
Please elaborate upon how "you must make source available" is the same as "you may not distribute this with devices with property X".
So, if you want "You are free to use this however you want, including locking up my code behind your patents and DMCA-lockdowns so that I never see my code again", there's always the BSD license and its thousand variants. Nobody's forcing you to use the GPL for your code, or GPL code for your project...
The new restrictions in GPLv3 have nothing to do with preventing "I never see my code again". That's already covered by GPLv2 requiring that source be made available. They have to do with demanding that specific hardware accept modified versions of the software.
You are totally, completely free to _use_ a GPLv3 program for whatever you want, and you're even guaranteed to be able to do that on the device it came on, if any. Of course, if you want to distribute the program yourself, you have to give receivers all the same rights.
That doesn't sound like "you are free to use this however you want, except for things we disagree with" at all, to me.
Even considering that the entire point of those restrictions was to tell Tivo "you may not use this software for that purpose"? Many ways to use software (almost anything including the word "firmware", for example) necessarily involve redistributing it.
(Also of interest is that the FSF's own "Free Software Definition" demands freedom of (re)distribution. Therefore I consider GPLv3 to be not only non-free, but hypocritical.)
No, GPLv3 is significantly different from GPLv2, and some of us think that the new version really, really, sucks.
If you're of this opinion, why not just read the license? You might change your mind.
Why do you assume that anyone who doesn't like it hasn't read it?
I have read it (and based my last couple .sig's on it, even), and I find the Tivo section to make it sound very much like "You are free to use this however you want. Except for things we disagree with.". Which is really a very hollow sort of "freedom", regardless of how bad the "things we disagree with" are.
Because they're only being accused with no reason to actually believe those accusations?
If it was going to be compatible, it would have to be the exact same license.
One feature of GPL is that it claims that the entire program has to be distributed under whatever terms, with no additional restrictions. So if GPLv3 has less restrictions that GPLv2, v3 code wouldn't be allowed to be distributed under v2. If it had more restrictions, then v2 code wouldn't be allowed to be distributed under v3.
Yes. This is why you should pay attention to what you agree to.
Yeah, the only "spirit" that stays the same between them is the spirit of the FSF. The spirit of a license necessarily must be contained entirely within that license, and the contents of v2 and v3 are very different (from "share and share alike" to "share, and you must share everything").
They asked for people to use the "or any later version" clause specifically so they wouldn't have to do this. Using that clause or not is a judgement call, as to whether you trust the FSF with your license (personally, I don't).
No, GPLv3 is significantly different from GPLv2, and some of us think that the new version really, really, sucks.
Wireless technologies cannot, ever, provide as much bandwidth as a wired (copper/fiber/whatever) connection can, simply because wires allow for a higher signal to noise ratio. Additionally, wireless is a shared medium, equivalent to using a hub instead of a switch/router.
Perhaps that's why there wasn't any evidence and it had to be redone?
...actually, something vague and expansive like "national security purposes" is probably the *worst* thing to grant extra enforcement powers for.
Do we know that intelligence follows a bell curve? If it's actually log-normal (because the scale is asymmetric, no negative intelligence), then a good deal nore than half could be below-average.
"has had clustering for ~15 years"