Submission + - How does the GPL apply to game content? (clan-sy.com)
KDR_11k writes: In the mod developer community of the opensource Spring RTS engine there is significant confusion about the scope and meaning of the GPL when applied to scripts within mods.
Specifically, the engine has recently added support for mod-side Lua scripts to deal with more complex behaviours that aren't possible with the BOS/COB system (script language taken from Total Annihilation as the engine was originally meant to recreate that game). For these Lua scripts there's a module system called the "gadget handler" that allows Lua scripts to be separated from each other to facilitate copying a feature from one mod (or from code made by people without a mod affiliation) to another without affecting other features. The gadget handler loads these gadgets by going through the directory for them at load time, the files are never mentioned specifically in the code.
The gadget handler as well as most of the available gadgets are licensed under the GPL v2 or later. The Lua code can interface with the COB code (which is binary) and the whole code gets zipped up with the rest of the mod content into a single archive that acts as the package format for the engine (i.e. is not unzipped during installation, the content is loaded directly from the archive).
A large number of modders is confused about the scope of the GPL's derivative work clause in this situation. Will the gadget handler force all gadgets into the GPL? Does the Lua to COB interface make the COB a part of the Lua code? Will GPL code within the mod put the whole mod under the GPL as the mod as a whole can be considered a work? Does the GPL not "jump" to a file that is not explicitely included by or includes a GPL file?
The mods aren't really modifications of any base content as the engine does not contain base content that could be considered a game, they are merely interchangeable modules that provide the units, weapons and other rules for the RTS and so far it is assumed that the GPL does not jump from the engine to the mod. The Lua scripts only implement deviations from the standard formula, a certain amount of RTS gameplay is hardcoded into the engine.
Specifically, the engine has recently added support for mod-side Lua scripts to deal with more complex behaviours that aren't possible with the BOS/COB system (script language taken from Total Annihilation as the engine was originally meant to recreate that game). For these Lua scripts there's a module system called the "gadget handler" that allows Lua scripts to be separated from each other to facilitate copying a feature from one mod (or from code made by people without a mod affiliation) to another without affecting other features. The gadget handler loads these gadgets by going through the directory for them at load time, the files are never mentioned specifically in the code.
The gadget handler as well as most of the available gadgets are licensed under the GPL v2 or later. The Lua code can interface with the COB code (which is binary) and the whole code gets zipped up with the rest of the mod content into a single archive that acts as the package format for the engine (i.e. is not unzipped during installation, the content is loaded directly from the archive).
A large number of modders is confused about the scope of the GPL's derivative work clause in this situation. Will the gadget handler force all gadgets into the GPL? Does the Lua to COB interface make the COB a part of the Lua code? Will GPL code within the mod put the whole mod under the GPL as the mod as a whole can be considered a work? Does the GPL not "jump" to a file that is not explicitely included by or includes a GPL file?
The mods aren't really modifications of any base content as the engine does not contain base content that could be considered a game, they are merely interchangeable modules that provide the units, weapons and other rules for the RTS and so far it is assumed that the GPL does not jump from the engine to the mod. The Lua scripts only implement deviations from the standard formula, a certain amount of RTS gameplay is hardcoded into the engine.