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."
As a consultant for several large companies, I'd always done my work on
Windows. Recently however, a top online investment firm asked us to do
some work using Linux. The concept of having access to source code was
very appealing to us, as we'd be able to modify the kernel to meet our
exacting standards which we're unable to do with Microsoft's products.
Although we met several technical challenges along the way
(specifically, Linux's lack of Token Ring support and the fact that we
were unable to defrag its ext2 file system), all in all the process
went smoothly. Everyone was very pleased with Linux, and we were
considering using it for a great deal of future internal projects.
So you can imagine our suprise when we were informed by a lawyer that
we would be required to publish our source code for others to use. It
was brought to our attention that Linux is copyrighted under something
called the GPL, or the Gnu Protective License. Part of this license
states that any changes to the kernel are to be made freely available.
Unfortunately for us, this meant that the great deal of time and money
we spent "touching up" Linux to work for this investment firm would
now be available at no cost to our competitors.
Furthermore, after reviewing this GPL our lawyers advised us that any
products compiled with GPL'ed tools - such as gcc - would also have to
its source code released. This was simply unacceptable.
Although we had planned for no one outside of this company to ever
use, let alone see the source code, we were now put in a difficult
position. We could either give away our hard work, or come up with
another solution. Although it was tought to do, there really was no
option: We had to rewrite the code, from scratch, for Windows 2000.
I think the biggest thing keeping Linux from being truly competitive
with Microsoft is this GPL. Its draconian requirements virtually
guarentee that no business will ever be able to use it. After my
experience with Linux, I won't be recommending it to any of my
associates. I may reconsider if Linux switches its license to
something a little more fair, such as Microsoft's "Shared Source".
Until then its attempts to socialize the software market will insure
it remains only a bit player.
Thank you for your time.
One rule for Tivo and another rule for IBM?
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.
Stallman always talks about freedom and all that, but what if I want to write a new DRM system? The software license should not tell you what you can or cannot code.
In a more /. speak: In GPL3 land, the license programs you!
I am completely against DRM, but I am completely in favor fo free will. People should have the right to code whatever they want. Ok, obviously, GPL3 is not compulsory, so you can release things in GLP2 if you want, but this does not change the fact that version 3 is removing freedoms from you, and not adding new ones.
On Services... (yeah, what -did- happen to that SAP bit?)
...
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.
If the community moves to GPL3 it means that for the MS/Novell deal to continue they must branch their code and maintain their own branch.
:)
All future community development will take place on the GPL3 branch so Novell will not bee able to use the code or MS have to give the patent proptection to all. This removes all the benefits of the deal.
Their branch will become the new Netware
"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
"It doesn't cost enough, and it makes too much sense."
Right, so let's say your local comic shop wants to buy an automatic transaction system for its inventory. Now there's lots of closed source alternatives out there, but being a geek they want to support open source and perhaps modify it themselves and release their source code. They look for some free software versions and the only one they find is a system that comes with preinstalled on the hardware (which is pretty good because their current hardware needs replacement) and so they go to buy it, before they realize that they won't be able to modify it, because its been tivoized. If this geek were buying it for his home he would have protections from this tivoization under the GPL, but because its for his comic shop, he has no such protections. This is good, why?
MS distributes software (by the Novell voucher deal) that has licenses that read "GPL v2, or any later version". They knew when they did that that they were distributing software under a license that the FSF had freedom to change. So it goes.
I believe posters are recognized by their sig. So I made one.
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]
I don't know if it is enforceable or not (IANAL) but here goes:
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?
M$ does not have to agree, neither does Novell. However if Novell wants to distribute GPL3 code, then this affects M$ through their agreement.
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?
You could change the license, but you can't really say that I have to pay 10 other people £10 unless said 10 other people have a legitimate claim for that money (IP rights etc.)
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?).
The thing is that this is not retrospective, the M$-Novell deal is still a fact. The GPL3 says that such agreements are not allowed in the future (modified truth)
Either I'm missing something, or the GPL 3 is going to be totally unenforceable.
you are missing something ^^
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
We discussed it and the company president was worried something like the GPL 3 could be a problem in the future. There were serious questions on whether or not we could us our modified code without releasing it. It was going to be used only on our company website and not released for sale to others, yet it would have been there for the public to use for a subscription. So the answer was use only code if it was available under the BSD-style license.
Since that day, I've been a fan of the GPL for personal/hobby projects, but have stayed clear of most opensource software in the business world other than popular CMS systems like Xoops and Joomla.
Mod me down if you'd like, but I've been of the opinion that if you truely believe in open and free software, BSD-style is the way to go. GPL maybe open, but it has strings attached and often is only free as in beer.
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
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?
Being able to modify the pieces of code that control, say, tax reporting, is generally frowned upon (and might well make a point of sale system not legal to use in some locations.)
This is not confined to the US, either.
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.
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.
That's the reason for the word 'or'. The software is double licensed. If you don't like the provisions of GPL version n just use the other side of 'or'. Basically this mean that you can not, in practice, restrict the code anymore than the most permissive side of the 'or' clause.
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.
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! It includes an "im
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.
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.
Check your facts. Here's more info about the LGPLv3. The LGPL has gotten less discussion; it's based on the GPL, so once the GPL is changed the LGPL basically follows suit.
- David A. Wheeler (see my Secure Programming HOWTO)
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?
I'm not debating the point I'm just trying to be even handed.
My concern is the market is going to go the way the market is going to go regardless of which maefesto of computer ethics and the greater good one wishes to espouse.
My concern is that If the GPL is modified into a political hammer It might go poorly if the linux community is bound into a system they cannot modify back later. This appears not to be the case though according to the other reply.
P.s. you may want to rewrite that thing I'm having trouble with the coherency of it. Arguments that don't make sense tend to have a negative rather than positive effect on one's cause. I'm not talking about concepts necessarily , more like punctuation, sentence structure and assumed points. It's very hard to understand what you are saying.
It's a bit of a stretch, but here's how it is supposed to work.
Microsoft distributes vouchers with no expiration date for Novell's SUSE linux. Much of the software in that distro is licenced for GPL v2 or later.
Then GPLv3 comes into effect, and someone cashes in a voucher for SUSE linux after that date. NOW the software that is being distributed by microsoft is under the GPLv3 - (the receiver gets to choose) - and the GPLv3 basically says that if you distribute it with patent indemnity for some, you have to issue it with patent indemnity for all, and you can't distribute at all if its covered by patents you haven't also given a licence to use along with the GPL3 code.
Note, this wouldn't cover patents in the linux kernel itself as that is GPL v2 only, and there are no plans to move it to GPL v3. Microsoft's counter argument is that by only selling the vouchers, they're selling a service, not distributing the GPLv3 covered code themselves, and thus don't fall under the patent-licence-alongside-code provisions - that's novell's problem.
Novell theoretically will be in much bigger trouble though. They've made a big deal that their customers are covered by patent indemnities bought by novell from microsoft, but it doesn't apply to any other users of the same GPL code. That appears to be made specifically impossible under GPLv3, so Novell will either have to withdraw the indemnity altogether, extend it to everybody, or not distribute any GPLv3 code thats covered by the (unknown) patents in question. Since most GPLv2 code will automatically transition to GPLv3 code at the discretion of the receiver, thats a lot of code, and would likely sink SUSE linux as a distro.
Remember kids, it's all fun and games until someone commits wholesale galactic genocide.
It's kind of insane to think that this will stop anything. The PS3 runs Linux (a generic PPC Linux no less) with no problems at all. It sure as hell does not mean you can access the proprietary portions of the PS3 that Sony don't want you to see. Why? Because Linux is running over a virtualized set of hardware. I'm sure if push came to shove that Tivo would do exactly the same thing, ensuring whatever code or functionality they wished to hide stayed hidden.