There's a project called Endless Sky

It's license for Source code is GPL,

The license for Graphics is CC-BY, CC-BY-SA and Public Domain.

The license for Data .txt files with content like this is also GPL

outfit "Small Collector Module"
    category "Power"
    cost 60000
    thumbnail "outfit/small collector module"
    "mass" 8
    on offer
            `When you repair the <origin>, the captain hails you. "This is the fourth time I've nearly died in the past week doing this job! Here, take this <cargo> to <destination> and finish this job for me. They said the payment is <payment>."`

Data files define all the ships and such but it doesnt call any APIs, and is not linked. It's like a high-level scripting language for a VM. It's not neccessary for the game engine itself to exist. It describes gameplay (ship statistics), quests and the universe(where planets and systems are and how they connect)

Graphics are in CC-* or Public Domain.

My research suggests that:

  • GPL source code is infectious, so I'd have to write the engine from scratch
  • GPL data is infectious so I need to release all data changes (except for mods) in GPL
  • CC-*/Public Domain content (audio/visual) is OK to be used where I can't provide the source code.

Is creating an open-source engine for Endless Sky in Unity that uses the same data and images and sounds, but is unable to release the Unity source code (obviously) be a violation of GPL?

I know there's GODOT and it's MIT, which is compatible with GPL, but I'm asking because I would like to understand is, if GPL game content "infects" the game engine with GPL or not.

I would also like to know if creating non-GPL mods to a content that's GPL is possible or a violation of GPL as the data is being merged together(a mod might take some GPL-covered ship statistic and modify it, like price, shields or armor amounts).


1 Answer 1


Is creating an open-source engine for Endless Sky in Unity that uses the same data and images and sounds, but is unable to release the Unity source code (obviously) be a violation of GPL?

That depends on how the Unity version of the engine would be created.

First off, an application and the data processed by that application are independent works for copyright purposes and that means that their licenses do not affect each other (with a small caveat for when the application transforms its input and adds parts of itself to the output document, but that isn't the case here). That means that we can disregard the licenses for the Data and Graphics parts.

Now to the part of making a game engine that can process the Endless Sky data files and recreate the game experience.

If you base such an engine on the source code of Endless Sky, then you are creating a derived work and you must release that under the same GPL license as the Endless Sky sources themselves. This would not be compatible with the closed source license of Unity.

If you re-implement such an engine from the documented behaviour of Endless Sky without knowledge of their source code, then it can be argued that you have created a new work that is not bound by the GPL license. The catch here is that you need to do a "cleanroom" implementation: The person/team doing the re-implementation must not have any knowledge of the source code of Endless Sky, not even second-hand knowledge by consulting with the people that did read the source code in order to write the documentation. The documentation itself must also not contain parts of the source code but it must reflect only the ideas present in the source code. This is incredibly hard and resource intensive to pull off to a level that would hold up in court.

tl;dr: It is theoretically possible to re-create a Unity-based engine for Endless Sky, but if you don't get all the legal details right, the chances of failure are high.

  • Is the criteria for "not based on Endless Sky source code" as strict as "never saw endless sky code"? Thought the person suing needs to provide evidence that the source code was substantially similar to qualify. Since the engine, programming language, asset pipeline and environment are all entirely different, I thought it would remove 99% of the danger here.
    – Gensys LTD
    Commented Oct 30, 2019 at 15:21
  • 1
    @GensysLTD, in the end you must convince a judge that no copying took place. The only guaranteed way of doing that is if you can honestly state under oath that you have no knowledge at all of the Endless Sky source code. Commented Oct 30, 2019 at 15:55

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.