7

I've heard that it's possible to use a GPL game engine that interprets/loads/JITs a so-called Game Pack which contains all the important game files such as sprites, sounds, music, levels, missions, scripts, game entity code, etc., all while having those Game Pack elements under such a license that the game could be commercial and released under a GPL-incompatible license along with the assets not being copyleft.

I'm not sure if this is true. People keep telling me that id Software has done it with Doom, but I'm not sure about that because they are the owner of the code so they can decide, but I'm not the owner of the GPL'd engine so I don't know what to do.

Is there a proof that someone used a GPL engine and GPL incompatible game assets and distributed them commercially without GPLing the assets?

4
  • ScummVM would be one example. It is GPL, but the game assets for most (all?) games are not.
    – Brandin
    Commented Nov 22, 2017 at 20:00
  • Under which license is one of those games licensed? Is the game commercial and is it closed in terms of making derivative works?
    – Foxcat385
    Commented Nov 22, 2017 at 21:49
  • Games are typically off the shelf commercial software. ScummVM has a page that promotes this (they say it is fine) and gives references to companies doing it: Bundling ScummVM.
    – Brandin
    Commented Nov 22, 2017 at 23:16
  • 1
    It would depend on the terms of the non-gpl game pack. The gpl doesn't stop the game engine reading the non-gpl data files and scripts. It is common for a system distribution to bundle projects covered by different licenses, some licenses can be in conflict or prevent distribution so may be available to download and build but are marked as restricted or forbidden for inclusion when building packages for distribution. See the freebsd ports as an example of marking packages as such.
    – sambler
    Commented Nov 23, 2017 at 1:14

1 Answer 1

7

If a program is licensed under the GPL, this license affects whether the program can be combined with other creative works (yes, if the combined work will also be licensed under the GPL). However, if the combination does not produce a combined creative work, the GPL license is irrelevant. In particular, the GPL does not extend to data you are processing with that program.

As a simple example, I can use a GPL-licensed word processor to write a novel without having to license my novel under the GPL. But note that a screenshot of the word processor with my novel includes both GPL parts (the picture of the user interface), and parts to which I own the copyright (the excerpt of my novel visible in the screenshot).

As a more tricky example, a GPL licensed language interpreter can execute non-GPL programs without any problems. However, things start getting hairy if the program calls into GPL-licensed libraries provided by that interpreter runtime system.

A game engine has properties similar to both these cases. The input and output of the game engine (e.g. models, textures, rendered frames) are not subject to the GPL. The output (e.g. screenshots of a rendered scene) may be subject to the GPL if it shows GPL-licensed assets or other media that were somehow generated by the engine authors. (A similar case is discussed in the GPL FAQ here and here: “Keep in mind that some programs, particularly video games, can have artwork/audio that is licensed separately from the underlying GPLed game.”)

Scripts executed by the game engine would usually be subject to the GPL because they will call into APIs provided by the game engine. This can be avoided if the authors of the game engine explicitly issue an exception to the GPL requirements. The GPLv3 includes a specific, well-defined mechanism for issuing exceptions to the GPL. The LGPLv3 license is in fact implemented as such an exception. As an alternative, the game engine can offer merely a language and not an API. This is in many cases entirely sufficient, but could mean that the engine implements its own domain-specific language, rather than adding APIs to a known scripting language such as Lua or Python.

There are a number of free software games that use a GPL engine and CC-BY-SA assets. This is generally done because the GPL is not a good fit for non-software creative works. Using a CC license for assets addresses that. However, CC-BY-SA 4.0 is explicitly compatible with the GPLv3 with the resulting combined work being governed by the GPL. Therefore this combination would be possible even if the engine's GPL would extend to the assets. And since the CC-BY-SA is a copyleft license, this doesn't exactly demonstrate that non-copyleft assets are possible.

1
  • Nicely thought through and elegantly argued, acknowledges the complexities of the issue; +1 from me.
    – MadHatter
    Commented Nov 24, 2017 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.