Why P.U.R.E. will not be GPL or CC-PD. Very long.
Moderator: Moderators
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
CC-PD is a license for making stuff PD since it's not as easy as saying "this is PD" in some countries.
Also be careful, you can only relicense what is actually your work, if you had it up as GPL for a while and anyone contributed a change you can only relicense the unchanged version, anything with the change would need permission of the one who changed it.
Also be careful, you can only relicense what is actually your work, if you had it up as GPL for a while and anyone contributed a change you can only relicense the unchanged version, anything with the change would need permission of the one who changed it.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
We need a nod emoticon.quantum wrote:This thread demonstrates the perils of going PD. Imagine you used and improved the chickens script. You state that you will forbid CA from using your work in PURE, so CA players would be unable to benefit from the improvements. That is a situation I'd like to avoid.
I do agree with this as well. if you are concerned about people not sharing back their improvements GPL makes sense. Of course one thing that makes licensing awesome is that you can issue special licenses if someone asks. I wish more developers would consent to be more open to specific cases but I understand how hard it is to find people on the internets that you can trust to share back without any binding contract.
Either way, WHY IS THIS DISCUSSION in GENERAL it is a mod/game development discussion.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
What, like, say, Fanger? Go read his license text. BTW, no license text means (C), as he's a citizen of the USA. I didn't want to revisit that... but it's the only documented example we've got.Those certain projects being 'Ones who want to take the work, then not share it back'. Share and share alike, thats the whole point of the GPL. Its their choice to not want to share that work back with us.
I would be willing to bet you, though, that if you go look at mods that don't have specific licenses (i.e., they're (C), if the modder's in the USA) or are specifically not GPL, you're going to find violations all over the place.
Basically, you guys are like the monkeys who see no evil, if you advance arguments like that. Please look at facts, not what you want things to be. You're already having your license violated by parties that either cannot be GPL (say, BA... hmm) or aren't licensed GPL.
If you're worried about me... ask for a copy of P.U.R.E., and we can continue this conversation when you know what I'm doing. Seriously. I have nothing to hide, and nobody should be worried about me- I have not done anything unethical here, and probably have the cleanest game, legally speaking, that's currently built. We either own our code, or are using PD code that is still quite clearly marked PD. We used one Widget, and it's in World Builder, which is a GPL'd add-on, and is not core gamecode. We're free of dependencies to anything that's GPL.
If any of you want to see the Beta, and reassure yourselves about this, please, just send me a PM, I will be happy to show you the game. If you have questions or objections, I will be happy to deal with them.
1. I'm still investigating the status of copyright when applied to a derivative work. I have a friend in a law office, I tapped her to find me precedents.I'm not too familiar with copyright law, but I would find it bizzare (and extremely worrying) if I did not have sole authority on the copyright status on things that I create on my own time, from scratch, including models and Lua scripts, whether they are part of a mod or not.
I think what we're going to find is that you cannot apply for copyright protection on a derivative work at all- that was her immediate take on that, but she said she'll find me some evidence to back that up.
2. The arguments in regards to whether this is all an "aggregate" or not are pretty fundamental, and I'm still investigating that one. My initial opinion based on what I've read is that any gamecode (i.e., Gadgets) may not be interpreted to be part of an "aggregate"- they are essential for a game to function as designed.
IOW, you should be worried. The more I look into it, the weaker you guys' case looks, when it comes to stuff you've put into CA directly. Stuff that was released separately is another story entirely- but stuff that was sent to the SVN is probably not protected, as I originally argued here. I will get back to this when I have case law to cite. In any case... I will just politely pretend that it's not a problem, and you guys can just work out a different method of "publishing" that separates your source one degree from inclusion into SVN, and then we're just back to the major issues. I think that it's a minor issue, basically, so long as it's corrected in the future.
I'm totally sympathetic to that particular worry. I agree, that would be a bad thing. It would be contrary to the spirit in which you shared it. All I'm arguing is that using the GPL to achieve that goal is a bit like swatting a fly with a Bertha. It's massive, massive overkill.This thread demonstrates the perils of going PD. Imagine you used and improved the chickens script. You state that you will forbid CA from using your work in PURE, so CA players would be unable to benefit from the improvements. That is a situation I'd like to avoid.
LGPL would have been a far better choice, because it allows linking with private stuff, but doesn't contain the copyleft provisions. Go read up on it.
While I agree with that sentiment about the way things should be, the GPL doesn't just provide rights, it also requires certain things.Any project can use my scripts. They just can't stop anybody from exercising the rights the GPL gives them.
It's not just about your rights, as the author. The person using the work has certain responsibilities as well. If they aren't going to adhere to those responsibilities, you need to defend the license. If you don't, for stuff you just don't feel like, you make the license really hard to defend, in a case that actually matters.
It's not just ironic. It's tragic. It is an infectious, evil copyright eating monster. Have you not paid a bit of attention? Under the GPL, every prior author also has copyright! If you end up in a copyleft situation, every prior author has the right to sue you!Its ironic that the same guy who started the 'GPL scare' by shouting at fang for including his walk scripts and giving everyone the impression that the GPL is an infectious, evil copyright eating monster, is now criticising us for using it.
Given the above I was just plain wrong to use it, it was a massive disaster to try and enforce, and I've changed my mind. I had a desired result, policy-wise, and it was a complete failure in practice.
When I applied the GPL to NanoBlobs, I was doing so under the impression that, as Smoth has stated, we were dealing with an aggregate- a given BOS script could be GPL, but the project as whole could be (C), or something else.
Since AF argued against that point, I've looked into that, and while I think it's actually arguable that CEG code and BOS could be viewed as an aggregate, since they do not interact with other code (unless doing so via Lua, modifying certain variables... and some of zxswg's stuff might be arguable) ...
Here's a quote from FSF... this actually helped a bit, thanks Saktoth:
IOW, a Gadget cannot be regarded as a non-aggregate. It's communicating directly with lots of other content in the game, and is modifying it, not just reading it (this is why I have not brought Widgets into this discussion- stuff that doesn't write new game-states is almost certainly not a copyleft problem, imo).If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. In order to use the GPL-covered plug-ins, the main program must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when the main program is distributed for use with these plug-ins.
Now, whether that results in copyleft of the entire game... is arguable. I'd say yes, because ultimately, anything touched by that Gadget is then copylefted, which touches other stuff, and so on and so forth- there are probably some areas where there are "fire breaks" between things, but it'd take lawyers and computer scientists to determine that.
****************************************************
****************************************************
<pant, pant>
I hope that the above helped clarify things a bit.
I'm not hostile to the desire of CA's coders from enforcing a "share-alike" license. That's totally cool with me.
Nor am I hostile to their desire to make sure it can't be stolen from them by some evil, privatizing jerk.
And if any of you want proof about my intentions, meh, ask for a Beta copy of P.U.R.E. This isn't about me, guys.
I mainly brought this up because of Smoth, and the other 4 people, who, I should note, are all staying out of this thread, probably in hopes that whatever happens will work out well for them.
I don't want you guys working on CA to believe that I'm attacking you in any way, basically. I think that the initial flaming stuff was not really productive- this isn't a situation where I think anybody involved has bad intentions. I like what you're doing overall, even if we have a different POV about how best to accomplish some larger policy goals. That's a minor difference of emphasis, though.
You guys want a license that protects you from bad people who want to privatize it. I think that the LGPL is probably more suitable for you. The GPL is probably too restrictive, unless you don't plan to ever enforce it, in which case, you might as well go CC-PD (that's Creative Commons Public Domain, btw, sorry if that acronym's confusing).
More when I have some feedback in terms of case law. Meh, I don't honestly think that that part of my argument's all that important anyhow. I advanced it simply to highlight the mess that the GPL creates, I think it's done it's job, and nobody is trying to just put your code into Public Domain- I'd withdraw those arguments entirely, in fact, except that I think it might be better for everybody to have a definitive answer about that stuff, so that we know exactly where things stand.
What Smoth and others want, though, is to use your code legally. That almost certainly requires re-licensing the Gadgets. Widgets can probably remain GPL without any issues at all.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
thing is argh, I have no idea why the thread continues, you have made an explanation of your desired license, there is no need to defend it. The way I see things, legal documents or not, you said in pretty plain English what you want for pure's scripts etc.
There was nothing wrong with that and it removes the OMG ARGH you dick reaction that people might have about you holding features to a fairly strict license. You are making an early post with clearly outlined intentions. I fail to understand why the thread is going on and on. It was pretty easy for me to understand what you were asking of us and what you wanted to say about your code/assets.
*edits as he realizes he was unclear*
In fact, I request that unless the moderation staff wants a flame war that my name/project should not be permitted in the discussion. I will not allow myself or my project to get drug into this thread.
There was nothing wrong with that and it removes the OMG ARGH you dick reaction that people might have about you holding features to a fairly strict license. You are making an early post with clearly outlined intentions. I fail to understand why the thread is going on and on. It was pretty easy for me to understand what you were asking of us and what you wanted to say about your code/assets.
*edits as he realizes he was unclear*
I don't have to hope it works out well for me, what is happening in pure as I already stated does not effect me. I do not see myself using your code and as I said earlier I always ask for special license in the case of gundam when I want to get something. You have not gotten any pm from me now have you. Don't try to draw me into this, it is your thread and your license. The GPL is pretty clear to me on it's definition of what is aggregate and gundam is not in any danger.Argh wrote: I mainly brought this up because of Smoth, and the other 4 people, who, I should note, are all staying out of this thread, probably in hopes that whatever happens will work out well for them.
In fact, I request that unless the moderation staff wants a flame war that my name/project should not be permitted in the discussion. I will not allow myself or my project to get drug into this thread.
Last edited by smoth on 18 Jun 2008, 23:57, edited 1 time in total.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
Careful Argh, the functions gadgets call are part of the engine. If you want to argue down that road you'll have to conclude that ALL lua code must be GPL and therefore ALL mods (using Lua) must be GPL.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
I MEAN REALLY argh, I was staying out of it mostly to be nice. There is no alternative motive to it. There is no hoping it will work out. I do not understand what you are getting at and honestly I have been nothing but nice. I could stop being civil, the apples are running out.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
Maybe after the last giant flamewar some people did some research and learned some things?
EDIT: This post no longer makes sense, some things were moderated. Just skip it.
EDIT: This post no longer makes sense, some things were moderated. Just skip it.
Last edited by Erom on 21 Jun 2008, 02:41, edited 1 time in total.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
This is the kind of thing that different object files linked into one exe do. The real key is sharing data structures, where they operate on the raw internals and share that frame. This is about mixing in the code operating on a class between files. To extrapolate programming data structures to the general data contained in unitdefs and such... it doesn't work. Just look at how programming structures are shared, it's very different.If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins.
Widgets and Gadgets are not in danger by using a standardized API that lets them read and modify certain portions of the game state. Your average program makes a ton of function calls all around, but it doesn't make it spread the gpl or be in any way derivative of anything it talks to or any images it loads.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
You could, theoretically, have the Lua run in another engine. In reality, that's unlikely, but it makes a convenient fig leaf for us to hide behind, and I think it should stay that way.Careful Argh, the functions gadgets call are part of the engine. If you want to argue down that road you'll have to conclude that ALL lua code must be GPL and therefore ALL mods (using Lua) must be GPL.
Well I did say to everybody, from the start, that I thought that the CA stuff was a whole topic thread to itself. This is, pretty much, what I should have brought up six months ago, but I did most of the homework involved afterwards.thing is argh, I have no idea why the thread continues, you have made an explanation of your desired license, there is no need to defend it. The way I see things, legal documents or not, you said in pretty plain English what you want for pure's scripts etc.
Personally, I think it's been very useful, hearing the different points of view. Once we got past the angry bits, that is.
We have everything from jK's pretty straightforward, "hell yes, I want copyleft!" to Saktoth's "we want to make sure that what we do is shared by everybody" to Evil4Zergin's "hey, everybody else was doing it". It's not exactly a monolith of opinion here.
I'm perfectly willing to just let them discuss stuff and figure it out at this point. The whole matter of, "is their GPL even legal" is something that can be dealt with mainly by ignoring it, if they've provided a better explanation of their policy, as a project, of enforcing the GPL, or they use something less problematic.
Either way would probably resolve the major issues for everybody- one informally, but at least it'd be in writing, the other formally and nobody would ever have to worry about it ever again.
Yeah, all right. So, we're back to the idea that they're basically compartmentalized and can be considered an aggregate?This is the kind of thing that different object files linked into one exe do. The real key is sharing data structures, where they operate on the raw internals and share that frame. Widgets and Gadgets are not in danger by using a standardized API that lets them modify certain portions of the game state.
I dunno, then we're getting into some pretty iffy stuff, even if I accept that argument. If a Gadget can modify the health of a Unit, is it "sharing data structures", or not? I'd say, "yeah", but in a memory-block sense, probably not. If you have an apple, move it from the right to the left side of a table, then move it back... it's still an apple.
If we accept the aggregate argument, I'd personally welcome that, it'd remove almost all of the major problems with this. Everybody could just use whatever, so long as they didn't try to privatize it.
I'd also be royally pissed off, personally, because THAT'S WHAT I TRIED TO DO WITH NANOBLOBS, AND WAS TOLD I COULD NOT DO, WHICH STARTED THIS WHOLE MESS IN THE FIRST GODDAMN PLACE.
<gasp> Sorry, I had to get that out of my system...
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
So that's your train of thought. Very interesting. Well let me explain. Sharing data is a very different thing from sharing data structures. You can have all the calls you want to read in a data point or two and write a data point. But when you have a bit of C++ that uses spring engine header files and directly manipulates, say, CUnitDef, then you are using the data structures and effectively adding more blocks of code right into the engine.Argh wrote:If you have an apple, move it from the right to the left side of a table, then move it back... it's still an apple.
Let's see if I can make a horribly contrived^H^H^H^H^Hbrilliant apple analogy...
Two people are being given temporary managerial status at a local grocery. Both are passionate about fruit, each in his own way. L respects his coworkers, and begins by asking the apples manager how things are going, and how many apples are in stock. Then he requests a small pyramid of apples be placed in the main isle to entice buyers. Yagami, on the other hand, wants to do everything himself, even at the expense of others. He runs in himself, moving an apple here, shining an apple there, and who's to say Yagami's not actually a part of the apple team?
And then a hacker called Ryuk comes and eats all the apples... what was I talking about again?
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
No, you didn't read them properly. Laws of US apply inside the borders of US, and in some cases to citizens of US outside of them. Never to people who are not citizens, and have never been there. The treaties force all member countries to adopt a certain minimum level of copyright protection, and to treat foreign copyright exactly as they would treat domestic ones. That is, inside france, french copyright laws are applied to everything.I read US copyright laws, through the Berne and WIPO Treaties and the EU's equivalent of the Digital Millennium Copyright Act, after our last license wars, and here were my final conclusions:
A. US copyright laws apply, in your countries of residence, if you are violating a US copyright. I.E., it is a given that OTA's content is not yours to legally use, until that is determined in a court of law. Under US law, copyright is assumed until successfully challenged, therefore, all of the OTA mods are illegal and in violation of copyright.
Why this matters is that almost all countries in the world have laxer copyright laws than USA, especially when talking about non-commercial stuff.
Yes, this does lead to cases where a work is legally gpl inside some parts of the world, and not in usa.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
First off, water boys... if you want to have a creepy-crawly thread, or just piss each other off... please, do it elsewhere. This is not the right place for you guys to chew on each other again. Nor the right place for spurious piccies that don't have anything to do with the real arguments.
Seriously, I'm not here to speak for anybody who wants to speak for themselves. I think this has gone from a fairly narrow discussion to a better one, and I'd appreciate it if it wasn't completely derailed just yet.
And I don't, nor do I pretend to, so it's actually helpful when people point this out, so don't worry about offending me, I like being educated, so long as people don't act like I'm retarded or whatever, because I don't know some geek term.
To me, a "data structure" is a place on the theoretical "tape" where the data just happens to be sitting. It may be encrypted or offset or whatever, but it's still the same data, in a practical sense- the apple's still an apple.
When two different lines of low-level code shuffle that data from one portion of the tape to another, they are moving it around- maybe the apple looks like a strudel at one point, but at the start and end, it's an apple, or we can't do anything practical, like "multiply health of Unit X by 50%".
Where do people who actually know what they're talking about draw a clean line here?
MOV DS, AX moves whatever resides at position DS to position AX (I cheated and checked the 8086 instruction set manual, my knowledge of assembler is basically crap). It doesn't matter where it is on the tape, or what instructions come first, once we get past the compiler, I would think. So, where is this "data structure", in reality? How do you say, "this apple is no longer equivalent to that apple, because it's another apple in a different data structure".
Is it because the "apple" has been copied, and can be said to exist in two or more places on the tape, until it returns to that read-write position and is once again the same, if the low-level code is working on it?
At any rate, if there's a definite line here, and we can delineate it, it'd probably help make the argument about what is "aggregate" much stronger, and I would completely support that, even though I would find it very frustrating that it was accepted so late in the game...
This is about actual content from an actual, copyrighted product. I don't think that any country that signed the Berne Treaty would allow you to make derivative works from it legally. So no, I think I've stated my case quite accurately in that regard, unless you have specific law you'd like to show that says otherwise.
Seriously, I'm not here to speak for anybody who wants to speak for themselves. I think this has gone from a fairly narrow discussion to a better one, and I'd appreciate it if it wasn't completely derailed just yet.
I have to assume that "very interesting" is coder-speak for "Argh doesn't know our terminology or understand all of the concepts"So that's your train of thought. Very interesting. Well let me explain. Sharing data is a very different thing from sharing data structures. You can have all the calls you want to read in a data point or two and write a data point. But when you have a bit of C++ that uses spring engine header files and directly manipulates, say, CUnitDef, then you are using the data structures and effectively adding more blocks of code right into the engine.

