Will game engine get back to blender upgraded?

I have to admit it may sound funny how I’m willing to accept the way Blender people interpret GPL on a certain matter while not on another but I’m pretty positive that his answer on this matter is inaccurate.

The key question is whether or not the assets are a part of a single combined program (i.e. the game) or just data. As long as we see them as the latter, it should not matter how we distribute them.

Read these parts from the official FAQ about the GPL license:

…copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert her own data, the copyright on the output belongs to her, not you.

The output of a program is not, in general, covered by the copyright on the code of the program. So the license of the code of the program does not apply to the output, whether you pipe it into a file, make a screenshot, screencast, or video… Keep in mind that some programs, particularly video games, can have artwork/audio that is licensed separately from the underlying GPLed game.

As far as I see, this is the ground on which the Blender foundation sees .blend files (without scripts) as program output thus exempt from the GPL requirements. While this interpretation may be questionable to some, as long as we accept it there should be no such restriction GPL does not mandate anything on program output or data.

And GPL even allows distributing differently licensed software binaries in the same media (i.e. archive, DVD, etc.) if they form an “aggregate” rather than a “combined whole”:

An “aggregate” consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are nonfree or GPL-incompatible.

In other words, there is no reason why you should separate assets in a different distribution from your GPL scripts when publishing an UPBGE game as long as we can see them as “program output” or “data”.

Hope this clears up the confusion. And I think the fact that even UPBGE’s official manual and no other person than the one who created Blender gets confused about the license shows why we need to improve our documentation on this matter so that the end users have a clear idea as to how to make a non-GPL game with UPBGE.

1 Like

Python scripts only inherit GPL if they are dependant on something that is GPL, such as accessing the Blender API (import bge.logic).
It just so happens that virtually every script you’d write for a game would need to use the Blender API.

As a counter example, you could have a script that handle saving and loading savefiles that doesn’t use the Blender API, which would not need to be GPL. Or a network library.

I agree with BluePrintRandom’s interpretation and his solutions.

The output part is completely irrelevant in this context. What matters is whether shipping those files together counts as combined work or not. Even the “aggregate” section after the one you quoted, makes it clear that it is difficult to decide what is considered separate. There are apparently different interpretations.

No, it doesn’t.

I expected it to be a reasonable assumption that such a script was using the Blender API.

No, GPL makes it very clear that it doesn’t concern program output or data. And this is the assumption used when the official Blender FAQ explains how game assets can be released under a different license than GPL.

The different interpretations regarding what consists an “aggregation” is when it’s about a distribution of programs, not data or output. The only reason why I mentioned of that part is to show that even when it’s about programs, you can include non-GPL parts along with the GPL software in the same medium in certain circumstances.

As long as we can assume assets are output or data, not a part of the software source, it does not matter how we distribute it. If you still have any confusion or different opinion on this matter, please provide me a relevant source from either the GPL license text or what GNU provides to explain is meaning.

The problem with saying something incomplete and assuming the reader will connect the dots is that some people will draw the wrong conclusion about why a script (usually) inherits the GPL.

Very basically, if something requires a GPL component to function, then it inherits the GPL licence. This is why most Python scripts end up inheriting the GPL and why assets (like images, sounds, etc) do not.

I have to apologize, I was wrong. I got lost in irrelevant details.

To avoid confusions, I am going to edit my previous post with the tweets for clarification.

The answer is clearly given in the Blender FAQs an I wasn’t aware of that:

Games created in Blender (.blend files) are program output and therefore not covered by the GPL. You can consider them your property, and license or sell them freely.
With stand-alone games however, any data that is included inside the actual stand-alone executable is covered by the GPL. If this is a problem then you should set up the stand-alone player so it reads from external .blend files. A common practice is to include a “please wait, loading…” scene in the standalone, and read level files externally.

There are literally only exotic reasons why a Python script in Blender would not use the Blender API, so the assumption is still well justified.

No need to apologize because it is a confusing matter :slight_smile: When even those who are working on the project, including the person who created Blender itself can get confused over such a matter we can’t really expect the end users have a better understanding of the problem.

I think it shows why we need to improve the current UPBGE’s documentation to avoid such confusion as much as possible. And we have discussed this matter on our Discord already, so you can expect an updated documentation soon.

To make it clear: Ton Roosendaal was not confused. I simply misunderstood his point. As far as I can tell, his statement reflects the Blender FAQs answer.

Adding a link to the Blender FAQ would be sufficient from my point of view. And exactly that would also have been helpful for people like me in this discussion.

Edit: Documenting how this can be achieved on the technical side certainly still makes sense, but there is no need for additional legal clarification as far as I can see.

I’m afraid you might be still confused on this matter if you don’t see where Ton Roosendaal was wrong with his answer. He was asked if bundling non-programming assets like images or documentation in the same archive file as the GPL part of the game would be allowed and he clearly stated that they must be separated.

I think we don’t have to reiterate how GPL doesn’t concern such non-source material (i.e. data, output, docs, etc.) at this point. And what the official Blender FAQ mentioned was merging .blend files with a GPL player binary by exporting the game, not simply putting them in a same .zip file.

The problem I see with the FAQ on this matter is that it leaves out some crucial information about any scripts that references GPL API must be released under the same license.

Even if you separate your .blend files in the manner the FAQ suggests, it does not make them exempt from the GPL restriction as long as they contain any script data referencing GPL API, for example.

IMO, we need to provide the users more clear instruction on how to publish a non-GPL game, like externalising all relevant Python scripts and how to write a launcher to prevent the main .blend from being merged with the player binary and so on.

I think he gave the correct answer, such that you can be sure to be on the save side. Just split the GPL and non-GPL stuff up and keep them separate. Like that, you should be good to go.

Otherwise, legal consulting should be the way to go and definitely not relying on any kind of internet forum.

I simply fail to see how what Ton Roosendaal said could be interpreted any differently to save him from having given a wrong answer to the question.

But I have no personal axe to grind against him so if you insist that wasn’t what he meant, I won’t argue against you on that matter further.

Still, please stop contributing to add confusion to an already confusing subject. So, let’s make it clear one more time: There is nothing that prevents you from distributing non-GPL Images and documentation in the same ZIP archive that contains GPL software.

I would put it this way - nothing prevents the distribution of user-owned images, documentation, 3d models, animations, etc.if they belong to the author of these things. This is because images can be restricted by copyright as well as 3d models or sounds, questions about the GPL license are still open I adhere to the opinion that the developers of BGE voiced a long time ago when the engine was part of the blender - use the starter file with a dummy that is the initializer of the game from the remaining assets to exclude everything that may be part of the GPL

Actually yes. bge is not attached to blender from 2.8 upwards. but their is a individual product named “UPBGE” that is representing blender game engine. Their are lots of new features.