The GPL, and how it applies to your games.

The GPL, and how it applies to your games.

Discuss game development here, from a distinct game project to an accessible third-party mutator, down to the interaction and design of individual units if you like.

Moderator: Moderators

User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

The GPL, and how it applies to your games.

Post by Argh »

After this latest debacle, it appears there is much confusion about how the GPL works, what people have to do to be compliant with it, and why people like me are releasing their work under the GPL in the first place.

I am not a lawyer. The following answers are not, in fact, guaranteed to be 100% perfect, in terms of legality. However, this is my understanding of the text of the GPL. I'm going to do this as a Q&A, taking common questions and answering them.

Q: I want my game to be 100% closed-source. Can I release it with GPL content?

A: No. The GPL content must be made available, and you must include a prominent notice that states you are making use of it.

In a Spring game, this means that if 99% of your code was written entirely by you, without re-using GPL'd code, then that 99% is still yours, it's private, and in theory you can tell people they can't use it. That 1% that is GPL, however, comes with obligations.

What are these obligations?

1. Provide a manifest (a text file) detailing what GPL code was used. If, for example, you're using my Nuke scripts or other FX code, then just put a textfile saying, "This game contains the following code, which was originally released under the GPL: ScriptThatMakesThingsGoBoom.tdf, etc., which can be downloaded in its entirety at http://whatever.com"

2. Include the original source files. That way, people wanting to verify that you are playing fair don't have to spend a lot've time checking your work.

3. Make sure to include the text of the GPL license (probably at the bottom of the manifest file would be easiest). If you have never read the license, then you can find it here: http://www.gnu.org/licenses/gpl.txt



Q: If I release a game with GPL content in it, is everything in my game subject to the GPL?

A: No. The GPL only applies to the GPL code or other content you are using. It does not mean you have signed away your rights.



Q: Do I give up my copyrights to my content, if I make it available under the GPL?

A: No. If somebody takes your work and claims it as their own, you can pursue them, both for violation of the GPL and for violation of copyright law. Releasing under the GPL does not, for example, give people the right to take your work, put it into some other game, and make money off of your work.



Q: Let's say that I'm releasing a game that contains... artwork or other elements that are copyrighted to somebody else. Just theoretically, heh. If I get shut down by the owners of the copyright, will that get whoever made the GPL code in trouble, too?

A: No. In fact, adhering to the GPL means that you are less likely to get whoever wrote the GPL'd code in trouble, because it will be crystal clear that you were using someone else's work.



Q: I want to charge money for my game at some point. If it contains GPL code, and it is adheres to the license, can I do that?

A: YES! The GPL does not prevent you from doing so- in fact, that is one of the reasons it was made in the first place- to avoid people continually suing each other over really important algorithms that get used for all sorts of commercial stuff.


In short... the GPL is about three things:

1. Proper credit- i.e., not labeling stuff as yours, when it was actually made by someone else.
2. Making it clear to the public that your work is building on the work of other people.
3. Leveraging the work of other people to build other really cool stuff. Following the rules means that you can use all of this cool stuff openly, without obfuscation, guilt, or any legal problems!

The GPL is good for everybody working on Spring. It allows people like me to contribute some of their best work to the community without having to worry about it getting ripped off without proper credit. It allows modders who aren't quite as technically proficient to use GPL'd code without any problems down the line about copyright. And it allows everybody to build on everybody else's GPL'd work. It's a very good thing, and the rules are super-easy to follow.

*************************************************************


After the E&E disaster, I have read posts indicating that even after explaining all this stuff once, it still wasn't clear what I was getting mad about in the first place.

I was not mad that Fang was using my stuff. That's what the GPL is for.

I was not mad that Fang did not want to make his entire mod GPL. That is his choice. And it's 100% legal.

I was mad that Fang would not follow the GPL rules, even after I explained what I needed him to do. I thought I had made myself 100% clear, but from his statements after the fact, this does not seem to be the case.

Apparently, this is because Fang thought that releasing his mod with GPL'd content would make his mod 100% GPL.

As I have stated above, this is not true. The GPL is not some legal disease which will "infect" your game and make it so that anybody can come in, change a few variables here and there, and start claiming your work as their own. In fact, it is the OPPOSITE. It protects you from people just ripping you off. And using a little GPL'd code, properly documented, does not put your entire game under the GPL!