And I don't, nor do I pretend to, so it's actually helpful when people point this out, so don't worry about offending me, I like being educated, so long as people don't act like I'm retarded or whatever, because I don't know some geek term.
To me, a "data structure" is a place on the theoretical "tape" where the data just happens to be sitting. It may be encrypted or offset or whatever, but it's still the same data, in a practical sense- the apple's still an apple.
When two different lines of low-level code shuffle that data from one portion of the tape to another, they are moving it around- maybe the apple looks like a strudel at one point, but at the start and end, it's an apple, or we can't do anything practical, like "multiply health of Unit X by 50%".
Where do people who actually know what they're talking about draw a clean line here?
MOV DS, AX moves whatever resides at position DS to position AX (I cheated and checked the 8086 instruction set manual, my knowledge of assembler is basically crap). It doesn't matter where it is on the tape, or what instructions come first, once we get past the compiler, I would think. So, where is this "data structure", in reality? How do you say, "this apple is no longer equivalent to that apple, because it's another apple in a different data structure".
Is it because the "apple" has been copied, and can be said to exist in two or more places on the tape, until it returns to that read-write position and is once again the same, if the low-level code is working on it?
At any rate, if there's a definite line here, and we can delineate it, it'd probably help make the argument about what is "aggregate" much stronger, and I would completely support that, even though I would find it very frustrating that it was accepted so late in the game...
National laws come first, naturally. However, the EU's laws concerning copyright actually closely mirror the provisions of the Digital Millenium Copyright act. And the "certain minimum level" that you speak of actually would apply to this specific case. We're not talking about a marginal case, like the Pirate's Bay people, who in the USA would be shut down for aiding known infringers.No, you didn't read them properly. Laws of US apply inside the borders of US, and in some cases to citizens of US outside of them. Never to people who are not citizens, and have never been there. The treaties force all member countries to adopt a certain minimum level of copyright protection, and to treat foreign copyright exactly as they would treat domestic ones. That is, inside france, french copyright laws are applied to everything.
This is about actual content from an actual, copyrighted product. I don't think that any country that signed the Berne Treaty would allow you to make derivative works from it legally. So no, I think I've stated my case quite accurately in that regard, unless you have specific law you'd like to show that says otherwise.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
No more off-topic posts.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
A data structure is the structure in which the data is kept, not the data itself. The two concepts are independent, a data structure can be e.g. a tree or a linked list while the data is a table. For your example, the data structure is the tape itself while an API is pretty much like a user in front of the computer asking what the entry in cell 1138 is. You share a data structure when you can directly manipulate its contents where directly means you can do things like unit->health = 100; instead of unit->SetHealth(100);.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
In which case:
it seems my apple analogy didn't hold as well for this so I used boxes, so lets just assume these boxes contain apples ^_^Box schematics = data type
A Box = data structure
my boxes contents = data
your boxes contents = data
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
Isn't the primary difference how it's accessed? Extending AF's boxes of apples, there are two people. Each have a box (data structure) full of apples (data). Person A wants to modify an apple in Person B's box (similar to how a Lua script may want to modify a units health).
If the two people are sharing data structures, Person A can take an apple from Person B's box and modify it himself directly (Take a bite? Make a pie? I don't know!). In this case the GPL would spread from Person(software) B to Person(software) A.
However, Person A can ask Person B to modify an apple in Person B's box (calling SetUnitHealth(unit,foo) instead of Unit.Health = foo) without having access Person B's box, and that is sharing data without sharing data structures.
Is my understanding correct / reasonable? Has my explanation been helpful?
If the two people are sharing data structures, Person A can take an apple from Person B's box and modify it himself directly (Take a bite? Make a pie? I don't know!). In this case the GPL would spread from Person(software) B to Person(software) A.
However, Person A can ask Person B to modify an apple in Person B's box (calling SetUnitHealth(unit,foo) instead of Unit.Health = foo) without having access Person B's box, and that is sharing data without sharing data structures.
Is my understanding correct / reasonable? Has my explanation been helpful?
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
Well if the apple schematic says that my apples can be red green or both, then its fine to change the red apple to a green apple.
But lets say I did something that changed the schematic, so the apple can now have polka dots, and there's a new modified schematic, then I must share that new schematic and apply GPL to it.
Putting the apple in the box is mere aggregation.
But a schematic for an apple and box combination that involved the GPL apple schematic specifically could only use a box schematic that's GPL or under a GPL compatible licence.
But lets say I did something that changed the schematic, so the apple can now have polka dots, and there's a new modified schematic, then I must share that new schematic and apply GPL to it.
Putting the apple in the box is mere aggregation.
But a schematic for an apple and box combination that involved the GPL apple schematic specifically could only use a box schematic that's GPL or under a GPL compatible licence.
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
AF, can you work cars into that too?
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
Will you accept the iCar?
Re: Why P.U.R.E. will not be GPL or CC-PD. Very long.
Ok, so basically, so what you're saying is that Lua, since it's calling stuff in the API, which in turn is calling a Spring engine function directly (which is, of course, optional, if somebody wrote a new Gadget Handler from scratch) ... would then qualify as "mere aggregation". That makes sense.For your example, the data structure is the tape itself while an API is pretty much like a user in front of the computer asking what the entry in cell 1138 is. You share a data structure when you can directly manipulate its contents where directly means you can do things like unit->health = 100; instead of unit->SetHealth(100);.
In a broader sense, if we accept the argument above, then, are all games / mods then to be considered "mere aggregations" as a whole project, then? This was the argument I originally advanced, in defense of multiple licenses on NanoBlobs, then we all tore it down and declared I was wrong... so, was I right after all?
Where's the real dividing line here? To a player, this is all one game. A judge would have terrific problems, IRL, trying to understand that what appears to be one giant program is in fact many smaller programs that interact with various APIs, that in turn hook into a very big program, but the APIs keep it seperate. And lawyers would have a field day, trying to compare Spring stuff with other game designs that also use various scripting systems internally.
I might need to look and see what, if anything, has been said about the legality of Lua scripts used with the DoW / CoH engine, since that's the closest comparison I can think of, and see if there are any real holes in that argument. I have a feeling, though, it's never been really tested, because I'll bet DoW / CoH EULAs have some language that would prevent anybody from trying to sell a full-conversion game developed for the engines, etc., and I don't recall ever seeing license declarations on the DoW modder-built AIs and other stuff (oh yeah... AF, remind me to show that stuff to you sometime, it might be vaguely useful).
Lastly... are there any serious exceptions to this? I mean, CobHandler is pretty obviously an API in most respects, CEG code is clearly going through not one, but two layers of interpretation, IIRC (converted into Lua, then compiled and interacting with the Lua API which passes it to Spring, I believe) ... and sounds and S3Os are just data, so therefore they can be licensed however we want, without any worry about copyleft "infection"- you can use copyrighted data in a GPL program, and it doesn't magically become GPL.
If no further flaws are discovered due to the questions above... meh, then we're all done here, and this nicely wraps things up, as well as giving just about everybody what they wanted. CA could just keep on truckin', all parties wanting to give out code under various other licenses could do so, and nobody would have to worry about copyleft, unless they're taking GPL'd Lua / COB and sharing data between GPL'd stuff and non-GPL'd stuff, in which case, it'd be a pretty obvious infraction.
If the questionable bits above don't seem to raise any further issues, then we should probably just make some sort of statement available, like this:
What does everybody think about the above? Meh, I'm all for it, but I want to make sure there aren't any more chinks in the armor- it'd be very, very nice if this was dealt with in this fashion, as it would make worrying about license violations a lot less of an issue. But I think we should deal with the "whole game" argument before we declare the discussion complete.Licenses and You
Many game designers who have just started working on games for Spring want to know if they may use files, code, or other content from existing games in their work. The Spring community wants to encourage people to share with one another and improve Spring's games, but there may be various limitations imposed on the use of a given piece of somebody else's games, and you should be aware that some authors do not wish to let you use their content in other projects.
Spring games are known as "aggregations" and may have multiple Licenses, effecting different areas of the game. For example, a S3O model may be copyrighted, but a CEG script may be in the Public Domain. Please read the license texts included with the games you're studying, and if you have any questions, PM the author of the game before using their work in your own games.