FSF stance on GPL issues.
Moderator: Moderators
-
- Imperial Winter Developer
- Posts: 3742
- Joined: 24 Aug 2004, 08:59
Re: FSF stance on GPL issues.
SWTA guys transferred everything to me when I took over the running of SWTA.
We're still in vague contact with most of them, too.
We're still in vague contact with most of them, too.
Re: FSF stance on GPL issues.
I'm pretty sure either you mistyped or misread.jK wrote:yup, it is what NV does with their kernel gfx drivers.Argh wrote:So long as a game developer does not distribute Spring with their game as a package, are they in violation of the GPL on the Spring game engine?
The user would break the GPL license then, what is allowed in many countries for private usage.
If it is what NV does with their kernel graphics drivers, then it probably isn't in violation to distribute separately.
Re: FSF stance on GPL issues.
I don't think it's equivalent, and I don't think that Yoni's statements left any wiggle-room... but meh, that would be worth investigating.If it is what NV does with their kernel graphics drivers, then it probably isn't in violation to distribute separately.
Good. That pretty much deals with that worry, then.SWTA guys transferred everything to me when I took over the running of SWTA.
We're still in vague contact with most of them, too.
As for the rest of it... meh. Do you guys want me to reply in detail?
Nobody wants to destroy Spring. The "nuclear option" is just a fact of life. I want a license change, and I don't want certain projects to use my code. That's all I wanted from the last debate. It's not my fault, that the FSF saw things otherwise. It just makes solving this problem permanently more pressing.
Re: FSF stance on GPL issues.
I do not like the GPL either but it cannot be helped. The only way to do anything about it is to petition the devs for a license change. Rather than raise a ruckus here, the devs are the ones you need to make your request to. I would not annoy them too much about it but yeah, they are the ones you need to make that request to.
Re: FSF stance on GPL issues.
Yoni's statements are entirely based upon GPL 3, which is VERY different than GPL 2 and thus functionally incomparable to it.
Re: FSF stance on GPL issues.
while it's great that you guys are so thoroughly arguing this bit couldn't the time and effort on reliscensing???
This is just the point of view of a player.
This is just the point of view of a player.
Re: FSF stance on GPL issues.
not that simple and we content devs are but a feather in the breeze.
Re: FSF stance on GPL issues.
All right... let's look at that more thoroughly, then. The FSF's FAQ says, of "mere aggregation" (and no, that's not a weak citation, thanks):Yoni's statements are entirely based upon GPL 3, which is VERY different than GPL 2 and thus functionally incomparable to it.
If that's the case, then... we're not using pipes, which are defined as:If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.
"a software/hardware construct that moves data from one location to another." We don't do that- we're getting translated data across the API layer, with both Lua and COB. We aren't moving data directly from Spring to our code.
And we're not using sockets, which is a network term:
http://www.sharpened.net/glossary/definition.php?socket
We're not doing either. We're using an API:
Moreover... read through this, people. It's specific to v2... and I think it's why v3 now specifically mentions "dynamic linking":A language and message format used by an application program to communicate with the operating system or some other control program such as a database management system (DBMS) or communications protocol. APIs are implemented by writing function calls in the program, which provide the linkage to the required subroutine for execution. Thus, an API implies that some program module is available in the computer to perform the operation or that it must be linked into the existing program to perform the tasks.
http://www.rosenlaw.com/html/GPL.PDF
Hmm. Mr. Rosen states there, in 2001, that using an API is safe and legal... in v2.
This Larry Rosen guy, btw, is one of the bigshots of the GPL scene, and works with the FSF, the last time I checked.
And this particular paragraph is key:
Simply combining a copyrighted work with another work does not create a derivative work. The original copyrighted work must be modified in some way. The resulting derivative work must itself ├óÔé¼┼ôrepresent an original work of authorship.├óÔé¼┬Ø So if the licensee doesn├óÔé¼Ôäót modify the original GPL-licensed program, but merely runs it, he is not creating a derivative work.
Sooooo... do we want to revisit this? Because it does look like, according to Mr. Rosen, that what we were doing before this bruhaha was legal... under v2.
Not under v3. I suspect they changed that, to avoid people modifying GPL stuff's operations via API calls and then calling it non-GPL. Precisely what we're talking about, right here.
Last edited by Argh on 22 Aug 2008, 06:50, edited 4 times in total.
- Pressure Line
- Posts: 2283
- Joined: 21 May 2007, 02:09
Re: FSF stance on GPL issues.
* Pressure Line waftssmoth wrote:not that simple and we content devs are but a feather in the breeze.
...this is nice...
Re: FSF stance on GPL issues.
Thanks for the Rosen quote Argh, I think that settles it. Rosen is an attorney, the person I contacted at the FSF wasn't so Rosen's statements take precedence in any conflict. Spring is still GPLv2 AFAIK and I hope it stays like that (v3 is a shameless powergrab IMO and designed to turn 'free' from a way of sharing into a political movement).
With the FSF emails we've also cleared the GPL-component-in-a-mod issue so I think we've reached clarity now and an engine license change, while nice, is not necessary anymore.
*cue someone releasing a GPLv3 piece of Lua*

With the FSF emails we've also cleared the GPL-component-in-a-mod issue so I think we've reached clarity now and an engine license change, while nice, is not necessary anymore.
*cue someone releasing a GPLv3 piece of Lua*

Re: FSF stance on GPL issues.
I'm _really_ happy to see this shitstorm over.
Re: FSF stance on GPL issues.
Well, I'm waiting on jK and Radtoo, before concluding this (hopefully final) debate on this.
For the record, Richard Stallman (the guy we have to thank for v2's language- he got help from attorneys when making v3) has tried to assert that dynamic linking of any kind establishes a "whole program". Yes, this is true. However, that is not what the FSF's lawyer said, and nobody ever successfully tried that in court... ever.
And before anybody tries advancing that particular zombie army... I would invite y'all to review the 3 cases that have ever actually reached court in the United States. Here, here, and here.
Oh, and let's not forget that Skype thing, in Germany. Which was, like the BusyBox case, about outright code theft.
All three involve parties who deliberately and intentionally stole the core source of a product, put it into another product with a different name and no GPL notices, and then claimed it as their own works- an action that's pretty clearly infringing.
Lastly, as MySQL vs. NuSphere demonstrated, there would have to be "irreparable harm" demonstrated in court, for such a case to proceed.
And that was about a fork. Let alone some nebulous dynamic-linking argument.
Who's harming anybody, if a Spring game went commercial? Nobody, that's who. Spring makes negative money. It is not re-licensing the engine for private use, like MySQL AB does.
And most of the serious thought I read about this said that the dynamic linking argument would not be enforceable, under v2.
Which is why v3 is very specific on that topic. The FSF knew it was a serious problem, and would not survive court.
I've taken a look at GPL cases involving that... guess what? They got dismissed, or got settled. At least here in the U.S., that extremely permissive copyleft argument has been taken very dimly indeed, since it's not in the text of the license itself.
IOW... if I took Spring, removed the GPL notices, packed in P.U.R.E. and said, "this is my game engine and my game"... I'd definitely be breaking the law. Nobody involved in this entire conversation has even marginally expressed an interest in attempting that. All of this has been about our core game logic, and its interactions with the game engine.
Oh... and lastly... if anybody makes v3 code, that would poison everything in a project... just as we've discussed before. Yoni's statements would then be in accordance with the License text. No argument.
So... jK, Radtoo et al... if you want a really hardcore copyleft on your work... go ahead, use that version of the license. I really don't have a problem with that, now that we understand the respective differences. If you believe that under no circumstances, private projects should not be allowed use your code and hard work... it's your right to say "no". That's totally fine with me. I doubt if many people will want to use your source, after that, though. Which is why World Builder will be v2, so I don't have people thinking I'm engaged in some secret plot to take over the world...
If that was the objective... well, there ya go, make LUPS V3, etc., and you have no worries, because only stupid people will use it.
Otherwise, I think it's fair to say that this argument's over, and we've returned to the previous status quo. 'Cept for one thing...
What if some idiot commits some engine code and puts v3 on it, or v2 'or later'? You developers had better simply make it policy to reject such offerings, or we're right back to Yoni's statements. And please remove all "or later" statements from GPL notices. That is both legal, and removes this series of arguments from our future, by fixing the License into a particular set of words.
But look, people. I'm really tired of this. I think that we've finally put this thing in the grave. But I'm really, really tired of it.
Two years of this- different parties, different reasoning. It needs to stop.
It's exhausting.
Can we write up a statement saying that any game designer may license their stuff as they wish, and that other game designers should be expected to respect the terms of said licenses, along with a few details about the GPL v2 and v3, so that nobody falls into that trap? Given the "or later" rules, I'm going to review that nothing in World Builder has that on it... so that I, at least, never am accused of trying to steal other people's work by taking their game out from under them...
For the record, Richard Stallman (the guy we have to thank for v2's language- he got help from attorneys when making v3) has tried to assert that dynamic linking of any kind establishes a "whole program". Yes, this is true. However, that is not what the FSF's lawyer said, and nobody ever successfully tried that in court... ever.
And before anybody tries advancing that particular zombie army... I would invite y'all to review the 3 cases that have ever actually reached court in the United States. Here, here, and here.
Oh, and let's not forget that Skype thing, in Germany. Which was, like the BusyBox case, about outright code theft.
All three involve parties who deliberately and intentionally stole the core source of a product, put it into another product with a different name and no GPL notices, and then claimed it as their own works- an action that's pretty clearly infringing.
Lastly, as MySQL vs. NuSphere demonstrated, there would have to be "irreparable harm" demonstrated in court, for such a case to proceed.
And that was about a fork. Let alone some nebulous dynamic-linking argument.
Who's harming anybody, if a Spring game went commercial? Nobody, that's who. Spring makes negative money. It is not re-licensing the engine for private use, like MySQL AB does.
And most of the serious thought I read about this said that the dynamic linking argument would not be enforceable, under v2.
Which is why v3 is very specific on that topic. The FSF knew it was a serious problem, and would not survive court.
I've taken a look at GPL cases involving that... guess what? They got dismissed, or got settled. At least here in the U.S., that extremely permissive copyleft argument has been taken very dimly indeed, since it's not in the text of the license itself.
IOW... if I took Spring, removed the GPL notices, packed in P.U.R.E. and said, "this is my game engine and my game"... I'd definitely be breaking the law. Nobody involved in this entire conversation has even marginally expressed an interest in attempting that. All of this has been about our core game logic, and its interactions with the game engine.
Oh... and lastly... if anybody makes v3 code, that would poison everything in a project... just as we've discussed before. Yoni's statements would then be in accordance with the License text. No argument.
So... jK, Radtoo et al... if you want a really hardcore copyleft on your work... go ahead, use that version of the license. I really don't have a problem with that, now that we understand the respective differences. If you believe that under no circumstances, private projects should not be allowed use your code and hard work... it's your right to say "no". That's totally fine with me. I doubt if many people will want to use your source, after that, though. Which is why World Builder will be v2, so I don't have people thinking I'm engaged in some secret plot to take over the world...
If that was the objective... well, there ya go, make LUPS V3, etc., and you have no worries, because only stupid people will use it.
Otherwise, I think it's fair to say that this argument's over, and we've returned to the previous status quo. 'Cept for one thing...
What if some idiot commits some engine code and puts v3 on it, or v2 'or later'? You developers had better simply make it policy to reject such offerings, or we're right back to Yoni's statements. And please remove all "or later" statements from GPL notices. That is both legal, and removes this series of arguments from our future, by fixing the License into a particular set of words.
But look, people. I'm really tired of this. I think that we've finally put this thing in the grave. But I'm really, really tired of it.
Two years of this- different parties, different reasoning. It needs to stop.
It's exhausting.
Can we write up a statement saying that any game designer may license their stuff as they wish, and that other game designers should be expected to respect the terms of said licenses, along with a few details about the GPL v2 and v3, so that nobody falls into that trap? Given the "or later" rules, I'm going to review that nothing in World Builder has that on it... so that I, at least, never am accused of trying to steal other people's work by taking their game out from under them...
Re: FSF stance on GPL issues.
I think Stallman's "whole program" simply isn't the same as the legal concept of a derivative work. So it's a meaningless term.
Committing GPLv3 engine code isn't as easy as that I think. I don't see any mention of which GPL version spring uses, there's a copy of the v2 in the SVN but I don't see any notices in the files about which version they can be released under.
Committing GPLv3 engine code isn't as easy as that I think. I don't see any mention of which GPL version spring uses, there's a copy of the v2 in the SVN but I don't see any notices in the files about which version they can be released under.
Re: FSF stance on GPL issues.
Give it thirty days.imbaczek wrote:I'm _really_ happy to see this shitstorm over.

Re: FSF stance on GPL issues.
Meh, I'll give them until Monday, if they really want to argue further. Past that, and I'll consider this closed, and write a FAQ, so that we never, ever EVER have to do this again.
Seriously... anybody out there who wants to attack the last arguments... get on with it, or say that you've agreed with this, however reluctantly.
You've seen what happens, if you "win", though. Nobody "wins" that. It puts nuclear power into the hands of a bunch of people you don't know... and one guy, me, who you do know will take a very dim view of projects wanting a double standard using his work.
But I think it's fair to expect a public surrender this time, not just silence. Two years of this. And we're right back where we started, after it was all said and done.
You don't have to apologize for passionately defending your arguments, or telling me I'm an idiot, or whatever. That's all water beneath the bridge, to me. Just say that you've accepted the validity of the arguments, as presented. Nobody wants to humiliate any of you. We just want to know that this is over.
So get on with it, or say that you're through, by Monday. I'll be out of town, so you can do whatever you like, without worrying that I'll be attacking your points, etc.
Seriously... anybody out there who wants to attack the last arguments... get on with it, or say that you've agreed with this, however reluctantly.
You've seen what happens, if you "win", though. Nobody "wins" that. It puts nuclear power into the hands of a bunch of people you don't know... and one guy, me, who you do know will take a very dim view of projects wanting a double standard using his work.
But I think it's fair to expect a public surrender this time, not just silence. Two years of this. And we're right back where we started, after it was all said and done.
You don't have to apologize for passionately defending your arguments, or telling me I'm an idiot, or whatever. That's all water beneath the bridge, to me. Just say that you've accepted the validity of the arguments, as presented. Nobody wants to humiliate any of you. We just want to know that this is over.
So get on with it, or say that you're through, by Monday. I'll be out of town, so you can do whatever you like, without worrying that I'll be attacking your points, etc.
Re: FSF stance on GPL issues.
GPL Three: Everybody Dies.
Hey, mod idea!
Hey, mod idea!
Re: FSF stance on GPL issues.
Reminds me of something else:
Remember this GPL freeness only applies as long as you don't put any GPL files into your mod yourself. Many mods seem to include the gadgethandler files in their own archive (possibly because they just copied that part form CA), those are GPL and they load the other lua files in your mod.
Remember this GPL freeness only applies as long as you don't put any GPL files into your mod yourself. Many mods seem to include the gadgethandler files in their own archive (possibly because they just copied that part form CA), those are GPL and they load the other lua files in your mod.
Re: FSF stance on GPL issues.
That makes it GPLv2... it suffices if the whole repository or work is licensed as whole.KDR_11k wrote:I don't see any mention of which GPL version spring uses, there's a copy of the v2 in the SVN but I don't see any notices in the files about which version they can be released under.
Absolutely. The GPLv3 is by itself incompatible with GPLv2, as it imposes additional restrictions and all that. Thus you can't commit it into a public GPLv2 only repository, as it would be violating the GPLv2.KDR_11k wrote:Committing GPLv3 engine code isn't as easy as that I think.
The only way this works sometimes is to use the occasionally encountered "or later" clause behind the GPLv2 -which isn't in Spring's license, though- and make everything de facto under terms of the GPLv3.
Grab Wikipedia again.Argh wrote: Because it does look like, according to Mr. Rosen, that what we were doing before this bruhaha was legal... under v2.
This is how he commented on the issue later & in court, and even later outside in court:
Yes, that's on the GPLv2. Puts us right back where I originally skipped to:Lawrence Rosen has claimed that a court of law would "probably" exclude dynamic linking from derivative works although "there are also good arguments" on the other side and "the outcome is not clear"[30] (on a later occasion, he argued that "market-based" factors are more important than the linking technique[31]).
Since there is no record of anyone circumventing the GPL by dynamic linking and contesting when threatened with lawsuits by the copyright holder, the restriction appears de facto enforceable even if not yet proven de jure.
Early settlements happen not infrequently, but usually are (also) at the loss of the one sued. This will clearly not be good in this context.Argh wrote: I've taken a look at GPL cases involving that... guess what? They got dismissed, or got settled.
About the dismissals on claims on linking, where did that happen? The cases you listed weren't even related to the issue at hand. (Like, one of the linked ones was about the GPL violating antitrust laws, and of course it was dismissed, but that helps none in this context.)
That is to get a preliminary injunction. This case, however, was settled, not smacked down - while no one on the outside knows, I'm sure MySQL got a bunch of money, otherwise they had no real reason to let go...Argh wrote:Lastly, as MySQL vs. NuSphere demonstrated, there would have to be "irreparable harm" demonstrated in court, for such a case to proceed.
---
Repeat statement about this and the remaining unanswered stuff.
Repeat affirmation that I could, and would go with an alternative LGPL solution.
Repeat affirmation that Argh doesn't have to agree, or comply, even if this doesn't make me free to do what I want.
Non-repeat thanks to everyone who does consider, or will GPL the LUA things, including Argh!
Re: FSF stance on GPL issues.
Why thanks only for GPLing things? That's the least free way of sharing, public domain material is open to EVERYONE.
Re: FSF stance on GPL issues.
There are 144 references in entire trunk r6308 to "GNU GPL" of which 143 to "GNU GPL, v2 or later". (34 in trunk/rts all v2 or later)Radtoo wrote:That makes it GPLv2... it suffices if the whole repository or work is licensed as whole.KDR_11k wrote:I don't see any mention of which GPL version spring uses, there's a copy of the v2 in the SVN but I don't see any notices in the files about which version they can be released under.
This is only a small percentage of the total number of files, considering there are over 1200 C++ sourcecode and header files in just trunk/rts.
Because the GPL v3 didn't exist when the original decision to license Spring as GPL was made, AND only the GPL v2 literal license text is included, and over 90% of the files do not explicitly (dis)allow v3, I think it makes the project as a whole GPL v2. (without "or later")
AFAICS Committing GPL v3 code is pretty much impossible because:Radtoo wrote:Absolutely. The GPLv3 is by itself incompatible with GPLv2, as it imposes additional restrictions and all that. Thus you can't commit it into a public GPLv2 only repository, as it would be violating the GPLv2.KDR_11k wrote:Committing GPLv3 engine code isn't as easy as that I think.
The only way this works sometimes is to use the occasionally encountered "or later" clause behind the GPLv2 -which isn't in Spring's license, though- and make everything de facto under terms of the GPLv3.
- When submitting a patch that modifies a part of the code the mere fact you modified the code means you agreed to the only license that allowed you to do so, ie. the GPL v2, so your changes are automatically GPL v2 too if you don't include a notice that says otherwise.
- When you do include a clear notice with your patch that says otherwise, you have a guarantee your patch doesn't get included.
- When submitting a patch that adds new code, you could in theory try to sneak in GPL v3 notices, but if I review the thing I would reject the patch because it's incompatible with our license. (Did that with the initial version of GML stuff for example because it contained some notice similar to "free for use in the Spring engine", which is obviously incompatible with GPL...)
- When by accident something in GPLv3 gets committed it will probably be discovered pretty soon and reverted, so still nothing is lost.
With regards to relicensing the Spring engine; because of all the practical problems with it (and the time it takes) I personally do not have any plans to actually take the initiative. I can say though that I probably wouldn't support a change to LGPL of my contributions. OTOH, I would support adding an exemption for content/games, as long as that doesn't exclude the code from being used in GPL'ed projects without such exemption. (Not sure how that works...)
EDIT: on another note; I just remembered Yeha and I also had a discussion with a FSF volunteer in february/march 2007 (I think he contacted us because "a user" had contacted them about Spring), and I found the e-mails. The last e-mail was as follows:
EDIT 2: Realize this was before LuaEverything except LuaUI, so the only scripts the first line (about dynamic linking) refers to is BOS/COB. The first version of LuaRules/LuaCob was added to the repository only a few weeks later (mid march 2007).Hi Linus,
The mods are effectively dynamically linked to the GPLed game
facilities, making them part of the game:
http://www.gnu.org/licenses/gpl-faq.htm ... reterIsGPL
So yes, you would be required to grant an exception for those modules.
The exception would look like:
<snip>
Linking TA-Spring statically or dynamically with other modules is making
a combined work based on TA-Spring. Thus, the terms and conditions of
the GNU General Public License cover the whole combination. In addition,
as a special exception, the copyright holders of TA-Spring give you
permission to combine TA-Spring program with free software programs or
libraries that are released under the GNU LGPL and with independent
modules that communicate with TA-Spring solely through the TA-Spring
Mods interface. You may copy and distribute such a system following the
terms of the GNU GPL for TA-Spring and the licenses of the other code
concerned.
Note that people who make modified versions of TA-Spring are not
obligated to grant this special exception for their modified versions;
it is their choice whether to do so. The GNU General Public License
gives permission to release a modified version without this exception;
this exception also makes it possible to release a modified version
which carries forward this exception.
</snip>
This exception should be added to all GPL copyright notices in
TA-Spring. If there is a better term for "TA-Spring Mods" interface,
please use that instead. If you have any questions about this exception,
feel free to ask us.
--
David Fu
FSF Compliance Lab volunteer.
This is not legal advice. I am not a lawyer.