Game Development Community

GPL'ed content

by Jay Barnson · in General Discussion · 01/20/2004 (10:25 pm) · 7 replies

Okay - I was checking the Cat Mother engine and source. Interestingly enough, while the source code is under the BSD license, the content is under the GPL license.

So that confuses me a little bit. What does it mean to have the content under GPL?

1) That anything you create with that content (game, more content, anything that goes with it) becomes GPL a la the "viral" effect, or

2) Only content derived directly from the provided content becomes GPL... also viral, but it applies only to pieces you create from other GPLed content, not the whole product.

About the author

Jay has been a mainstream and indie game developer for a... uh, long time. His professional start came in 1994 developing titles for the then-unknown and upcoming Sony Playstation. He runs Rampant Games and blogs at Tales of the Rampant Coyote.


#1
01/20/2004 (10:35 pm)
It is a common misconception that code you link with GPL code must be GPL'd. It must use a GPL compatible license, of which there are several. All being Open Source of course. Interestingly, a GPL compatible license cannot forbid commercial usage.

The GPL license is murky at best for content. They should have applied something else to their content. If you really want to use it, I would try and contact the people directly.

Commercial viability comes from somewhere, either code, content, services, tools, etc. $$$, $$$, and $$$. I want some, actually, I want lots.

I don't think the Cat Mother assets aren't so numerous/amazing to warrant bothering myself. I have come across several GPL assets, I walk on by.

-J
#2
01/21/2004 (6:15 pm)
Basically, they want to keep their artwork in the community, while they don't mind if people use their engine and don't share it with the community.

That's the long-and-short of it.

Though it really should be under a binary license rather than a source license, but that's just me.
#3
01/21/2004 (8:10 pm)
GPL'ed content means if you include it as is, or modify it in any way you have to include the "source" files. Which means if you use a "piece" of a GPL'ed model, you have to include the entire model you put it in in a native editable source format what ever that may be.

In the case of CatMother that would be 3DStudio MAX format. Say you converted those files to Lightwave and modfied them or used a gun model on your Hummer model, then you would be obligated to include the original Lightwave versions of any thing "infected" with their GPL'ed content including your Hummer model that has their gun model as part of it.

That goes for the textures, and sounds also.
#4
01/22/2004 (11:48 am)
As Josh said, the GPL is not a good content license as it was written solely as a source license. There are a number of good content licenses out there which effectively mimic the GPL for content.

A proper reading of the GPL with respect to content would mean you would be forced to release the source files for every piece of content in your game as well as the source code. This is because of sections 2 and 3 in the GPL, which renders the entire game and it's content a derived work:

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.) 

...

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: 

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, 

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The reason why you can use GPL code without requiring that your content be released is because the 'work' is the code itself while the content is seperate. When you use GPL content, all of the content becomes part of the work as it's distributed as a whole because the work is incomplete without the GPL'd content.

Technically, you could distribute any GPL content seperately. As long as your game does not REQUIRE the GPL content to be complete, that is, your game is fully functional without the GPL content, you're fine. So, provide placeholders and 'allow' people to replace them with the GPL content distributed seperately.

In other words, technically you can't use GPL content with a Torque game because you can't release the source. Bottom line, though, is don't use GPL content. Contact the copyright holder and ask them to license it under a reasonable content license which has similar effects on the model (or whatever) itself, but doesn't affect your source or other content.
#5
01/22/2004 (2:54 pm)
Two interesting interpretations. Rather frustrating. Releasing content under GPL basically makes no sense. I haven't even SEEN Cat Mother's games' content, as it won't run on my machine, so I have no idea what I'm missing...

Ah, well. I'm cool with sharing... so long as I find myself with anything worth sharing. But I'm really not keen on enforced sharing.
#6
01/22/2004 (3:12 pm)
People like to focus on the word "viral" when discussing the GPL. I understand and agree with some of this mentality. Though, you don't generally choose to get a virus, and viruses are a bad thing, the word is loaded.

A key point, which only recently made a home in my brain: The GPL license guarantees your right to commercially exploit code. The GPL has to exist, it is just another license, one that certain people like releasing their code under. Case in point: Doom was originally released "Free for noncommercial use"... If Carmack hadn't seen the GPL as a good fit for Quake... It (and soon the Quake3 sources) would probably have been released this way too... which would suck.

There was a lot of code released "Free for noncommercial use" before the GPL. From looking at piles of sources, this phrase bites.

Anyway, I am developing under the GPL license. There is some HIGH quality code in my source tree that I seriously doubt would be in there if it wasn't for the GPL. This is stuff people have done, and been obligated to release. ;)

I consider content another matter entirely.

-J
#7
01/23/2004 (11:42 am)
It's "viral" in the sense of an STD. It's usually contracted through (usually bad) choices either through ignorance or disregard for the rules. For us, this usually means someone who wants to use GPL'd code for a closed-source project. So it becomes a negative "viral infection" because they would have to release their source under the license (or in the case of dual-licensing like with Torque, to release neither package because their licenses conflict).

To people who release their source under the GPL, it's not necessarily "viral". It's simply a way to keep the community active and the codebase updated with new changes.

There's a lot of confusion already about the GPL, and releasing the source code under the BSD license and the content under the GPL perpetuates more confusion.