Blender, Addons, BGE, & the GPL

No, I stated that Stallman promotes a radical ideology. The GPL doesn’t enforce everything he personally promotes.

Also, I never stated or implied that commercial developers see Blender as closed & restrictive either. There is a world of difference between the idea a commercial developer might not be able to make a living from developing addons for Blender and said developer believing that is because Blender is “closed & restrictive”.

Please don’t be twisting my words. Not only can I guarantee a post no-one else really wants correcting the situation, but it is not productive in any way.

Good to know. Curious why you are so adamant Ton “stand up to FSF” then. We’re talking about the BGE here and, whether or not the GPL applies to the code, there is no argument it applies to art.

It seems like the discussion on legalities concerning the GPL and ideas like the Blender Market are popping up more and more frequently, so leads to the idea that perhaps the GPL is actually starting to become a hindrance to Blender’s future success rather than a help. It leads to the thinking that moving Blender away from the GPL in this case may actually become something that’s of the best interest of the userbase.

What is code? :wink:

There is lawful definition of “derivative work”: http://www.rosenlaw.com/lj19.htm

Plug-ins are not derivative works per that article. Using API does not make it derivative work. If you’d use API’s code (literally copying the code into Py code and modifying it) you would create derivative work. I suppose if you use a template for an add-on provided by BF (or anyone else) and that template is under GPL, then obviously add-on becomes GPL.

Well, I started this thread based on the other one. Said as much in the OP. It’s less that the subject “keeps popping up” and more that the conversation on the subject carried over into another area of Blender. :wink:

The other thread is about discussing the ramifications of selling addons in the Blender Marketplace and how that works (or doesn’t work) in the context of open-source, Blender Foundation’s desire for openness, etc. In that thread, there wasn’t any real argument that use of a GPL API meant the code using it needed to be GPL as well. When it was supported by FSF & BF links, it occurred to me that the “forum wisdom” regarding distribution of BGE games through a blend files was incorrect, at least in regards to games that use the Python API. Instead of derailing the wider conversation about the merits of a commercial marketplace for GPL addons, I thought I’d bring the issue up in a new thread.

Good thing I did, cos we’re two pages into it now :wink:

That’s great and all, but that’s one person’s untested opinion on how copyright works in regards to plugins. It isn’t one shared by the authors of the GPL, it isn’t shared by the developers in the Blender Foundation, and (more importantly) has no legal precedent supporting it that others can rely on to shelter them from costly litigation.

The authors of the GPL state:

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means you must license the plug-in under the GPL or a GPL-compatible free software license and distribute it with source code in a GPL-compliant way.

It is clear that the addons & BGE code “make function calls to each other and share data structures” and so fall under that definition.

That’s your opinion on the matter… but you don’t have the backing of the FSF or BF on the matter. With all due respect to random people on the Internet and all, I’m a proponent of going with the opinion of those that write the license and write the software :wink:

@motorsep, regarding your point about game-engine extensions, (#12)

http://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL

(To be clear, we provide many bindings, so we can’t consider Python scripts as data)

But by that token, all the node setups are GPL too, as they are clearly programs (albeit non-textual) that link against Blender’s GPL APIs?

That would be borderline I think. Especially given parsing node setups for the creation of GLSL shaders for use in a non-Blender game engine is something I am working on. Clearly, for that purpose at least, it is data. Same would apply for node setups targeting the Cycles renderer.

No, because they are not a language.

hmmm…

then logic nodes are not GPL?

That means I win. :D

Clearly they are not covered under the GPL as GameKit can use them (or at least, some of them). Hence my hesitance to include shader node networks in the definition.

I don’t know what you “win” though. It’s not a competition. Simply clarifying what is or is not covered by the GPL in a BGE game release.

it was more of a joke, I code logic very well, and love it…

side note

allowing

Ray --------and-----------property Target = Ray.hitObject

some how would be nice

or

Message---------and---------property “message”= Message.bodies[0]

without python would allow almost any behavior…

They have variables (inputs), operators (function nodes), user-defined functions (node groups), they return values (outputs) and they run on an interpreter (the Cycles SVM). Looks very much like a specialized shader programming language to me, and it might look the same way to one of the copyright holders. Does the fact you don’t type to program in it matter at all?

Then again, Cycles is Apache 2, and the node networks clearly only need Cycles to run. So you can’t really consider them a single inseperable program with Blender. Or can you? I’m not sure how the internals work. That would still put GPL on all the node networks published before Cycles changed the license.

@Piotr Adamowicz, http://en.wikipedia.org/wiki/Programming_language#Definitions links to http://en.wikipedia.org/wiki/Turing_completeness (and our nodes aren’t Turing complete). Cycles license is irrelevant when running inside a GPL application.

Many languages, such as SQL, markup languages or regular expressions are non-Turing-complete. The GPL does not specify whether or not a language must be Turing complete. It simply defines source code as “the preferred form of the work for making modifications to it.”

From GNU.ORG

"Who has the power to enforce the GPL?

Since the GPL is a copyright license, the copyright holders of the software are the ones who have the power to enforce the GPL. If you see a violation of the GPL, you should inform the developers of the GPL-covered software involved. They either are the copyright holders, or are connected with the copyright holders."

Am I right to understand that if someone writes a plug-in for Blender that is not GPL compliant, only the Blender Institute can complain about it and can actually sue for infringement, and if so, why would they do it?

Unfortunately not. Any of the people who have contributed code over the years can.

Why would any of them do it then, what would be the point?

Say someone writes a decent integration plug-in for Arnold, say it doesn’t comply with GNU, why would anyone be against that?

They would not! They are busy with their life and left blender a long time ago.

My thought exactly!

I see no reasons to refrain from developing any types of plug-in for Blender just in case someone who may have contributed to Blender at some point may decide to go through the trouble and expenses of suing someone because their plug-in may or may not comply with GPL!

I say the heck with them, lets get on with our lives and lets make Blender more and more appealing to studios by making tools that will help Blender get the recognition it richly deserves!