GPLv2 Vs. GPLv3
chessweb writes "Here is a rather enlightening article by Richard Stallman on the reasons for moving to GPLv3 that puts the previous TiVo post into the right context." From the article: "One major danger that GPLv3 will block is tivoization. Tivoization means computers (called 'appliances') contain GPL-covered software that you can't change, because the appliance shuts down if it detects modified software... The manufacturers of these computers take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv3 ensures you are free to remove the handcuffs. It doesn't forbid DRM, or any kind of feature. It places no limits on the substantive functionality you can add to a program, or remove from it. Rather, it makes sure that you are just as free to remove nasty features as the distributor of your copy was to add them."
So it is okay for you to use everyone else's hard work for free, but not for anyone else to use your hard work?
I smell screed here. If you couldn't modify the Windows kernel to meet your 'exacting standards' what did you do? How were you aware of Linux if you weren't aware of the culture and philosophy surrounding free and open source software? What changes did you make to the kernel that were so important that you couldn't release them? And why, in the name of God, are you still using Token Ring? What's to bet that if I put a sentence of this into Google, that I would find it word for word somewhere else?
You are free to code any damn thing you want. If you use GPLv3 code you need to respect the wishes of the writers of that code, code you use for free. Release your own code under any damn license you want to. It's yours. If you don't like the terms of GPLv3 then don't use it, and certainly don't complain about code others wrote and gave to you without cost, asking only that you return the favor, and release any improvements you DISTRIBUTE back for others to use and improve. If you don't like GPLv3, just don't use it.
Uh, what?
You are free to code whatever you want, including a new DRM system.
You are free to license your code with whatever license you want, including the GPL.
If you release your shiny new DRM system under the GPL, you need to release the source-code for it. Releasing the source-code for a DRM system is a pretty stupid thing to do since it will make your DRM system a lot easier to circumvent. Why would you even consider releasing a DRM system under some sort of open source license?
But surely the clauses applying to the MS-Novell deal (though they don't specifically refer to it, but that's what they are aimed at) are completely unenforceable in a court of law?
How can it be that a license that 1) MS has and never will agree to 2) that didn't exist when the deal was made be valid?
If I write a program and license it under the condition that you pay me £10 for it, can I then change the license a week later and say you have to pay 10 people £10 instead?
If a law banning something is instated by the Government, they are very rarely retrospective (how can you comply with something that does not exist yet?).
Either I'm missing something, or the GPL 3 is going to be totally unenforceable.
sigs are hazardous to your health
RMS's idealism is admirable to be sure but I've grown so tired of his rhetorical devices that I just can't be bothered to pay attention to him anymore. His deliberate use of phraseology that implicity argues or accepts the point he is trying to explain is sophmoric and while I accept his motives I've grown tired of listening to his dreck.
"He's using a quantum encryption scheme! That'll take hours to break!"
I paid for NVidia binary drivers when I bought the video card. I'll complain about them as much as I damn well please.
The Farewell Tour II
I'm getting tired of hearing this same argument ("The GPL is supposed to be about freedom, but look at all the restrictions it imposes!!!") in various different incarnations pop up every time the GPL is discussed. Everyone try to understand this simple fact, so that we can stop having this pointless discussion every time:
Freedom is a limited resource, because one man's freedom is another man's restriction.
Don't believe me? Let's take some examples: If I'm to be free to do anything* I want in my own home, that means you're not free to do anything you want in my home. Now that's a perfectly reasonable freedom for me, and restriction for you to have, which is why society generally supports this freedom/restriction.
*) Within reason. I.e. stuff I do in my own home that has major impact outside of isn't included.
Let's take another example. The first amendment of the US Constitution starts with the words "Congress shall make no law..." In other words, the freedom of the individual comes at the price of the freedom of government.
I've said it before, and I've said it again: RMS & FSF have been perfectly open about what they want to achieve with the GPL, and why. Stop treating them like hypocrites. There are plenty of hypocrites in the IT world, but RMS isn't (AFAIK) one - and he's definitely not one because of the restrictions of the GPL. If you don't support the view of the FSF, then that's fine, but don't back up your standpoint with flawed logic
But don't think for one second that the GPL is about "freedom".
Yes you should.
Public domain is about freedom. To a lesser extent, so is BSD.
They do nothing to protect freedom. They are merely free for the taking.
If you *take* something from the public domain and modify it, it can belong to you, and you can then distribute it while denying the very public who freely provided that source material to you in the first place the right to further modify it. So sure, the public domain is about freedom: giving YOU freedom to freeload the work of others and ultimately screw me over.
The GPL infringes on our freedoms for very specific resons, and it does so with good intent. But it infringes upon them nevertheless.
The GPL is about perpetuating the freedom of the *code*, specifically the freedom to modify the code.
And in doing so, the *only* freedom of yours that it infringes upon is your freedom to infringe upon others freedom with respect to modifications of the code further down the line.
(It really denies very little. You can use GPL tools to make non-GPL products (including other programs.) You can use GPL tools to run your business without returning anything back. The only thing you are required to give back is any modifications to the GPLed code itself, and even then, ONLY if you are re-distributing it.
Derivative works of GPLed CODE remains GPLed. That's it. That's the GPL in a nutshell. Everything in the GPL is there simply to ensure that no-one can take GPL'd code and fork it into proprietary non-free code. (or [with gplv3] tivoise it by binding 'gpl code' into hardware/drm schemes that make it effectively non-free.) To ensure that any tool that starts out FREE cannot become NON-FREE.
(TiVoisation is the equivalent of putting a 'free man' into a cell with no doors or windows. There's nothing legally stopping him from leaving the cell -- but his 'freedom' isn't worth a hill of beans -- he still can't get out.)
When you GPL your code you are asserting that it will be forever "free", that nobody can lock it up.
GPL is a lot like Free Speech.
Which is more 'free' a society where you can say whatever you like, and then someone in government can exercise their freedom to lock you up for ever. [=public domain] Or a society where you can say whatever you like, and the government is forced to protect your right to do so, even though you are infringing on someones freedom to lock you up forever. [=gpl]
You get the original free code from the same place that they got it.
In a fair world, refrigerators would make electricity.
RMS wrote:
...
Change is unlikely to cease once GPLv3 is released. If new threats to users' freedom develop, we will have to develop GPL version 4. It is important to make sure that programs will have no trouble upgrading to GPLv4 when the time comes.
One way to do this is to release a program under "GPL version 3 or any later version".
Now, this is NOT the way to do it. Let me tell you why (and please correct me if I'm wrong):
-GPLv4 can be started by Microsoft, or any evil company, they can today start to write GPLv4 or v5 which says: you are not permitted to change the source-code, neither redistribute the source-code, and when compiled and used, a one time-fee of $100 for the usage of the program or another hostile non-sense. You get what I mean, the notion 'GPLv4' or 'GPLv5' is not secured by FSF - it maybe even can't be secured.
-The license must be included in text form (e.g. as a file called LICENSE) which contains the license, e.g. the text of GPLv3 or v2, in the source-code package (e.g. tar.gz) to be sure, it's GPLv2 or whatever. By no means I would say 'http://fsf.org/GPLv2' or alike, we cannot rely on that fsf.org remains in control of people who keep up the spirit of GPLv2 or v3, domain taken over, FSF changes mind, RMS passes away and successors are brain-dead people and mess up big time
Now, these are my concerns, someone smart please enlighten me and correct me - and please take the time to really elaborate why I should use 'GPLv3 or later' in my license and how the two points above can be resolved.
Professor Moglen mentioned that in many cases businesses _want_ to buy locked-down hardware where they cannot change the software (perhaps for regulatory reasons). Most of the serious abuses and loss of freedom (such as imposing DRM with no way to disable it) occur in consumer products, so it's a reasonable compromise to make freedom an inalienable right for consumers, while allowing businesses a bit more rope to hang themselves with if they really want to use locked-down systems.
-- Ed Avis ed@membled.com
Web Services isn't even a loophole - you don't distribute the software so it doesn't come under copyright distribution and so the GPL wouldn't apply here. Same for "in-houseation" and reimplementation. You really need to have a look at copyright law if you think that the GPL (a copyright distribution license not a EULA) can restrict this. Users don't agree to the GPL.
I'm not sure how your "networkisation" is actually feasable under open source software so I don't think anyone really cares.
Blob's are already disallowed under the GPL 2. The FSF have already said this several times.
"Artisation" directly contradicts the first and primary freedom of Free Software. From gnu.org/philosophy/free-sw.html: Your "artisation" runs directly against freedom 0.
GPL 3 is designed pretty well to close off the loopholes that have been exploited to prevent the freedoms that the original GPL was designed to grant. What you propose directly contradicts the spirit of the GPL.
Freedom is a limited resource, because one man's freedom is another man's restriction.
Very correct!
So one should see the freedom thing into the right perspective. Freedom in GPL is clearly targeted to the end-user of the software, and therefor restricting the developer/publisher of the software. On the other hand, freedom in BSD is targeted to the developer/publisher of the software in question and therefor can expose restrictions to the end-user.
So both might be equally free, but just for a different audience. Tivo's lil' trick takes away the freedom from the audience GPL is meant for, hence V.3
Let me rephrase quickly what I meant about "users don't agree to the GPL". This is the most often misinterpreted part of the GPL.
The GPL is a copyright license not an end user license agreement. As such, it only covers distribution of software. When you get a piece of GPL software, you do not need to agree to the GPL, and you're under no obligation to abide by its terms. You only need to agree to it when you distribute GPL software.
As such when you modify software in-house, or you put the software on a web server, you are under no obligation to obey the GPL since you're not actually distributing the software. Since the GPL purposely doesn't restrict you on running the software there's no obligation to distribute the code.
Ok. If I go out and release a professional quality piece of software. Now this arbitrary "consumer clause" would allow commercial manufacturers to rip off my software, place it on tivoized closed hardware and sell it. My software was meant to professional use all along, even though I wanted it to be Free Software.
I thought GPLv3 would protect me, individual free software developer, from this nonsense. But now, what used to be a loophole in GPLv2 is now a right written down for commercial entities to go hunt and close down free software. I sincerely hope somebody will understand and fix this problem before GPLv3 goes final.
Nonsense, there could be license problems with GPL code but all software is at risk from license changes. The worst case would be that you'd end up maintaining a fork of a project but this is also true of the BSD license.
Did you actually have a point?
At least this made me laugh...I almost choked on at the defragging the ext2 file system. It's extremely comical because it's obvious the person the came up with this (originally) meant it as pure sarcasm, probably not even originally trolled. It has too many make your jaw drop moments to have been serious...GNU protective license lol, defrag ext2 lol, token-ring..... However this has been around forever and always seems to incite people to violence.
Mobius Custom Computers
Their agreement with Novell requires them to distribute GPL'ed software, but the GPLv3 will not permit them to do so unless they agree not to use their patents against other GPLv3 software.
Only if you modify the source code AND distribute it. Otherwise you can do whatever you want.
evil is as evil does
...and another one who also fails to see the difference between DRM and encrypted messages. Come on people!
With PGP (and GPG or whatever) your encrypted messages can be freely decrypted by the intended recipients, and outsiders can not because they do not have access to the key, and getting the key is a computationally burdening task.
With DRM, you have both the encrypted content and the key. It works by hiding the key from you so that you cannot decrypt the content at will, and instead only under whatever circumstances the software requires for it to get the key from its hiding place to decrypt the content. At some point in time the DRM software will handle the decrypted content. If it is open source, you can find this place and insert your own code there, thereby circumventing the whole scheme.
A popular tag for DRM articles on Slashdot is "defectivebydesign". This is not a buzzword or slogan or empty groupthink, it's actually true.
Many people complain about GPL being less Free than the BSD license. They miss the point.
GPL wants to ensure that all modification to the code remains free. BSD allows you to do anything to the code, including making it proprietary. Remember Windows' TCP/IP stack used to behave identically to BSD's, hinting to same underlying code.
So if you realease code version n under the BSD license, sure, users of n can do whatever they god damn want. But it does not ensure anything for users n+1. GPL, on the other hand, ensures that users of n+1 enjoy exactly the same liberty. So, while BSD users have more immediate liberty, users of GPL have more long-term (in the sense of derived works) liberty.
Ask HP-UX, AIX, Irix, and Solaris users if they enjoyed the same liberty the BSD gave to HP, IBM, Silicon Graphics, and Sun. Ask Linux users if they enjoy the same liberties as the kernel hackers have.
So which license gives more liberty? Well, in the short-term, BSD. On the long term, GPL.
As a developer providing code, selecting the license depends on where you want it to go. Do you want it to spread as far and wide as possible, at the expense of the original code? Go BSD. Do you want the original code to enjoy improvements brought from other people, at the expense of how far it'll spread? GPL.
As a developer using free code, sure, BSD is so much easier to use. You can use it at work on your proprietary product that feeds your kids! It's harder to make a business model around GPL code, though (yes, I know there are many examples out there, but they still remain the [loudly publicized] exception to the rule).
I really like the example of ODE (a game physics library). It is licensed under LGPL and BSD, but really, it seems most people use it as BSD. I know it's been used by Crytek (they contributed changes back), and I've heard it's been ported to the PS2, XBOX, and PS3. This is something that only the BSD license allowed, because the NDA of the devkits for those consoles implicitly prohibits the use of LGPL or GPL code in games, as the changes contributed back to the GPL/LGPL code will give hints of what's behind the NDA, and furthermore the developers cannot provide you with an object file that you can link with the GPL/LGPL code.
There are two sides of the coin, here: the contributors to the mainstream ODE library are happy to know their work is used in awesome places like those consoles. However, the mainstream code is none the wiser: those changes have never made it back to the main tree.
So what do you want? Your code to be improved upon by the community, or thrown into the wind, never to see those improvements come back, but knowing it went much farther than it ever could if you tied it down with the GPL?
It really is two different things, and saying that one is more restrictive than the other is missing the point.
Misleading titles? Inflammatory blurbs? Keep in mind that Slashdot is a tabloid.
> One major danger that GPLv3.1 will block is Googlization. Googlization means services contain
> GPL-covered software that you can't change, because the product is never published and so no
> source code has to be provided.
This was actually up for GPLv3, but meet too much resistance through the review process.
> One major danger that GPLv3.2 will block is Xboxization. Xboxization means devices contain
> GPL-covered software that connect to a network that you can't change, because the network shuts
> you out if it detects modified software...
Xboxization would require DRM restrictions already forbidden in GPLv3.
> On ATI/nVidia Linux drivers.. One major danger that GPLv3.3 will block is BLOBization.
> BLOBization means software packages containing GPL-covered software that communicate to a
> non-GPL-covered piece of binary software (BLOB) that you can't change, because the BLOB is not
> covered by the GPL...
This is already forbidden in GPLv2, the only reason ATI/nVidia can do it is because Linux is considered covered by "GPLv2 plus an implicit exception for binary BLOBs". Well, that and the fact the legal power to enforce GPL to people not actually distributing any GPL'ed software (but only binary BLOBs intended to link with GPL'ed software) is somewhat dubious. A new version of the GPL will not change either of these.
> One major danger that GPLv4 will block is GPL-less compiling. GPL-less compiling means programs
> created using GPL-covered software that you can't change, because the actual program contains no
> GPL-covered source code.
This is kind of silly, as the tools where this could actually be enforced (like GCC and Bison where non-trivial GPL'ed code is usually included in the result) has specific exceptions to allow "GPL-less compiling". For Bison, this exception was added recently.
> One major danger that GPLv4.1 will block is artization. artization means original works of art
> created using GPL-covered software that you can't change, because the work is strictly non-GPL.
How is this different from the previous point?
> One major danger that GPLv4.2 will block is reimplementation. reimplementation means software
> programs developed based on, but re-implemented in a different way of, GPL software that you
> can't change, because the work is not GPL.
Given that the core of GNU is re-implementations of proprietary work, this goes beyond silly. It is also unenforceable with copyright law, you'd need a "copyleft" for patents instead (which has been suggested (albeit not by the FSF): This patent can be used by anyone who shared their own patents in a similar way).
> One major danger that GPLv5 will block is in-houseation. in-houseation means software programs
> based on, developed with, and so forth and so on as set forth in the other clauses, that is only
> used in-house that you can't change because the source code need not have been made available.
This would violate freedom 0, which would mean a clear breach of the contract signed to everyone who has ever donated software to the FSF. The FSF has already declared licenses with a "anti-in-houseation" clause for non-free with reference to freedom 0.
> And so forth and so on.
Actually, only your first suggestion had any basis in reality. The rest seemed made up with the sole purpose of spreading fear, uncertainty and doubt about the future of the GPL.
Now, it may be that GPLv3 turns out to be entirely irrelevant for DRM since nobody uses it for DRM software anyway. My comments are based on the assumption that GPLv3 will have some effect, and my prediction is that if that happens then the effect will be to move DRM towards more robust solutions.
sigs are hazardous to your health
Pretty much. GPLv3 is a great win for Microsoft in the embedded market.
The lesson here is don't try and build a product using GPL software because if RMS decides that you don't fit their philosophical outlook they will jerk they will change the license to make you conform to their ideal.
What percentage of Tivo customers are upset that they can't hack their Tivo?
The inability to run modified code also means an increase in the security of a Tivo placed on the network. Anyone want to deal with Zombie Tivos?
Tivo has been around for years and was one of the first big Linux success stories. People don't have to buy Tivos since MythTv is available for people that want to roll their own.
I just don't see how Tivo is a big problem for FOSS except that RMS doesn't like them locking down their hardware. I do see this causing problems for Tivo and frankly the end users that love their Tivos and may end up without service if they go under because of this.
Maybe Tivo should have gone with BSD from the start.
Then you have to wonder what this will do to Linux Cell phones. They are now gain popularity but this may be the end for them as well.
So other than a philosophical win how does this help people?
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
FYI, the OP is a known troll. This isn't the first time I've seen it, and I guess that it won't be the last.
also I'm not 100% sure that if you compile under gcc you have to keep it openI'm 100% sure that you won't need to open the source of programs compiled with GCC. Read the license of GCC, it explicitly states that the output of the program is not covered by the GPL.
The price you pay to use GNU/Linux is if you modify it you have to give your modified code to everyone.Not entirely true. If you modify, but keep the modified code in-house, you are not required to release anything at all. If you distribute the modified GPL code, you have to distribute (or offer to distribute) the source code of the modified program to recipients of this program, licensed under the GPL. Any recipient of your modified GPL software can publish the source to the world if they want though.
What is the freedom supposedly being violated if you choose to eat at a restaurant where the staff refuse to give out a recipe along with the food? If you demand recipes, what's stopping you eating somewhere else, or even preparing your own food? Nobody's forcing you to do anything or preventing you doing anything.
Any examples of cases where the FSF has perpetrated "scummy license tricks"? No? Though so, troll.
If you don't like the GPL...don't use it. If you like the BSD license, use it.
If you don't like the fact that the GPL software you are using to develop your proprietary software has a GPL license then that is YOUR fault.
People who bitch about the GPL are the people that don't believe in the GPL and don't agree with the FSF's ideas. Duh. They get upset because they can't use GPL sofware like software under the BSD license.
It's not YOUR license. It's the FSF's license. They get to write it with whatever input they accept. It's not YOUR software you are using to develop whatever you are developing (if you didn't write it). The authors get to decide legally how you can use it. If it's the GPL and you don't like it? Too bad.
Freedom does not include the right to force somebody else to do your bidding. That's called enslavement.
Regardless of how you look at it, Tivoization turns free software into proprietary software. The FSF is blessing this. What happened to the Four Freedoms?
Quotes from two prominent FSF essays (emphasis mine):My question for the people at the FSF who've made the decision to allow the tivoisaztion exception: What happened?
Have you driven a fnord... lately?
You must wait a little bit before using this resource; please try again later.
This is what I'm seeing from the comments here about the problem of "Tivo-ization".
The current TiVo system is three components: Hardware - DRM - GPL OS and software. The box will shut down if the compiled binaries of any GPL programs are changed.
The GPL v3 says that's bad. The TiVo users should be able to change the binaries of compiled GPL software with different GPL versions of those software.
TiVo's obvious fear here is that new versions of the GPL components could be used to circumvent their DRM. Once the box is in the user's hands, it's only a matter of time before the DRM is hacked.
The GPL v3 promoters' response is that TiVo can customize their hardware and firmware instead of locking down the GPL binaries. So the future state Tivo components will be:
Hardware - DRM - Command Validating Firmware/Hardware- GPL OS and software
If the command validating Firmware or Hardware shuts the TiVo down when it receives an invalid command from the OS or software, then this is functionally no different than the original version of the TiVo. That will be unacceptable to the GPL v3 promoters. If the Command Validation does something more benign, then it's only a matter of time until the DRM component is circumvented. That will be unacceptable to the broadcast media companies.
Is there another option for TiVo to keep using GPL software while finding some way to protect their DRM component from being hacked by the user?
"Freedom does not include the right to force somebody else to do your bidding."
Does that include requiring you to GPL your own software if a small portion of it used a GPL'ed library?
Funny, that's not my definition of "freedom" either. It's my code, the GPL portion is a small bit and doesn't represent what the software is about (major funtionality) in the slightest.
GPL is the same thing as proprietary (in terms of restriction) just on the opposite end of the spectrum.
LGPL and BSD like licenses carry less "political"-ness.
Yes, I will use something else, something that allows me to choose how I re-distribute my software, thanks. Something that doesn't force me to agree with someone else's politics.
A post based on actual facts and possibilities would be more helpful. Net services are a complicated issue, which will be addressed with the Affero GPL. Personally, I don't know if the GPL can apply here. XBoxization: The GPLv3 forbids that. Read a recent draft. Given a network service using GPLv3-enabled clients, the network service may not refuse to work with a modified client without good reason (see the license for more precise details). Binary blobs: Already against GPLv2, so no change the the GPL will affect this. GCC, the Gimp, etc.: The GPL is a copyright license, and cannot affect the output of the GPLed programs. If the GPLed tool inserts lots of its own content (such as the Bison routines), that can be forced to be GPLed. That is not a matter for any version of the GPL, but rather individual license extensions. Re-implementing: The only thing that can address this is wide, strongly-enforced, software patents. I don't think you, I, or Richard Stallman want to go there. This is not a subject for the GPL. In-house: The GPL, in all versions, wants to provide the end user with freedom. In this case, the end user is the enterprise, which can make modifications for its own use, and use internally as it sees fit. The GPL doesn't try to force distribution, and it really can't. It can only govern what happens with distribution. The FSF does try to consider the future, and they do put a lot of thought into it (whether you agree or not). All of the scenarios you have brought up have been considered, and you will find the discussions on the Gnu website (under philosophy).
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
There is a vision, but it's so far out there that the only way to bring it into actuality is to do it in small, incremental steps. This inconsistency is one such step.
Here's an alternate theory: Kissing IBM's ass is more productive than kissing Tivo's.
It's quite simple really.
You buy a Tivo, which contains free software.
You decide there is a feature in the Tivo which you don't particularly like - maybe not being able to skip ads or something, and you decide you want to change it. Free software gives you the right to change things you don't like.
Tivo give you the source code, and a licence which allows you to modify it, but if you try to actually do so, your tivo box won't run it, because the binary code isn't signed by Tivo. In other words, you have received free software where in reality you aren't allowed to change it.