Basically, people, I have been releasing stuff under the GPL, because I want people around here to get used to the idea that, at some point in the future, Spring will go 100% legal. We need to get used to the idea that, instead of being "modders" who are actually in violation of the law most of the time, we are "game designers", making legal work, that we can actually protect... sell... or give away. How one gives things away is as important as the act of doing it- does it come with any strings, or can anybody anywhere use the work?

If you want anybody anywhere to be able to use your stuff, without having to give you credit or anything... release under the Creative Commons license found with NanoBlobs. Under the law in almost any country, that should be sufficient to nullify your copyrights.

If you wish to retain copyrights, and you want people to have to acknowledge your contributions to their work, release under the GPL.

That is, in short, why I licensed the artwork and sounds for NanoBlobs with the Creative Commons license, but the code is released under the GPL. I think the code is far more valuable, basically, and I wanted to make sure that nobody could rip me off.

If anybody has any further questions, please let me know. Please do not restart the flame-war about E&E. They took down their release, deleted all GPL code from the mod, and I am explicitly credited, so I am satisfied that they are no longer in violation of the rules.
Last edited by Argh on 16 Dec 2006, 23:39, edited 1 time in total.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Post by Forboding Angel »

That isn't a useful comment FA, its clear you and argh don't agree on this issue. -Moderator
Last edited by Forboding Angel on 16 Dec 2006, 23:46, edited 1 time in total.
User avatar
Fanger
Expand & Exterminate Developer
Posts: 1509
Joined: 22 Nov 2005, 22:58

Post by Fanger »

I just want to say, that your following explaination is very enlightening and had I heard this before hand I probably would have reacted differently.

As it was I am sorry I took this the wrong way I did not understand the full implications of what was going on and in the heat of the moment did some things I shouldnt have. I am sorry, I wish I had, had a better understanding of the GPL setup as Im almost positive if I had understood it as you have layed it out here then my overall problem would have been nothing. Thank you for posting this explaination I just found it enlightening and Im sure other people will too..
Sheekel
Posts: 1391
Joined: 19 Apr 2005, 19:23

Post by Sheekel »

Argh puts a lot of very hard work into the stuff he does for Spring and I completely respect his decision to GPL it. I think he may have overreacted a bit, but I think we can all understand the frustration when someone else uses your work.

This whole thing sounds like a miscommunication on Argh's/Fang's part and I don't see the need for the huge fight.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

<snips>

Sheekel is right, I need to not act like a tard. And Fang, for what it's worth, I wish none of this crap had happened either.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Post by Forboding Angel »

<snip>

nm
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

I might actually recommend that this is put up as a sticky and revised regularly. I planned to add a section on GPL to the Wiki, so I may simply step that up.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Q: If I release a game with GPL content in it, is everything in my game subject to the GPL?

A: No. The GPL only applies to the GPL code or other content you are using. It does not mean you have signed away your rights.
This is incorrect
User avatar
mehere101
Posts: 293
Joined: 15 Mar 2006, 02:38

Post by mehere101 »

... could you elaborate?
madman2003
Posts: 6
Joined: 16 Dec 2006, 17:06

Post by madman2003 »

At least everything that is linked somehow to the GPL content needs to be GPL, perhaps even the entire mod. I think LGPL would be safer for these purposes, if you want a "give and take" system.
User avatar
FoeOfTheBee
Posts: 557
Joined: 12 May 2005, 18:26

Post by FoeOfTheBee »

The official FAQ is also helpful:
http://www.gnu.org/licenses/gpl-faq.html
Egarwaen
Posts: 1207
Joined: 27 Feb 2006, 21:19

Post by Egarwaen »

madman2003 wrote:At least everything that is linked somehow to the GPL content needs to be GPL, perhaps even the entire mod. I think LGPL would be safer for these purposes, if you want a "give and take" system.
Linked is an inaccurate term. The most precise way to put it is that anything "derived from" the GPL'd content has to be GPL'd. So if you use a GPL'd function or block of code in a script, that script is probably GPL'd. However, none of your other scripts are, unless they are also "derived from" the GPL'd content. One could argue that a model is derived from its textures (or the textures from the model), but this probably wouldn't hold up in court.
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

User avatar
Felix the Cat
Posts: 2383
Joined: 15 Jun 2005, 17:30

Post by Felix the Cat »

