Question about config files and GPL

I am looking into implementing a “game mode system” for Tremulous. The basic idea is that I’d like to have specific weapons/classes/buildables/etc as well as various other game play aspects fully defined by config files that would be loaded at the start of the match (something like this has been done to a lesser extent for thinga likw bounding box sizes), and different game modes would be generally defined by different game mode directories which would contain those config files.

My question is, would those config files automatically be licensed GPL, or would they be considered separate assets? Also if considered separate assets, would their authors be free to license such configs any way they wish? If such configs are considered separate assets, I still intend on giving the configs I write a free license (like perhaps cc-sa-by), but if another modder were to create a new weapon, for example, could they apply a restrictive license to their “weapon attributes config?”

Previously some modders giving their assets restrictive licenses has been an issue, like while you could port the GPL game code related to a modded game element, you may need to create all new assets for it without the modder’s permission).

I wasn’t aware of that. There are a lot of instances of Trem maps that don’t have the .map sources available for the released .bsp files. There have also been instances where there has been custom licenses restricting modifications and/or distribution of maps. Also other instances where it appears that a map pk3 licensed cc-sa-by is intended to extend to the .bsp and .map. Also I don’t recall ever seeing a copy of the GPL license included in any individually released trem map .pk3 file. I’m not looking to get anyone into trouble about these things, but it seems that there could have been a lot of confusion over the years in the “fuzzy area” where the game ends and the assets begin.

In any case I appreciate the information @GeeButterSnaps :slight_smile: . I think to avoid potential future misunderstandings, when I get to the point of writing those configs, I’ll include GPL headers at the top of those files.

There is executable code and there are data files that we use code to do something with.

Data files loaded at run-time do not have to licensed under the GPL or compatible licenses. Things loaded at run-time that would be executable code and have follow engine’s GPL license are probably DLLs, interpreted byte code (QVMs), scripting languages (Lua, etc), and GLSL. (Though, it may depend how deeply connected they are to the engine.)

It’s possible to add exceptions to the GPL license to allow non-GPL plugins or scripts, though you would need all the copyright holders of the GPL licensed code to give permission making it highly unlikely for open source id Tech based projects.

Defining a list of properties (name and value(s)) is not executable code. If you’re aware of web development consider Javascript vs HTML/CSS. However, taking values from GPL code to serve the same purpose but as a properties list in a data file feels dirty like a derivative work (of the existing code, not the engine at run-time).

Although it appears I removed the GPL header from my quake 3 weapon properties list in 2013 making it CC-BY-SA-3.0. (I was already claiming sole copyright ownership under the GPL.) Though I evidently forgot to update my ammo properties list. I’m conflicted about whether it’s okay to take that information and reuse it without citing id Software copyright and using GPLv2+ license.


This is kind of off-topic since the related posts were deleted; there were posts about a lawsuit that determined that community made maps were derivative of a (non-GPL) base game so the poster suggested that GPL engines should require GPL maps.

In the case of the Quake 1 level format, the textures are embedded in the level BSP. If the base game’s textures are used, it ends up redistributing the base game assets and would need to follow licensing of the base game assets. There is a similar situation with Quake 3 levels however it’s not as clearly redistributing base game assets. The Quake 3 map compiler uses information from the base game shaders for various effects and uses the textures for light bounce color (though, I think it just averages it to a single RGBA value). However, these would be derivative works of the base game assets not the engine.

1 Like

just as a moderation note, the poster was a sock puppet (duplicate account) of a previously suspended troll user.

1 Like

Another thing to consider is that later GrangerHub or someone else may want to move the config with outside contributions back into the GPL game-code. So using a license that is GPL compatible and doesn’t require additional copyright notices later such as GPL or CC0 or whatever might be a good idea. (Though, I suppose CC0 goes against keeping derivative works under a free software/content license.)

1 Like