Post #218,525
8/9/05 11:40:55 PM
|
Nope. Talk to a lawyer.
Your probable confusion is that you don't know the huge difference between software that is GPL v2 and software that has been licensed by the FSF guidelines for how to apply the GPL, which I'll call GPL v2 on up. If you have followed the FSF guidelines for how to apply the GPL to your own software, your actual copyright license is: \n This program is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation; either version 2 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n The entire text of the GPL v2 merely clarifies this license. The entire text of the GPL v3 would further clarify this license. Ditto the GPL v4, v5 and v6 if they ever get created by the FSF. Now if someone creates a derived work, their modifications can be released under any copyright license that they choose. If they choose a license that is incompatible with the above license, then it may be that you cannot copy, modify, etc the derived work. (Because whatever you do, you lack permission from some copyright holders.) But if they choose a license that is compatible with the above license, then the derived work can be copied, modified, etc only if you follow all license terms for all licenses. That means that it is easy to fork a project under the above license and make it GPL v3 on up. It is also easy to fork a project under the above license and make it GPL v2 only. Those two potential forks would have incompatible licenses. Now complicating things, not everyone has followed the FSF guidelines, if someone says "GPL" you have to look at the copyright statement to see if the copyright is GPL v2 or GPL v2 on up. In today's world nobody pays attention to that distinction. Yet it exists. For instance the Linux kernel is GPL v2 only while emacs is GPL v2 on up. So, in summary, software that is GPL v2 only cannot be moved to GPL v3 without the agreement of copyright holders. Software that is GPL v3 only or GPL v3 on up cannot be moved to GPL v2 without the agreement of copyright holders. However for software that is GPL v2 on up you already have agreement from the copyright holders to accept and re-release it under any license that is compatible with that one, including GPL v2 or GPL v3 on up (your choice). Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,598
8/10/05 12:06:11 PM
|
That's the thing
Given some of the talk, I'm not sure that GPLv3 will be a GPLv2-compatible license. Which would mean you couldn't take a large project from GPLv2 to GPLv3 without a lot of hassle.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,603
8/10/05 12:14:55 PM
|
You've missed the point, let me simplify
If you follow the FSF recommendations for how to apply the GPL to your software, your software is not directly licensed under the GPL! If you've just said that the GPL v2 is your license, then it is.
It is extremely unlikely that GPL v3 will be GPL v2 compatible. However for a portion of GPLed software (not all, but some), that will not matter because they followed the FSF recommendations and your software is automatically licensable under GPL v3.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,640
8/10/05 2:42:18 PM
|
How do modifications/contributions work, then?
Consider this situation: \r\n\r\n \r\n- GPLv3 becomes available and is not GPLv2-compatible.
\r\n- I receive a copy of a program which is licensed GPLv2 "or any later version".
\r\n- I choose to receive it under GPLv2.
\r\n- I make changes to the program. Since I received the program under GPLv2, my modifications are licensed under GPlv2.
\r\n- The maintainers of the original version tell me they'd love to include my changes, but can't because of license issues. I tell them I'd love to offer my changes under GPLv2 "or any later version", but I'm not permitted to by the terms of GPLv2.
\r\n \r\n\r\n In short, we're back to explicit relicensing; anything which wants to use GPLv3 is going to have to be exclusively GPLv3. And anything which wants to use GPLv3 and is currently GPLv2 is going to have to get the permission of all its contributors to do that relicensing.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,661
8/10/05 4:15:31 PM
|
Any lawyer will tell you that that is a non-issue
I can argue technicalities, but it comes down to something very simple - who is going to care? The only people who can sue you for a copyright violation are the copyright holders. They have all agreed to let you use it under the terms of the GPL v3. They don't care that you told yourself, "GPL v2, damnit!" So they won't object, and (of course) you own the right to (unless your work is a work for hire, a situation that I won't go through) copyright your own work however you like it. Furthermore you have the right to release your work under any combination of copyrights that you want.
So it is a non-issue.
But if you want to get technical, you go wrong at step 3 in your scenario, as you would know if you read section 5 of the GPL or were familiar with how copyright law works.
Trust me, the GPL v2 and the licensing scheme for how to apply it were worked out by Eben Moglen, who is a lawyer. (In fact he is a law professor at Columbia.) His goal was to make it easy to migrate from GPL v2 to GPL v3. And the only major barrier to this plan is that not everyone followed his instructions.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,736
8/11/05 1:07:49 AM
|
Doesn't change anything
And especially Section 5 doesn't change anything; all it says is that the GPL is the only thing granting me the right to modify and distribute. But if I accept software under GPLv2, then GPLv2 is the only thing granting me the right to modify and distribute, so if licensing under GPLv3 as well means violating under GPLv2 then GPLv3 requires relicensing of the entire project. Which, again, is prohibitively difficult. \r\n\r\n Again, if GPLv3 is GPLv2-incompatible, then projects licensed as GPLv2 "or any later version" will run into serious, serious licensing problems. And the "oh, we'll look the other way" defense isn't good enough; someone who stands to profit from the end of Free software will find a way to bring suit.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,749
8/11/05 3:02:43 AM
|
I suggest that you talk to a lawyer if you're concerned
Because there is no percentage in my trying to explain to you what you're missing. Particularly as you don't seem to be listening.
I already pointed out that nobody with standing will care. I could try to explain to you the differences between copyright licenses and contracts. (That is a very large topic. Suffice it to say that the GPL is not a contract and so behaves very differently than what you describe.) I could nitpick on points you got wrong like your saying in step 3 that you have to accept the license when you receive a copy. (You don't.)
The list of trivial ways out of your scenario goes on and on. For instance no matter what copyright license you happen to receive the program under, you can choose to copyright your modifications however you like. (The resulting derived work might not be distributable if your license and the existing ones are in conflict, but them's the breaks.) For instance MySQL is available under a choice of the GPL or a commercial license. If you receive a GPLed copy, you can submit a patch back to mysql.com under copyright terms that allow them to redistribute your change under the commercial license. You won't have the necessary permissions to ship under that commercial license, but if you give them permission on your bit, they will.
Anyways, I can go on, but as I said, there is no point. Neither of us is intimately involved in drafting the GPL v3, and neither of us will be intimately involved in challenging or supporting it. There are competent lawyers like Eben Moglen involved, and it is their job to worry about details like this. If you're really worried, you're free to try to convince them. But be warned that they're free to ignore you. (Though they likely won't right away, because they are nice people.) After all your opinion doesn't really matter in the end, and they are not being paid to give you a legal education.
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,756
8/11/05 7:53:53 AM
|
OK, bad wording.
I only have to accept the terms of the GPL when I modify and/or distribute the program, so my original scenario was incorrectly worded. But dual licensing doesn't help at all, and I most certainly can't "submit a patch under different copyright terms". If I make changes to the program and distribute those changes, the only terms I can legally use are those of the GPL version under which I made the changes; see Section 4 of the GPL. \r\n\r\n So again, if GPLv3 is v2-incompatible, projects will have to choose one version or the other and stick with it; the "or any later version" stuff is a pipe dream.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,860
8/11/05 4:40:50 PM
|
Again, you're not a lawyer. Don't try to play one.
The GPL section 4 says that you cannot sublicense the program as a whole. This means that if you try to put more restrictive terms on your changes, then you don't have permission to distribute. But nothing is stopping you from putting more generous terms on your changes.
In fact if it is GPL v2 or better and you create a patch and add yourself to the list of people who have modified the program without changing the copyright, then you have put more generous terms on your changes than the GPL v2 provides. Specifically your actions indicate agreement to allow your changes to be released under the GPL v2 or better.
Again, there is no problem. Please have a long chat with a lawyer if you don't believe me.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,939
8/11/05 11:22:21 PM
|
A question
Are you really an asshole, or do you just play one on the Internet? \r\n\r\n Am I a lawyer? Nope. Could Eben Moglen take me in a steel-cage match? No clue. If I distribute my modified version of a GPL program, and I choose GPLv2 in doing so, does that prevent my modified version from rolling into anything using a hypothetically more restrictive version of the GPL? You bet your ass it does. \r\n\r\n A non-GPLv2-compatible GPLv3 would, inevitably, cause that sort of problem. Meanwhile you've said a couple times that nobody would care; in my experience lawyers care a great deal about license violations. Perhaps you should talk to one and check up on that. \r\n
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,943
8/11/05 11:50:54 PM
|
Answer
I only get irritated when I go through several rounds with someone who clearly isn't paying attention. Then I don't mind offending them. As you might have noticed, I've reached that point with you.
As for whether anyone can create a fork that is GPL v2 only from one that is licensed GPL v2 or later - obviously so. I said so at [link|http://z.iwethey.org/forums/render/content/show?contentid=218369|http://z.iwethey.org...?contentid=218369], [link|http://z.iwethey.org/forums/render/content/show?contentid=218525|http://z.iwethey.org...?contentid=218525], [link|http://z.iwethey.org/forums/render/content/show?contentid=218603|http://z.iwethey.org...?contentid=218603], and I'm saying it again now. GPL licensed v2 or later, in accord with how the FSF wants you to do it, does not prevent you from creating a GPL v2 fork.
But what you've been arguing, wrongly, is that the GPL v2 forces people to turn GPL v2 or better into GPL v2. (Note that if it were true, then there would be no point in applying the GPL as the FSF wants you to apply it.)
Now you suggest that I should talk to a lawyer about this. In fact I have already done so!!! Multiple times. Which is why I understand that the scenario that you're describing isn't actually a copyright violation.
Furthermore copyright violations only matter if the person with copyright cares! My understanding is that every good lawyer knows this, but no good lawyer will tell you to take a risk that the copyright holder won't find out about a violation, or can be persuaded after the fact. Why? Because if a lawyer tells you this, and you get sued, you now have standing to sue the lawyer for bad legal advice! (Incidentally that is why people who know some law like to say "I am not a lawyer" and lawyers always say "this is not legal advice". Because you are liable for any legal advice you give. Note that what I'm giving is not legal advice, it is my lay understanding of the law.)
Anyways let me ask you a rhetorical question in turn for the one that you asked me. Are you always an idiot, or do you just play on on the Internet?
Curious, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,952
8/12/05 1:26:20 AM
|
But it does
But what you've been arguing, wrongly, is that the GPL v2 forces people to turn GPL v2 or better into GPL v2. (Note that if it were true, then there would be no point in applying the GPL as the FSF wants you to apply it.)
\r\n\r\n Just keep telling yourself that. If I do something to a GPL-licensed program which I could not do without accepting the GPL, then that something gets pinned to a particular version of the GPL. That pinning could easily wreak havoc if a future version of the GPL is not GPLv2-compatible. That's all I'm saying, and all I've been saying. You've nit-picked about terminology and hemmed and hawed and dropped rude asides asserting that I'm completely ignorant of copyright law, yet here you are granting my first point and I don't see how in that case you can deny the second.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,956
8/12/05 2:49:19 AM
|
I granted one point, not the other
From the start I granted that someone who wants to can move from GPL v2 or better to GPL v2 only. I've not granted your claim that doing something that requires the GPL to do forces you to move from GPL v2 or better to GPL v2 only.
I've given you several reasons why not. The most straightforward, and the one I've gone most into detail on, is that nothing in the GPL restricts how generous you may be with your copyright on what you did. If you try to redistribute there are copyrights on top of yours. Therefore you can't redistribute if you try to put restrictions on that conflict with the GPL. But nothing stops you from choosing to be more generous with your copyright than the GPL requires. You can license your stuff GPL v2 or better, BSD, anything you want that doesn't conflict with the GPL v2. (The whole must, however, be distributed under the intersection of all applicable copyright licenses. You may be generous with your copyright, but you may not choose to be generous with other people's copyrights.) And that simple fact completely undermines your claim.
You haven't really addressed this point. You have pointed at specific sections of the GPL that you thought conflicted with this, and I've pointed out how those sections of the GPL don't say what you thought. I've pointed out at least one project which takes advantage of this fact. You ignored me. (I could name others, but I suspect that you'd ignore them as well.) I've explained exactly what difference it makes if you choose to be more generous with your copyright than the GPL requires. You've ignored me. I've pointed out that the FSF directions for how to apply the GPL to your code would make no sense if you were right about what is possible. You poo pooed that. I've claimed (truthfully as it happens) to have had conversations with lawyers about the GPL. (Incidentally I've discussed both v2, and the possibility of a v3.) You haven't said anything about how much you've discussed it. I suggested that you ask a lawyer for confirmation of some of my claims. You've suggested that I talk to a lawyer instead. (I strongly suspect that I've spent a lot longer talking to lawyers about copyright related stuff than you have.)
Can you see why I might eventually get a little frustrated about this? As the saying goes, opinions are like assholes, everyone has one. However opinions are not all created equal. And right now our opinions don't look very equal to me. If you think they should be, then a good place to start is by addressing this point. Namely that the GPL v2 does not force you to license your changes GPL v2 only.
And no, it is not addressing the point to make repeated unsupported claims like: If I do something to a GPL-licensed program which I could not do without accepting the GPL, then that something gets pinned to a particular version of the GPL. Truth is not established by repetition.
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #218,975
8/12/05 8:44:26 AM
|
Let's try it again, then
Here's a scenario, explained step-by-step. Let us assume, for the sake of argument, that GPLv3 includes language to close the "web services loophole" by stating that if the program is run via a Web server accessible to third parties, I must offer the program's source code to any third party who accesses the program via the Web server. Here's how things would work, then: \r\n\r\n \r\n- I receive a program which is licensed GPLv2 "or any later version".
\r\n- I decide to make modifications to the program and distribute the result. At this point I can either choose a version of the GPL -- version 2 or a later version, at my discretion -- and abide by the terms of that version of the GPL, or infringe the author's copyright by modifying and distributing the program without permission.
\r\n- Not wanting to infringe the author's copyright, I choose to accept the terms of the GPL, version 2, and proceed to modify the program.
\r\n- When I distribute my modified program, I can do so under the terms of GPLv2. If I distribute under GPLv3, or under GPLv2 "or any later version", however, I will be infringing the author's copyright, because the "web services loophole" language imposes a restriction on running the program which is not present in GPLv2. Thus my license offer must confine itself to versions of the GPL which do not impose this additional restriction, namely GPLv2.
\r\n- For the same reason, projects which offer GPLv2 "or any later version", or which in any way offer GPLv3 as a license option, cannot merge in the changes from my modified version without violating GPLv2.
\r\n- Since I cannot offer it under later versions of the GPL, and since projects which do offer later versions of the GPL cannot make use of my modified program, my modified program can now be said to be "pinned" to GPLv2.
\r\n \r\n\r\n The end result is a chaotic mess of forks, many of which are legally incompatible with one another, unless the projects involved drop the "or any later version" language and pin themselves to a particular GPL version from the beginning. For practical reasons that would likely have to be v2. \r\n\r\n And this is, of course, just one example of a GPLv2-incompatible GPLv3, but since the easiest way to be incompatible with v2 is to impose additional restrictions, this case can easily be generalized to cover most or all possible incompatible GPL versions.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #218,995
8/12/05 10:01:35 AM
|
Ahh, now I get you
I think this is a clearer example: Joe creates an app and releases under "GPLv2 or later".
Bob takes that app, modifies it, and releases under "GPLv3 or later"
You're saying that Bob can't do that, because GPLv3 is more restrictive than GPLv2, so applying that license to Joe's app violates the license it was originally released under. I think that's a matter of interpretation. By saying "or later" Joe has given permission in advance to distribute his code in accordance with any future versions of the GPL. Whether it is a good idea to grant in advance permission to yet-unwritten terms is a whole different issue. Now if Bob does release under "GPLv3 or later", Jim can still take Joe's original work, modify it, and release under "GPLv2", "GPLv2 or later", "GPLv3", or "GPLv3 or later". He can also take Bob's work, modify it, and release under "GPLv3" or "GPLv3 or later" What he can't do is release under "GPLv2".
===
Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats]. [link|http://DocHope.com|http://DocHope.com]
|
Post #219,004
8/12/05 11:02:24 AM
|
Not quite
Joe writes the program and Bob wants to distribute it, possibly modify it too. Assume Joe offers GPLv2 "or any later version", and that v3 is incompatible with v2. Bob has to abide by the terms of some version of the GPL when he distributes, and that limits what he can offer to his licensees. Here's how it breaks down: \r\n\r\n \r\n- If Bob chooses to abide by GPLv2 in his distribution, then he can't offer v3 as an option (because it's more restrictive and thus he'd violate v2), and can't use the "or any later version" clause, because that includes an offer of v3. So if Bob picks v2, he's stuck with v2 and so are all his licensees.
\r\n- If Bob chooses to abide by GPLv3 in his distribution, then he may offer the "or any later version" clause, but he'll be in trouble if v4 turns out to be incompatible with v3. So for safety's sake he'd better not. Whether he can offer the option of v3 or v2 to his licensees is debatable; considering that this involves offering the licensees the right to do something not permitted by v3 (i.e., taking v2 and using the program in a web service without offering source), he probably can't, and at the very least he should abide by Section 10 of GPLv2 and write to Joe to ask about this. But to really be safe, if he picks v3 he should stick with v3 and only offer v3 to all his licensees.
\r\n
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,012
8/12/05 11:24:24 AM
|
I'm trying to figure out why you don't "get" this
If Bob chooses to abide by GPLv2 in his distribution, then he can't offer v3 as an option (because it's more restrictive and thus he'd violate v2), and can't use the "or any later version" clause, because that includes an offer of v3. So if Bob picks v2, he's stuck with v2 and so are all his licensees.
Um, no.
If Bob chooses to abide by GPL v2 in his distribution, he cannot choose to relicense under GPL v3.
However if Bob chooses to abide by GPL v2 in his distribution and it came to him GPL v2 or later, he can choose to license the result GPL v2 or later because that license violates no copyrights and grants all of the rights to the recipient that GPL v2 requires him to grant. (Any recipient has the choice of choosing GPL v2, which grants them the necessary freedoms.)
If Bob distributes to Jane under those more generous terms then copyright law says, and the GPL v2 makes crystal clear in section 9, that Jane may choose to ignore the option of GPL v2 and instead receive the code under GPL v3. Presumably the GPL v3 will allow one to license under GPL v3 or later, since that is what the FSF is likely to want to encourage people to do.
The GPL says, "What you do must accomplish these goals." It does not say, "You must apply this exact copyright license to your work." The omission is very much not accidental...
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,060
8/12/05 3:06:19 PM
|
Modifications are only made under the terms of one license
However if Bob chooses to abide by GPL v2 in his distribution and it came to him GPL v2 or later, he can choose to license the result GPL v2 or later because that license violates no copyrights and grants all of the rights to the recipient that GPL v2 requires him to grant. (Any recipient has the choice of choosing GPL v2, which grants them the necessary freedoms.)
\r\n\r\n Um, no. Here's where you don't seem to "get it": \r\n\r\n If Bob does takes some action which requires him to accept and abide by the terms of the GPL, then Bob has to choose one and only one version of the GPL to accept and abide by. This is the same as any other dual- or multi-licensing scheme: you don't receive the program under all those licenses at once, but instead choose one and abide by it. \r\n\r\n And it is because of this that Bob's options in licensing the program to third parties will be limited; since it's the situation we've been working with previously, let's assume that Bob chooses to accept GPLv2, and that GPLv3 imposes additional restrictions on use which make it incompatible with v2. Now, Bob can modify and distribute under GPLv2 in that case, but he cannot make the "any later version" offer. That would mean offering to license under GPLv3 and since we've postulated that GPLv3 imposes additional restrictions, and since imposing additional restrictions on his licensees would violate the GPLv2 which Bob has accepted, he can't make the "any later version" offer without violating GPLv2. \r\n\r\n Again, the moral of this story is that a GPLv2-incompatible GPLv3 would be the mother of all headaches.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,084
8/12/05 4:56:02 PM
|
Where does the GPL v2 say that?
Where does the GPL v2 say anything that prevents you from returning patches GPL v2 or later if you received it GPL v2 or later? You keep on making this assertion, and you're wrong. Obviously you think that you're right, so please quote, chapter and verse what in the GPL v2 forces this to be true, and explain your reasoning. You've ignored me before when I've explained why the GPL v2 doesn't require this, but let me waste time once more explaining why. Here's the situation. Bob receives a program from Alice that is licensed GPL v2 or later. The GPL v3 has terms that are incompatible with the GPL v2. Bob makes modifications, marks them in accord with the GPL v2, and distributes this to Jane, and wants to make the modified version licensed GPL v2 or later. For the sake of simplicity, Bob is distributing this in code form, with the same licensing information attached that he received, and the program is not interactive. Does that pass muster with the GPL? Section by section let's see.
- He is not distributing a verbatim copy, so this section does not apply.
- He has modified, so he needs to meet this section's requirements.
- He has added the necessary notices. Check.
- The whole is available under the GPL v2. Check. (It is also available under the GPL v3...)
- It is not interactive, so this is satisfied.
He is not distributing in object or executable form, so this section does not apply. He is attempting to operate under this license, so this prohibition does not apply. He accepts this license, so this section is not an issue. This applies to Jane, not Bob. Let's suppose that there has not yet been a court order triggering this section. Let's assume that Alice has not triggered this section. This section explicitly says that it is OK for Jane to choose to receive the code under GPL v3 no matter how that license may differ from GPL v2. Again, not a problem. We are not trying to incorporate this into a program with different licensing, this section does not apply. WE ARE NOT TRYING TO CLAIM A WARRANTY. FINE. WE ARE NOT TRYING TO CLAIM LIABILITY. FINE.
Oops, that was the end of the terms and conditions. We did not encounter a single problem! What Bob wants to do is OK!Please explain why you think that the GPL requires that Bob not do what I outlined in this scenario. Be specific. Quote chapter and verse what in the GPL Bob is violating, and explain why Bob's actions violate it. Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,006
8/12/05 11:12:17 AM
|
Step 4 is wrong.
Abiding by the terms of the GPL v2 does not mean that you have to license your change only under the GPL v2. That doesn't change no matter how many times you lay out a "scenario" in which you claim at one step that you have to do that. Let me quote from section 2 of the GPL v2. These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
But wait! The GPL v2 has something specific to say on the topic of GPL v2 or better licensing in section 9. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
In other words the GPL v2 explicitly allows (unnecessarily so, but a lot of the GPL v2 is devoted to explaining basic things that would be obvious to a good lawyer) you to choose to follow a later version of the GPL if the actual copyright license on the Program allows that. Therefore if you choose to provide a more generous version license to your changes than the GPL v2 requires, you are not infringing anyone's copyright. (You would, however, be infringing to try to change the copyright terms that other people have given.) Oh, and another item tangentially relates. The GPL v2 makes it very clear that the terms that you choose to accept or not accept have nothing to do with the terms that anyone who you distribute to has to accept or not accept. See section 6: 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
And, of course, if you actually follow the FSF guidelines for how to apply the GPL v2 to your code, then (as I've pointed out) you will wind up with your code licensed GPL v2 or later. The GPL not only does not prevent you from doing this, and contributers from doing likewise, but actually it encourages people to do that! (It does not require it, but it does encourage.) Please do not respond to this with another unsupported claim that the GPL v2 copyright requires you to limit yourself to the GPL v2 copyright on your code. I don't mind if you say it, but next time give some actual reasoning for your claim!Thank you, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,085
8/12/05 4:59:54 PM
8/12/05 5:02:28 PM
|
Re: Step 4 is wrong.
Ben, I've been supporting my claim, and providing reasoning for it. Over. And over. And over. But here we go, one more time. Step by step, with complete explanation: \r\n\r\n \r\n- If a program is offered to me with a choice of different licenses, I must choose one of the offered licenses and abide by its terms.
\r\n- Therefore, if a program is offered to me with the choice of licensing under GPLv2 "or any later version", then if and when I take an action which would be covered by the GPL I must, per point (1), choose a specific version of the GPL from those available, and accept and abide by its terms.
\r\n- Let us assume that I receive a program with such a license offer, and wish to modify it and distribute the modified version. Let us further assume that, per point (2), I select version 2 of the GPL and accept its terms.
\r\n- Let us assume that as I engage in such distribution, I attempt to comply with the terms of version 2 of the GPL by offering to license the modified program to third parties under the terms of version 2 of the GPL "or any later version".
\r\n- Let us assume that version 3 of the GPL is released, and that it imposes restrictions on use, distribution or modification which are not present in version 2 of the GPL.
\r\n- Let us assume that, once version 3 of the GPL is released, a third party receives a copy of the modified program from me and, noting the offer of "any later version", decides to accept this copy under the terms of version 3 of the GPL.
\r\n- In so doing, I have provided a modified copy of the program to a third party while imposing upon that third party further restrictions on that third party's exercise of rights granted under version 2 of the GPL.
\r\n- Per Section 6 of version 2 of the GPL, I am in violation of version 2 of the GPL.
\r\n \r\n\r\n Conclusion: if version 3 of the GPL is incompatible with version 2 of the GPL, then I may not make the offer of "version 2 of the GPL, or any later version" to third parties to whom I provide copies and/or modifications of a program which I began distributing and/or modifying under the terms of version 2 of the GPL. \r\n\r\n In short, it's not about version numbers, it's about freedom. The GPL doesn't care what incompatible licenses call themselves, because incompatible is incompatible is incompatible.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,086
8/12/05 5:27:11 PM
|
Re: Step 4 is wrong.
They still had the right to accept the code under GPLv2. You didn't force them to accept it under GPLv3. In fact you couldn't stop them from accepting it under GPLv3 as that would be a restriction of their rights under the license. Anybody they in turn distribute it to will also have the right to chose GPLv2 or later.
PS: If I got this right does that mean that everyone in the distribution chain of "GPLv2 or later" software can ignore the "web services" reqirements of GPLv3 at each point in the chain by choosing GPLv2 for their modifications? Wouldn't one have to license as "GPLv3 or later" to truly enforce the new rules?
-- Chris Altmann
|
Post #219,088
8/12/05 5:34:54 PM
|
Half-right
You're right that if you recieve something that is GPL v2 or later, accepting it under the GPL v2 does not require your changes to be licensed GPL v2 only.
But the license "GPL v2 or later" does not require your changes to wind up licensed GPL v2 or later. Likewise the GPL v2 does not require you to license your changes GPL v2 or later if you received a program that was GPL v2 or later - GPL v2 only satisfies the requirements of the GPL v2.
Therefore it is admissable to recieve code that is licensed GPL v2 or later, and then redistribute a modified copy that is GPL v2 only.
I would be shocked if the GPL v3 did not likewise have language making it permissable to relicense something that was GPL v2 or later into GPL v3 or later.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,094
8/12/05 6:22:43 PM
|
Not so sure.
"Therefore it is admissable to recieve code that is licensed GPL v2 or later, and then redistribute a modified copy that is GPL v2 only."
I'm not so sure about that because of the following:
In section 1, the GPLv2 requires that you "keep intact all the notices that refer to this License" in a verbatim copy. In section 2, it requires you to follow section 1 for modified programs as well. Section 9 affirms your rights if the "any later version" language is in the copyright/license notice.
I don't see where one can remove the "or later" rights for further distributees.
-- Chris Altmann
|
Post #219,102
8/12/05 6:55:15 PM
|
Hrm...
Excellent point. I'll ask a lawyer about that. If your interpretation is correct, then you shouldn't be able to mix GPL v2 only code with GPL v2 or later code. I suspect that you'd satisfy all of the requirements if you included a copyright notice like this: Silly Example 2 is a silly example of a program Copyright (C) 2005 Bob the Modifier
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
This is based on previous software, and therefore we must include the following notice:
Silly Example is a silly example of a program Copyright (C) 1999 Alice the Originator
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
But I won't swear to that. Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,403
8/15/05 3:56:42 PM
|
You can mix it, but wouldn't it all become v2 only?
If there is any code that is v2 only, the derevitive work would have to be v2 only.
===
Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats]. [link|http://DocHope.com|http://DocHope.com]
|
Post #219,411
8/15/05 4:27:16 PM
|
Yabut..
The question is how to reconcile that with the need to remain all original copyright notices, one of which would grant the right to be GPL v2 or later.
That is, is GPL v2 only in conflict with GPL v2 or later?
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,428
8/15/05 5:42:03 PM
|
Depends on which came first
If the original work was v2 only, derivitives can not be v2 or later. If the original was v2 or later, someone can release a derivitive v2 only. That will create a fork, with anyone wanting those new changes constrained to v2 only, and anyone not needing those changes free to take the original work as v2 or later. OCIANAL
===
Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats]. [link|http://DocHope.com|http://DocHope.com]
|
Post #219,430
8/15/05 5:48:36 PM
|
Read atcroft's question again
What you described was my impression as well. What atcroft pointed out is that if the original is v2 or later, then the GPL v2 requires that all original copyright notices be left intact. But if they are left intact, then you are distributing with a copyright notice that gives permission on your code that is v2 or later, which gets in the way of your intent to release v2 only.
It is a subtle issue, but my thought (since confirmed as a first impression by someone who knows a lot more than me) was that keeping the notices intact is not the same as keeping the copyright statement intact. Therefore as long as your copyright statement includes a statement that you are including work from XXX, and keep the original copyright notices in the file (while making it clear that they're not your copyright notice), you can satisfy the GPL v2 and not have to apply the original copyright statement to your code.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,358
8/15/05 12:29:22 PM
|
Well, my instincts don't seem bad...
I asked Wendy Seltzer, whose reply was: \nI haven't encountered this particular GPL question before, but I\nimagine it must be solved as you predict, not through the paradox of\na notice clause changing the meaning and intent of the rest of the\nlicense. Most likely, section 1 would allow you to say for your new project\nProject Foo, Copyright (C) 2005\n This program is free software; you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, version 2.\nProject Foo includes code from Project Bar, available at <URL>,\nlicensed under GPL v2 or later. Project Bar's original copyright\nnotices are as follows ...\n So there is some ambiguity, but the first impression of a good lawyer with extensive GPL experience (not legal advice, yada yada yada) matched mine. Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,665
8/16/05 11:33:04 PM
8/16/05 11:36:32 PM
|
Wait a minute.
So she recommends that the derivative work be distributed v2 and only v2, in other words, that the work be pinned to v2, and this is a vindication of your position? \r\n\r\n Please tell me I'm just misinterpreting where this stands in the (now-enormous and hard to follow) thread.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,667
8/17/05 12:11:52 AM
|
Not quite.
It was a followup to my assertion that one can't take a program license "GPLv2 or later" and modify and distribute it as "GPLv2 only" to downlevel recipients.
Ben and the lawyer's opinion is that one *can* do that as long as one keeps the original copyright notice intact, thereby leaving the original code to be under "GPLv2 or later" and one's modifications to be explicitly under GPLv2 (think the later was part of your reasoning, please correct me if I'm wrong).
Having read some other opinions on it I'm starting to gravitate to their side on that, but for some reason it doesn't "feel" right.
Then my eyes glazed over and I found I didn't really care that much :)
-- Chris Altmann
|
Post #219,668
8/17/05 12:36:15 AM
|
You got it
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,087
8/12/05 5:30:24 PM
|
Step 7 in your logic is wrong
Your obligation is to make it available under the GPL v2. You have no obligation to make other people accept it under the GPL v2. Merely to provide the option, which you have done.
You are not in violation of section 6 because you did not impose further restrictions on the recipient. The recipient may choose to accept those restrictions of the recipient's free will, but you are not forcing them to do that. There is no imposition here, so you're fine.
Furthermore section 9 of the GPL v2 explicitly says that it is OK to accept the GPL v3 if you have the option of the GPL v2 or later. This is (admittedly unnecessary) confirmation that the intent of the GPL v2 is to make it possible to license code GPL v2 or later and then later switch to licensing it GPL v3 or later.
There is no problem.
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,105
8/12/05 7:50:19 PM
|
Re: Step 7 in your logic is wrong
Nope. The receipt of the program and choice of license is entirely voluntary on the third party's part, but even if they request it that way, providing a copy of the program under terms more restrictive than those of GPLv2 constitutes a violation of the license on my part.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,108
8/12/05 9:54:15 PM
|
You are not doing that though!
...providing a copy of the program under terms more restrictive than those of GPLv2 constitutes a violation of the license on my part.
Please quote the license in any reply! Be specific!!!
Instead of saying "constitutes a violation", quote the actual license term that you believe has been violated. And explain why you feel that it has been violated. See my new .sig. (It was time for a change anyways...)
Remember that in [link|http://z.iwethey.org/forums/render/content/show?contentid=219084|http://z.iwethey.org...?contentid=219084] I walked through the license for exactly this scenario and found that every single license term was satisfied, so you might start by trying to find a mistake in that post.
I'll also note that the GPL v2 doesn't contain the phrase "more restrictive". Your understanding may contain that phrase, but your understanding is not the license, and the question is whether your understanding is wrong.
Furthermore I'll note as I have several times already that when you say "GPL v2 or later", your terms cannot be less generous than the GPL v2. Anyone who wants can choose to accept the GPL v2 and they get all rights granted by that license. Adding choices does not take existing choices away.
Regards, Ben
Moral of the story: the big picture is good, but details are important, especially when they're wrong. - [link|http://www.perlmonks.org/?node_id=483131|Tom Legrady]
|
Post #219,130
8/13/05 12:43:53 AM
|
Re: You are not doing that though!
Instead of saying "constitutes a violation", quote the actual license term that you believe has been violated. And explain why you feel that it has been violated. \r\n\r\nI'll also note that the GPL v2 doesn't contain the phrase "more restrictive". Your understanding may contain that phrase, but your understanding is not the license, and the question is whether your understanding is wrong.
\r\n\r\n Well, setting aside that I quoted the appropriate clause in the last itemized listing of the scenario (did you read that?), let me just pull up my trusty copy of the GPL, version 2, Section 6: \r\n\r\n 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
\r\n\r\n Emphasis mine. \r\n\r\n Now, let's look at this in context: \r\n\r\n \r\n- I get the program and modify and distribute it, accepting the terms of GPLv2 as I do so.
\r\n- I make the "or any later version" offer to people I give copies to, and one of them chooses to accept under GPLv3 which, we've stipulated, is more restrictive.
\r\n- Fuck me with a cucumber, Cletus! I've violated Section 6 of GPLv2!
\r\n \r\n\r\n Whether my third parties want it or not, once I accept the terms of v2, I can't offer my derivative works under a more restrictive v3. Which means that, if v3 is more restrictive, I'm pinned to v2 for the moment. Maybe v4 will come along and save me, but at the very least I can't make the "any later version" offer.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,134
8/13/05 1:21:33 AM
|
BUT YOU'RE NOT IMPOSING!!!
As I said in the post you replied to, Adding choices does not take existing choices away. You leave people the option of applying GPL v2. Therefore you've imposed nothing on them. If you disagree, please explain how leaving them the option of GPL v2 imposes GPL v3 on the recipient.
I've made variations of this point in [link|http://z.iwethey.org/forums/render/content/show?contentid=218860|http://z.iwethey.org...?contentid=218860], [link|http://z.iwethey.org/forums/render/content/show?contentid=219012|http://z.iwethey.org...?contentid=219012], [link|http://z.iwethey.org/forums/render/content/show?contentid=219087|http://z.iwethey.org...?contentid=219087], and [link|http://z.iwethey.org/forums/render/content/show?contentid=219108|http://z.iwethey.org...?contentid=219108] (the parent post that I quoted from).
Also note that altmann made the same point in [link|http://z.iwethey.org/forums/render/content/show?contentid=219086|http://z.iwethey.org...?contentid=219086].
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,138
8/13/05 1:52:06 AM
|
BUT FREEDOM MUST BE FREE!
The word "impose" here is confusing you, I know, and that's OK because I'll explain it to you. What that means in the context of this here license is that when I make offers of license terms to third parties who want copies of this nifty program, I can't include restrictions that aren't in GPLv2. For more lucid elaborations of the topic I suggest you read the following handy bits of documentation which were written by actual live lawyers: \r\n\r\n \r\n- [link|http://www.gnu.org/licenses/gpl-faq.html#WhatIsCompatible|What does it mean to say that two licenses are "compatible"?]
\r\n- [link|http://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean|What does it mean to say a license is "compatible with the GPL"?]
\r\n \r\n\r\n And I especially would like to refer you to the following bit from the GPL FAQ which was, again, written at great expense by actual lawyers: \r\n\r\n Suppose a program says "Version 2 of the GPL or any later version" and a new version of the GPL is released. If the new GPL version gives additional permission, that permission will be available immediately to all the users of the program. But if the new GPL version has a tighter requirement, it will not restrict use of the current version of the program, because it can still be used under GPL version 2. When a program says "Version 2 of the GPL or any later version", users will always be permitted to use it, and even change it, according to the terms of GPL version 2--even after later versions of the GPL are available.
\r\n\r\n I have added emphasis to the bit which certainly seems to me to imply that this very compatibilty issue is known to the FSF, and that it is indeed true that, in the event of an incompatible GPLv3, existing programs under v2 "or any later version" would end up pinned to one version or the other in the course of distribution through various third parties.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,140
8/13/05 2:23:48 AM
|
Are you actively trying to be stupid?
You seem to be very confused about the word "impose". I only impose something on you if I force it on you. If I offer you a new choice without removing the old, I am not imposing my new choice on you.
If you remain confused, you may wish to consult a dictionary.
Now I'm glad that you found the GPL FAQ. Hurrah for you. Next you might wish to master English. Let's start with the sentence which you think implies the kind of "pinning" behaviour that you're worried about. Said sentence is:
But if the new GPL version has a tighter requirement, it will not restrict use of the current version of the program, because it can still be used under GPL version 2.
Note the phrase that I emphasized. I suggest that you figure out what it means. I further suggest that you read what that sentence says about why no restriction applies and compare it to what I've been saying all along.
Really, this is beyond ridiculous.
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,147
8/13/05 10:16:58 AM
|
This is entertaining; but weirdly hypothetical, isn't it?
I've only been skimming this discussion, but there seems to me to be a way to see a contradiction, but a way to see a resolution. Since you two seem to be talking past each other, I'll put in my $0.02. 1) The GPL says, as I understand it, that one cannot take a GPLed program and impose any more restrictions on it than already exist when the code is released by the original authors (unless all previous copyright holders agree). Or as [link|http://www.gnu.org/copyleft/gpl.html|it says]: When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. 2) If GPLed code is licensed under "GPL v2 or later version" then the GPL [link|http://www.gnu.org/copyleft/gpl.html|says], briefly: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Thus, the question becomes: Can a hypothetical GPL version 3 that imposes new requirements on the release of source code for "web services" be compatible with a "GPL v2 or later" license? Given what we've discussed here earlier ("closing the web service loophole"), and given the quote from section 1 above, and my limited understanding, it would seem not. I think that's what Ubernostrum has been trying to say. Perhaps the problem is in the understanding of what rights are granted by the license. "GPL v2 or later" doesn't give the user to do anything they want with the code. The user has rights to the code under the license, and the license is subject to change. Thus, one can look at it as: As long as the code is released under "GPL v2 or later" then the FSF can change the subsequent licenses any way they want and it will be by definition GPL compatible. As long as the code has a GPL "or later" license, then a subsequent GPL license could say that all code released has to have the [link|http://www.ntk.net/ballmer/mirrors.html|DanceMonkeyBoy] MPEG included and it wouldn't affect the validity of the earlier "or later" license. Maybe that's what Ben is saying. I recognize that Stallman and Moglen have thought about these issues for years and are aware of the arguments about how many licenses can dance on the head of a pin. I'm sure they will craft a GPL v3 that is compatible with "GPL v2 or later" and clearly explain how. So it seems like the problem is going to be in code released under a specific version of the GPL. [link|http://www.theregister.com/2005/08/11/gpl_fsf/|The Reg]: On web services, Moglen said GPL required a "single legal phrase" that satisfied companies with different definitions of what it means to run software in the kinds of distributed environments that are the bedrock of web services. My $0.02. Carry on. :-) Cheers, Scott.
|
Post #219,163
8/13/05 1:31:02 PM
|
Here's some clarifications on your take.
I've only been skimming this discussion, but there seems to me to be a way to see a contradiction, but a way to see a resolution. Since you two seem to be talking past each other, I'll put in my $0.02. Seeing how other people see it is always good. 1) The GPL says, as I understand it, that one cannot take a GPLed program and impose any more restrictions on it than already exist when the code is released by the original authors (unless all previous copyright holders agree). Or as [link|http://www.gnu.org/copyleft/gpl.html|it says]: It doesn't exactly say that, though it says something similar. We've been arguing about the implications of those terms. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
This is from the preamble. It documents the general intent of the GPL. It does not document the exact terms though. The intent only matters if there is a lack of clarity in the exact terms that needs to be resolved. Therefore what you really need to examine is the section from where it says, The precise terms and conditions for copying, distribution and modification follow. to END OF TERMS AND CONDITIONS. 2) If GPLed code is licensed under "GPL v2 or later version" then the GPL [link|http://www.gnu.org/copyleft/gpl.html|says], briefly:
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. If you have followed the instructions of the GPL v2, this is indeed what it says. Thus, the question becomes: Can a hypothetical GPL version 3 that imposes new requirements on the release of source code for "web services" be compatible with a "GPL v2 or later" license? Given what we've discussed here earlier ("closing the web service loophole"), and given the quote from section 1 above, and my limited understanding, it would seem not. There is no question on this point, everyone is agreed. A useful GPL v3 is meant to address some issue with the GPL v2, and is likely to impose incompatible restrictions. Not just on web services, but there is also the suggestion of some terms that are meant to discourage the use of patents against free software. I think that's what Ubernostrum has been trying to say. Actually it isn't. What he's trying to say is that if the GPL v2 conflicts with the GPL v3, then anyone modifying a GPL v2 or later program following the restrictions of the GPL v2 must license their changes GPL v2 only. In other words, the GPL v2 forces one to go from GPL v2 or later to GPL v2 only. Perhaps the problem is in the understanding of what rights are granted by the license. "GPL v2 or later" doesn't give the user to do anything they want with the code. The user has rights to the code under the license, and the license is subject to change. Thus, one can look at it as: As long as the code is released under "GPL v2 or later" then the FSF can change the subsequent licenses any way they want and it will be by definition GPL compatible. As long as the code has a GPL "or later" license, then a subsequent GPL license could say that all code released has to have the [link|http://www.ntk.net/ballmer/mirrors.html|DanceMonkeyBoy] MPEG included and it wouldn't affect the validity of the earlier "or later" license.
Maybe that's what Ben is saying. That is indeed what I'm saying. More specifically, I'm saying that because of that, the GPL v2 cannot force you to have to switch from GPL v2 or later to GPL v2 only. I recognize that Stallman and Moglen have thought about these issues for years and are aware of the arguments about how many licenses can dance on the head of a pin. I'm sure they will craft a GPL v3 that is compatible with "GPL v2 or later" and clearly explain how. I made that point as well. To deafening silence. So it seems like the problem is going to be in code released under a specific version of the GPL. We're in agreement on that. [link|http://www.theregister.com/2005/08/11/gpl_fsf/|The Reg]:
On web services, Moglen said GPL required a "single legal phrase" that satisfied companies with different definitions of what it means to run software in the kinds of distributed environments that are the bedrock of web services. I am very interested in what this phrase might be... My $0.02.
Carry on. :-) Thank you for the permission. :-) Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,193
8/13/05 6:51:32 PM
8/13/05 6:53:02 PM
|
Your mother was a hamster
In one-syllable words, since apparently you're a bit special: if I give you this thing, I can't say "oh, and here are some more things you can't do with it". And if you ask me to say that, it won't change things; I still can't say that. \r\n\r\n Why is this, you may ask? Well, let's consider a reductio ad absurdum: \r\n\r\n \r\n- I receive a copy of a program called "Foo" which is licensed GPLv2 "or any later version".
\r\n- I decide that I want to distribute Foo, so I have to accept the terms of a version of the GPL. I pick version 2.
\r\n- When I distribute Foo, I offer to license it under GPLv2, or under the terms of a highly restrictive proprietary license I had my lawyer draw up.
\r\n- Someone chooses to receive a copy of Foo under the highly restrictive proprietary license.
\r\n- I'm informed by the original authors of Foo that I've violated the GPL. I tell them that I haven't, because I didn't "impose" the restrictions; my licensee chose them of his own free will.
\r\n \r\n\r\n Happens all the time, right?
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,226
8/13/05 11:53:46 PM
|
Interesting
You won't acknowledge that the GPL FAQ that you were trying to quote at me said the exact opposite of what you thought it said. Instead you start trying to pull new arguments out.
Let's try your reductio ad absurdum out, shall we?
In the scenario that you describe, you have two options. One is the one where you ask the person to decide in advance which license they are receiving it under. In that scenario you have trivially violated the GPL v2, you distributed copyrighted materials in a manner which was not approved of by the copyright owner. The GPL v2 is very clear on this, every copy that you distribute in accord with the GPL v2 must be distributed under the GPL v2 license.
The other scenario is the one where you give the person the software and when they want to copy, modify, etc, they have a choice. In the other scenario they'll probably just laugh at your proprietary license, and use the GPL v2. But it gets worse for you. If your proprietary license purported to allow people the right to redistribute under some circumstances, and they chose to use that, they won't actually have permission from the copyright holders and will be liable. And the people you distributed to will be able to blame you and you'll be liable.
In the second scenario where you're going wrong has nothing to do with the GPL, and everything to do with copyright law. A copyright owner owns the right to decide when copies will or will not be allowed. Third parties may not decide to take that right for themselves. Unless all copyright owners have agreed to a license, or agreed to terms which that license satisfies, copyright law says that you cannot copy modify or distribute.
(Note that if all copyright owners have agreed to GPL v2 or later, then you're fine to accept it under the terms of the GPL v3. But all copyright owners must have agreed to that.)
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,238
8/14/05 1:32:24 AM
|
Ben, you ignorant slut
My whole point with the reductio exercise is to show that having a third party choose a more restrictive license doesn't change the terms of the GPL; more restrictive is more restrictive is more restrictive, and if I license a copy of a GPL program to a third party under terms more restrictive than those of the GPL version I agreed to upon commencing distribution, I am in violation of the GPL. Period. You keep coming tantalizingly close to recognizing this, but you always fail spectacularly in the end.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,284
8/14/05 11:33:09 PM
|
Your intended point was not what you accomplished
What you intended was a feat of brilliance that would cause me to change my world views, ignore everything that I said, ignore the GPL FAQ, and cause me to admit my utter ignorance.
What you accomplished was demonstrating that you don't understand that copyright law prevents you from putting a copyright license on a work that the copyright owner has not agreed to.
Which is about your usual par.
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,287
8/15/05 12:18:10 AM
|
Riddle me this
\r\n- GPlv3 comes out and is more restrictive than GPLv2.
\r\n- I receive a program licensed GPLv2 "or any later version", and decide to distribute copies of it.
\r\n- In order to distribute copies, I choose to accept and abide by the terms of GPLv2.
\r\n- I offer to license copies GPLv2 "or any later version", and someone gets a copy from me which they then do something with which requires them to accept the terms of an applicable version of the GPL, and they choose GPLv3.
\r\n \r\n\r\n In step 4 above I've licensed a GPL program to a third party with additional terms more restrictive than those of the version of the GPL I agreed to when I decided to distribute. I would like to know, clearly and succinctly, how that is anything other than a clear-cut violation of Section 6 of GPLv2. Because, you see, I've read the license, and I know for a fact that there's not a damn thing in there which lets me add restrictions to the license when I distribute the program. \r\n\r\n I know you've spouted nonsense previously about how "impose" means I have to force the choice, and that as long as I offer the less-restrictive v2 you don't think there's a problem. I'm of the opinion, however, that the "I didn't force it on him, your Honor" defense wouldn't hold up in court. Perhaps you should speak to an attorney regarding that, Ben. \r\n\r\n Also, I'd like you to meditate on the phrase "these terms and conditions" in Section 6 of GPLv2, and let me know exactly which terms and conditions are being referred to there. \r\n\r\n And yes, the reductio was deliberately absurd; that was sort of the point. I've tried to keep this discussion light-hearted with the Monty Python taunts and exaggerated reductio and such, but if you want to keep up the petty ad-hominem shit I'll be happy to have a serious dick-measuring contest for our respective knowledge of intellectual property law.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,301
8/15/05 1:29:00 AM
|
The riddle is trivial
Section 6 says: 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
This means that the recipient automatically receives a license from the original licensor to operate under the GPL v2. You are not allowed to interfere with this license grant. You are not responsible for making sure that others operate within the license grant. Therefore if you distribute to someone else under GPL v2 or later, you have met the requirements of section 6. The work is available under the GPL v2, as required. You've done nothing to impose any restrictions on people's ability to take full advantage of the GPL v2. You've met the requirements. The option of GPL v2 must be available, and is. It is not your responsibility if people take advantage of other choices. Now for a common sense question. Wouldn't [link|http://www.gnu.org/licenses/gpl-faq.html#VersionTwoOrLater|Why should programs say "Version 2 of the GPL or any later version"?] be pretty ridiculous if an issue like the one you suggest exists actually existed? The entire point of saying GPL v2 or later is so that changes (including tightening the license) can be made later. If doing so caused a problem, that would be a pretty big issue. Wouldn't you expect someone to have come up with it already? Now both of us have suggested that the other talk to an attorney about the GPL v2. Which begs the question of which of us actually has talked with attorneys about the GPL v2? I know that I have. Enough of them at enough length that I don't want to bother them with a question that I know the answer to already, and which the ones that I know know that I should know the answer to as well. (Besides would you believe me if I said, "OK, a lawyer confirmed my opinion"?) However if you want to ask you can always subscribe to the appropriate list (license-discuss-subscribe@opensource.org would be appropriate...) and ask there. Please be sure to report back with their answers. :-) Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,325
8/15/05 4:05:40 AM
|
Ah, Ben, you didn't meditate.
Again, I ask you: when Section 6 says "these terms and conditions", to which terms and conditions is it referring? I don't honestly see how it could be referring to any terms and conditions besides those of version 2 of the GPL. Now re-think your answer in light of this information, and have your lawyers friends do the same. \r\n\r\n And if you could point me to a publicly archived mailing list where this has been asked, and answered by a licensed attorney who practices in the field of copyright law (even better if they routinely work with GPL issues), then I just might be more inclined to believe you. \r\n\r\n And as for the "don't you think they'd have come up with it already" argument, I do wonder whether anyone ever sat down and thought out what would happen if a future version of the GPL wasn't compatible with previous versions; as I read it (and, dear Ben, I used to literally do IP research for a living, as that was what got me my grant money in school, so I'd like to think I can read a license and get the salient points), the GPL is rather optimistically written with the assumption that future versions will remain compatible.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,362
8/15/05 12:47:40 PM
|
I don't know of anywhere that this has been asked
Which only goes to say that I don't know of anyone who has chosen to misunderstand things in the way that you have chosen to misunderstand them. But I pointed you at a list where you can ask, and you are likely to be answered by multiple lawyers who are deeply involved in free software. (And therefore should be expected to understand the GPL v2 pretty well.)
To answer your specific question, the phrase these terms and conditions in the GPL v2 do indeed refer to the GPL v2. Section 6 therefore says that if you follow the GPL v2, then anyone who receives the Program from you automatically receives a GPL v2 license for the Program, and you may not restrict their free use of the permissions that the GPL v2 provides them. Which, if your modified version is offered under the GPL v2, you haven't.
This says nothing about what other licenses may or may not be available to the recipient under what terms. Just that the GPL v2 must be available, and you must not impose any restrictions on their freedom to use the permissions granted by the GPL v2.
As for whether anyone has thought about this topic, when the GPL v2 was drawn up, certainly people thought about the issue of how to migrate from version to version. After all license migration was at the time an interesting topic, considering that they were trying to figure out how to migrate from the original GPL to the GPL v2. That's why the GPL v2 has instructions for people to follow which were meant to smooth the way to the GPL v3 when that came around.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,401
8/15/05 3:52:31 PM
|
Future versions don't have to remain compatible
... the GPL is rather optimistically written with the assumption that future versions will remain compatible. No it's not. If you assume every future version will remain compatible with the current version, you have no reason to specify "or any later version". If, on the other hand, you assume that future versions will be incompatible, then you can offer in your license terms the option to release under any future version of the GPL. And anyone redistributing it can choose which of those -- v2 or any later version -- to attach. Hell, if you wanted to be perverse, you could take a "GPL v2 or any later" program, modify it, and attach a license specifying "GPL v7 only". Now that would effectively take your fork proprietary. Cool, huh?
===
Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats]. [link|http://DocHope.com|http://DocHope.com]
|
Post #219,196
8/13/05 7:04:13 PM
|
And your father smelt of elderberries
Note the phrase that I emphasized. I suggest that you figure out what it means. I further suggest that you read what that sentence says about why no restriction applies and compare it to what I've been saying all along.
\r\n\r\n Ben, you underlined all the words except the one that matters! It says it will not restrict USE. You're trying to say it will not restrict RELICENSING WITH FURTHER RESTRICTIONS. These phrases I've put in bold, dear Ben, are not quite equivalent. \r\n\r\n And note how that bit neatly explains that the reason why use will not be restricted is the availability under GPLv2. Which implies that receiving the program under GPLv3 would (drumroll please) "impose further restrictions". What can't you do under GPLv2? Oh, yeah, you can't impose further restrictions. \r\n\r\n I'm very sorry that you have the reading-comprehension skills of a blind quadruplegic chihuahua, but I'll be happy to keep bludgeoning you with facts until you understand them.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,227
8/14/05 12:08:36 AM
|
And you have the brains of a chihuahua
There, we can both be silly. Note the phrase that I emphasized. I suggest that you figure out what it means. I further suggest that you read what that sentence says about why no restriction applies and compare it to what I've been saying all along.
Ben, you underlined all the words except the one that matters! It says it will not restrict USE. You're trying to say it will not restrict RELICENSING WITH FURTHER RESTRICTIONS. These phrases I've put in bold, dear Ben, are not quite equivalent.
No, I am not trying to say that it will not limit relicensing. I am saying that licensing your modifications GPL v2 or later will not conflict with the GPL v2. Let's walk through the scenario again, shall we? Alice produces a work licensed GPL v2 or later. Bob modifies it and redistributes it to Jane licensed GPL v2 or later. Jane modifies it and redistributes it licensed GPL v3 or greater. Is this allowed? I believe that we both agree that Alice is allowed to put any copyright she wants on her code. The FAQ item that you quoted agrees with me, and makes it clear that Bob is allowed, under the GPL v2, to make modifications and redistribute them as GPL v2 or later if Alice's code was already GPL v2 or later. (We're agreed that he can't put an arbitrary license on Alice's code.) Copyright law, common sense, and section 9 of the GPL v2 all agree that Jane can choose to receive that code under the GPL v3. Assuming that the GPL v3 allows it, Jane can license her changes GPL v3 or later without problem. Note that we've been arguing about whether Bob can redistribute a modified work under the GPL v2 or later license that he received it under. Bob is not trying to change license terms. Jane is, and she's operating under the (still hypothetical) GPL v3. So relicensing does not enter into the question of whether Bob can do that. And note how that bit neatly explains that the reason why use will not be restricted is the availability under GPLv2. Which implies that receiving the program under GPLv3 would (drumroll please) "impose further restrictions". What can't you do under GPLv2? Oh, yeah, you can't impose further restrictions.
You're missing something basic about copyright law. Copyright law restricts distributing copies. It does not restrict receiving copies. When you receive a copy you have no need to accept any copyright license. It is only when you seek to do something prohibited by copyright law that you need to accept a copyright license. Therefore talking about the copyright license that you recieve a copyrighted piece of code under makes no sense. You don't need a license for that, it is not a restricted activity. This point is made fairly explicit in section 5 of the GPL v2. I'm very sorry that you have the reading-comprehension skills of a blind quadruplegic chihuahua, but I'll be happy to keep bludgeoning you with facts until you understand them.
You may continue demonstrating your incomprehension if you like. I'm bored, I'm just waiting to see whether you ever notice how completely and utterly wrong you are. And if you do, whether you will have the guts to acknowledge it. Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,239
8/14/05 1:37:51 AM
|
See, here's the thing
You seem to be assuming that my position is something like "if I receive a GPL program licensed v2 or later, and modify/distribute it as v2 or later, then I am in violation of the license." Your latest makes this abundantly clear, so I'll remind you that my position is this: if I receive a GPL program licensed v2 or later, and if I modify/distribute it as v2 or later, and if v3 comes out and is more restrictive than v2, and if someone chooses to get a copy from me and takes the option of v3, then I am in violation of the license. This stems from the simple, verifiable, undeniable fact that there is no language in the GPL, anywhere or of any sort, which permits me to license a program I obtained under the GPL under more restrictive terms than those of the GPL version I obtained it under. And, in fact, the whole and entire point of the GPL is to make it legally impossible for me to do that. \r\n\r\n So please, demonstrate that you aren't a blind chihuahua and get that through your smug skull.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,304
8/15/05 1:41:06 AM
|
That is a misunderstanding I hadn't quite anticipated
So you believe that Alice writes code that is GPL v2 or later and gives it to Bob, Bob modifies it and releases the modified version GPL v2 or later to Jane, then Jane modifies and later redistributes under GPL v3 to John, that Bob is in violation of GPL v2 at the point that Jane chooses GPL v3?
Do you have any idea how ridiculous this is?
Suppose that Bob gives Jane the code, and Jane sits on it for a year and a day. Then you'd have us believe that for a year and a day that Bob's distribution was OK until Jane decided to choose the GPL v3?
Um, sorry. It doesn't work like that. Either Bob's distribution to Jane is OK, or it isn't OK. At the point of distribution. Which happens before Jane has any reason to accept any copyright license. (Which might be never. That is, after all, how many times that I've needed to accept the copyright license on Linux.)
And, as I've pointed out many times, as long as the option of GPL v2 is available, you've satisfied the requirements of the GPL v2. The other options that you may or may not provide are irrelevant, the GPL v2 is satisfied if you provide the GPL v2 as an option. (Copyright law may not be satisfied if you try to provide options that you're not allowed to provide, but that is outside of the GPL.)
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,198
8/13/05 7:09:21 PM
8/13/05 7:12:57 PM
|
Now go away, or I shall taunt you a second time
You seem to be very confused about the word "impose". I only impose something on you if I force it on you. If I offer you a new choice without removing the old, I am not imposing my new choice on you. \r\n\r\nIf you remain confused, you may wish to consult a dictionary.
\r\n\r\n Ben, I suggest you write to those bastards at the dictionary, because they've got it all wrong. Here's what my Oxford dictionary says for "impose": \r\n\r\n v. trans. to lay on or set on; to put, place or deposit.
\r\n\r\n Ain't nothing in there about force, Ben.
--\r\nYou cooin' with my bird? \r\n[link|http://www.shtuff.us/|shtuff]
|
Post #219,230
8/14/05 12:20:07 AM
|
What do the other definitions say?
The free online version of the Oxford has 2 definitions. See [link|http://www.askoxford.com/results/?view=dict&field-12668446=impose&branch=13842570&textsearchtype=exact&sortorder=score%2Cname|http://www.askoxford...rder=score%2Cname]. The one that applies here is clearly force to be accepted, undertaken, or complied with.
Merriam-Webster's online dictionary has 4 definitions. See [link|http://www.m-w.com/cgi-bin/dictionary?book=Dictionary&va=impose&x=0&y=0|http://www.m-w.com/c...va=impose&x=0&y=0]. The first is the one that applies, and it comes in 2 forms. a : to establish or apply by authority <impose a tax> <impose new restrictions> <impose penalties> b : to establish or bring about as if by force <those limits imposed by our own inadequacies -- C. H. Plimpton>.
Dictionary.com has 5 definitions. See [link|http://dictionary.reference.com/search?q=impose|http://dictionary.re...m/search?q=impose]. The first 2 could apply, and are essentially the same as Merriam-Webster's definitions.
Note that part of mastering English is not just being able to recite definitions out of the dictionary, it is having a good enough understanding of how language is used to know which definition is meant.
Regards, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|
Post #219,285
8/15/05 12:06:51 AM
|
What does this mean?
Whether my third parties want it or not, once I accept the terms of v2, I can't offer my derivative works under a more restrictive v3. Umm, you don't accept anything until you distribute. You keep talking about what terms you and others are "accepting" the code under. You aren't a party to any license agreement until you distribute.
===
Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats]. [link|http://DocHope.com|http://DocHope.com]
|
Post #218,982
8/12/05 9:26:38 AM
|
Re: I granted one point, not the other
Ben says>If you try to redistribute there are copyrights on top of yours. Therefore you can't redistribute if you try to put restrictions on that conflict with the GPL.
Uber says>If I do something to a GPL-licensed program which I could not do without accepting the GPL, then that something gets pinned to a particular version of the GPL.
Only difference, which I assume Uber is leaving out because of assumption is the redistibute part.
You are both arguing the same point.
But IANAL ;-)
If you push something hard enough, it will fall over. Fudd's First Law of Opposition
[link|mailto:bepatient@aol.com|BePatient]
|
Post #219,007
8/12/05 11:13:55 AM
|
No, we really are arguing different points
I've agreed that the GPL v2 allows you to convert from GPL v2 or later to GPL v2 only. However it does not require it.
But ubernostrum is arguing that the GPL v2 requires that conversion.
That is a very significant difference.
Cheers, Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
|