madman2003 wrote:At least everything that is linked somehow to the GPL content needs to be GPL, perhaps even the entire mod. I think LGPL would be safer for these purposes, if you want a "give and take" system.
This is actually sort of ambiguous.

Here's the relevant section of the GPL:

Code: Select all

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: 
     a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. 
     b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. 
     c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) 

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. 

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
I think that this does require the entire mod to be released into GPL if parts of the mod are modifications of GPL'd source. I've *'d the section I think is relevant.

I'd reccomend that Argh simply create his own license. A license need not be long and be written in complex legalese. For example, I think this encapsulates his intentions:

Code: Select all

You may incorporate portions of the work distributed under this license into your own work. You may freely modify these portions. The original portions and any modifications to these portions must be distributed with your work, or a link to them must be included in your work. The creator of the original portions must be specifically credited for those portions in your work. You are not required to release an entire work which contains modified portions of a work distributed under this license and other portions not covered under this license. Any disputes arising concerning this license or works distributed under this license shall be subject to the laws and courts of the State of [wherever Argh lives].
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Section 2b is a bit vague in this context.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
But obviously you could add some exception/addendum thingie specifying that "work" refers to each and every script file in the mod. (And I actually think it would be a good idea to do that).

EDIT: I'm slow.

@ felix: the disadvantage of writing random new licenses is that they are untested, unless you are a lawyer you can easily leave big gaps open, plus that it basically means no one can combine your stuff with something else (as in inclusion with spring, for example) because you need a GNU lawyer to figure out whether the custom license is compatible with the GPL...

@ Argh: GNU software != GPL'ed software. The GNU thing doesn't really have anything to do with the GPL thing except that they wrote it :-)

Also read this:
http://www.gnu.org/licenses/gpl-faq.htm ... ggregation
Last edited by Tobi on 17 Dec 2006, 01:44, edited 2 times in total.
madman2003
Posts: 6
Joined: 16 Dec 2006, 17:06

Post by madman2003 »

Argh wrote:Here, read this.

URL removed
Do you mean the specific question? (which seems very strange in this case)
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

Then that's what I will do, in the next version of NanoBlobs, so that people will free to use them.

My posted license, in the root of NanoBlobs, stated:
All BOS code included in this game is hereby released under the GPL.
All other information in this game is hereby released under the Creative Commons license.

If you need to know the details of the licenses, and your rights and responsibilities under them, please read the files GNU_PUBLIC_LICENSE.txt and CC_PUBLIC_LICENSE.txt, respectively.
I will change it so that it specifically states that each BOS script is released and licensed separately under the GPL, and similar language to that effect for the FX code and other special code. That should take care of that issue.
User avatar
Felix the Cat
Posts: 2383
Joined: 15 Jun 2005, 17:30

Post by Felix the Cat »

Tobi wrote: @ felix: the disadvantage of writing random new licenses is that they are untested, unless you are a lawyer you can easily leave big gaps open, plus that it basically means no one can combine your stuff with something else (as in inclusion with spring, for example) because you need a GNU lawyer to figure out whether the custom license is compatible with the GPL...
thanks Tobi... i'm starting to dislike GNU and the GPL more and more, the more I find out about it. (for example, GNU are a bunch of commies, etc.)
User avatar
Argh
Posts: 10920
Joined: 21 Feb 2005, 03:38

Post by Argh »

They aren't Communists.

They're people who got sick and tired of the big corporations patenting software methods in various languages to the point where everybody was getting sued by everybody else, and little guys with smart ideas were getting screwed- big companies would show up with a bunch of lawyers and patent-infringement claims, and force the little guys to either close up shop, pay them huge royalties, or let the big corporations buy them out at a fraction of their real worth, based on legal attacks. The law, especially here in the U.S.A., does not favor the little guy. It's far more expensive to defend yourself than it is to attack, and either way it's wasted revenue.

In short, you should like these people, if you like freedom. Without them, the Internet would not exist as it does today. Most of the major technologies we use, including this message board, were built on the GPL, to keep the rich and powerful from limiting our freedom. The GPL was designed to make it a lot less possible for people to take away our freedom to innovate.
Chojin
Posts: 141
Joined: 04 Oct 2006, 11:22

Post by Chojin »

Argh wrote:Include the original source files. That way, people wanting to verify that you are playing fair don't have to spend a lot've time checking your work.
Why do you think this is necessary?
Post Reply

Return to “Game Development”