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?
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.
sigs are hazardous to your health
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]
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.
The GPL is a legal document which recognises the FSF as its issuing authority (Clause 9), so if anyone else issued a licence called GPL which purported to succeed the current GPL, they would have a legal battle on their hands.
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.
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.