Slashdot Log In
GPLv2 Vs. GPLv3
Posted by
kdawson
on Mon Jun 04, 2007 03:35 AM
from the feature-not-a-bug dept.
from the feature-not-a-bug dept.
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."
Related Stories
[+]
News: TiVo Says It Could Suffer Under GPLv3 710 comments
Preedit writes to tell us that those busy folks over at InformationWeek have been scrutinizing yet more SEC filings, and Novell and Microsoft aren't the only ones concerned about certain provisions in the final draft of GPLv3. TiVo worries too. The problem is that TiVo boxes are Linux-based. They're also designed to shut down if the software is hacked by users trying to circumvent DRM features. But GPLv3 would prohibit TiVo's no-tamper setup. "If the currently proposed version of GPLv3 is widely adopted, we may be unable to incorporate future enhancements to the GNU/Linux operating system into our software, which could adversely affect our business," TiVo warns in a regulatory filing cited by InformationWeek."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
"consumer products" only (Score:4, Interesting)
Why should I have less right to install modified code on my mainframe than on the box under my TV?
For all Stallman's huffing and puffing about defending freedom, it sounds like he caved in to big business here.
Re: (Score:3, Interesting)
That's because he has.
As for the greater issue of the GPL 3, I don't have much doubt that a lot of business that were considering going to FOSS based solutions will take pause and adopt a 'wait and see' approach while the lawyers sort things out. I'm not arguing the pro's and con's of it; I'm just making an educated guess based on many years in business. The net result may actually be a slowdown
Hey you missed the *bad* news! (Score:4, Insightful)
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.
Parent
Re:"consumer products" only (Score:4, Interesting)
Parent
Re:"consumer products" only (Score:5, Insightful)
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?
Parent
Re:GPLv3 anti-business (Score:4, Insightful)
Parent
Re:GPLv3 anti-business (Score:4, Interesting)
Parent
Re:GPLv3 anti-business (Score:4, Insightful)
Parent
Re:GPLv3 anti-business (Score:4, Insightful)
Parent
Re: (Score:3, Interesting)
This is not confined to the US, either.
Re:The "ASP loophole"? (Score:5, Informative)
As an AC reply noted (thanks, AC!), there's something called the Affero GPL, and you can (if I'm reading the draft right, I could be wrong) distribute GPL3 code under the Affero GPL. If you do that then anyone installing the program on a network (e.g. a web server) will have to make the source available to its users.
Parent
Re:"consumer products" only (Score:5, Interesting)
Parent
The next "One major danger"... (Score:4, Interesting)
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. The manufacturers of these services take advantage of the freedom that free software provides, but they don't let you do likewise. GPLv3.1 new services clause ensures you are free to remove the handcuffs.
On network-enabled devices...
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... The manufacturers of these devices take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv3.2's new network clause ensures you are free to remove the handcuffs.
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... The developers of these BLOBs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv3.3's new network clause ensures you are free to remove the handcuffs.
On not having to GPL programs compiled using GCC..
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. The developers of these programs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv4's derivative work clause ensures you are free to remove the handcuffs.
On using e.g. The Gimp to create your graphics..
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. The artists of these works take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv4.1's new GPL-created works clause ensures you are free to remove the handcuffs.
On working around the GPL by re-implementing (much the same that free software developers re-implement things covered by patents)..
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. The developers of these programs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv4.2's new GPL-reimplementation clause ensures you are free to remove the handcuffs.
On using GPL software internally only...
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. The developers of these programs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv5's new out-house clause ensures you are free to remove the handcuffs.
And so forth and so on. It should be pretty clear that the GPL is all about freedom - pure and utter total freedom to do as you wish without restriction, as long as the product of this doing is available to everybody else to do with as they wish without restriction as well. Whether this is truly freedom or not (i.e. as opposed to the BSD-style licenses) is a never-ending debate.
Re:The next "One major danger"... (Score:5, Insightful)
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
Parent
Re:The next "One major danger"... (Score:4, Insightful)
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
Parent
Re: (Score:3, Insightful)
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 fea
Re:The next "One major danger"... (Score:5, Insightful)
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.
Parent
One by one (Score:4, Insightful)
> 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 [gnu.org], 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.
Parent
Freedom of GPL and BSD license compared (Score:5, Insightful)
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.
Re:Freedom of GPL and BSD license compared (Score:4, Informative)
Yes, you are forced to, but only if the library is GPL, not LGPL. In that way, the GPL is admittedly a political license. Its purpose is to propagate this idea of freedom, and libraries are great vectors for that.
It happens that you'll hit the dilemma of choosing between a good quality proprietary library (you'll have to pay to use it), a good quality GPL library (you'll have to make your code GPL too, to use it), and a lesser quality BSD library (you can just use it). Yeah, I said lesser quality for the BSD, otherwise there's no dilemma, is there?
When somebody releases a library under the GPL (not the LGPL), it is to be used exclusively in GPL software. It is a tit-for-tat approach: you can use my GPL library if you subscribe to the GPL idea. If you don't agree, find another library.
Yup, it's mingling technical and political aspects, but you know what they say: if you don't do politics, politics do you
For LGPL libraries, no, you can keep your software under whichever license you want, as long as changes to the library itself are propagated GPL-style.
Parent
GPL 2 & 3 and coupons (Score:5, Interesting)
Suppose that Darth goes ahead and does it anyway, what does the enforcement process look like? Darth gets sued under copyright law, like IBM did against SCO with IBM's counter claims. The free software side has to prove two things:
In order the suit to be successfull against Darth, both steps have to succeed. Step (2) can be optimized by the FSF, by adjusting the terms of the GPL, to make it as difficult as possible for Darth. The GPLv3 is an improvement in this process. Step (1) is the step that the FSF can not control, because the applicable copyright law is written by the legislature (in the U.S. that would be congress), not by the FSF! Therefore, step (1) is the weak point! If Microsoft is ever sued under the copyright law because of the coupons, Microsoft will attack the week point of the argument (1). This is what Microsoft's lawyers will say:
The key assertion in the above is:
If Microsoft can win on the key assertion. Then it will win. If the lawyers for the free software side can knock out the key assertion then they will win.
Why do the coupons exist in the first place? Why did not Microsoft just hand out SuSE installation DVDs? The reason is obvious. Microsoft did not want to become a GNU/Linux distributor. The coupons are a dodge to get around this. The whole raison d'etre for the coupons was that that Microsoft avoid becoming a GNU/Linux distributor! Can anyone believe that Microsoft allowed the coupon scheme to proceed, without first getting on Lexis and finding out whether the scheme would work? It is guaranteed that in some Microsoft lawyer's briefcase, there is a brief. And that brief deleniates in excruciating detail why the coupon scheme does not make Microsoft a GNU/Linux distributor. And the brief was checked and rechecked by multiple lawyers before the coupon scheme was ever allowed to proceed.
The free software argument against the MS-Novel coupon scheme, is a chain. And like any chain, it is only as strong as its weakest link. It is no good for free software advocates to sit back and congratulate themselves on how strong their strong point (2) is. Of course it is strong! The FSF deliberately designed the GPLv3 to make it strong! The point is, that Microsoft is not going to attack this strong point. Microsoft is going to attack the weak point (1).
Instead of congratulating them selves, free software advocates should be critically examining their own arguments looking for weak points. And when they find one, they should research the caselaw looking for ways to shore up their arguments! They should not be replying to the weak points with mere repeated assertion of what they hope should be true, instead they should do some real scholarship.
Let us not forget the anti-patent provisions of GPLv2 [fsf.org]! It includes an "im
This won't stop "Tivoization" (Score:4, Interesting)
Re:The GPL: Intellectual Theft (Score:4, Insightful)
Parent
Re: (Score:3, Insightful)
Re:The GPL: Intellectual Theft (Score:5, Informative)
Non-GPL'd and non-free software can be developed with GPL'd tools The program must be GPL only if it includes GPL source code or it is linked with a GPL library. For example, using gcc to compile proprietary software is allowed.
Parent
Re: (Score:3, Informative)
Re:The GPL: Intellectual Theft (Score:4, Insightful)
Parent
Re: (Score:3, Informative)
Re:The GPL: Intellectual Theft (Score:5, Informative)
http://news.com.com/5208-1030_3-0.html?forumID=1&
Of course, it would not make it any more correct than it was back then.
Parent
Re: (Score:3, Informative)
http://linux.slashdot.org/comments.pl?sid=227167&t hreshold=3&commentsort=0&mode=thread&cid=18399837 [slashdot.org]
http://slashdot.org/comments.pl?sid=159323&thresho ld=3&commentsort=0&mode=thread&cid=13343214 [slashdot.org]
Re: (Score:3, Insightful)
Yada-yada-yada. Don't you know that everything that runs on Windows 2000 automatically belongs to Microsoft? No? Fortunately this statement is as much FUD as yours. But I rea
Re:The GPL: Intellectual Theft (Score:5, Informative)
Parent
Re:The GPL: Intellectual Theft (Score:5, Insightful)
Parent
Re:The GPL: Intellectual Theft (Score:5, Insightful)
Parent
Re:The GPL: Intellectual Theft (Score:5, Informative)
This is the sort of FUD that Microsoft must be loving. Every piece of code ever written by vi or emacs certainly isn't GPL'ed, just like every track that was finished up in Audacity isn't GPL'ed and just like people who use Visual Studio aren't obliged to hand over their source and binaries to MS gratis.
Please also note that you're only forced to distribute your modifications if you're distributing/selling the modifications. If you edit some bitchin' GPL code and keep it locked away inside a corporate intranet, I don't think there's any obligation (other than the "spirit" of the GPL) to open up your changes.
Parent
libgcc, libstdc++, and Bison (Score:5, Informative)
Parent
Here's the LGPLv3 work (Score:4, Informative)
Parent
Re:Interessing (Score:5, Insightful)
Parent
Re:Interessing (Score:5, Insightful)
Parent
Re: (Score:3, Interesting)
Re: (Score:3, Insightful)
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?
Re: (Score:3, Interesting)
I view it this way
Ordinary DRM: You get the lock and the key, but in a black box
Open Source DRM: You get the lock and the key, and the blueprints ~ but the extract the information in any meaningful way would require so much effort and computation as to render it impractical.
This - of course - is *ONLY* valid is some portion of the control/key is performed elsewhere and returned, if it is all on the client then your point is to
Re:Interessing (Score:5, Insightful)
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.
Parent
Re:Interessing (Score:4, Insightful)
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.
Parent
Re:Bit torrent (Score:4, Informative)
"Certain decentralized forms of peer-to-peer file sharing present a challenge to the unidirectional view of distribution that is implicit in GPLv2 and Draft 1 of GPLv3. It is neither straightforward nor reasonable to identify an upstream/downstream link in BitTorrent distribution; such distribution is multidirectional, cooperative and anonymous. In systems like BitTorrent, participants act both as transmitters and recipients of blocks of a particular file, but they see themselves as users and receivers, and not as distributors in any conventional sense. At any given moment of time, most peers will not have the complete file."
Problem is that you could then in theory ask any BT user to provide the source code for that binary. More here: http://gplv3.fsf.org/bittorrent-dd2.html [fsf.org]
Parent
Re:This is what I HATE most about FOSS (Score:5, Insightful)
Parent
Re:This is what I HATE most about FOSS (Score:5, Insightful)
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]
Parent
Re: (Score:3, Informative)
Re:Danger of 'GPLv3 or later' (Score:5, Insightful)
Parent
Re: (Score:3, Insightful)