Blenderplayer and GPL question

I know that if you make a runtime of a game then because the blender player is compiled into it you can’t legally sell your game but here are three questions I have…

  1. If your making a MMORPG can you give the game away for free but charge for you to play online(the only choice)?

  2. Could you make your own form of the blenderplayer without disrupting the blenderplayer or blender license?

  3. Could you just rewrite the source code so to just take the blenderplayer out and include your own form of the the blenderplayer when compiling a runtime?

I know that if you make a runtime of a game then because the blender player is compiled into it you can’t legally sell your game but here are three questions I have…

The GPL makes no restrictions about selling your game. If you compile your game you have to publish the code you wrote as a derivative work. That means gathering up your python scripts and publishing them on the same page as your execute. It really doesn’t make a lot of sense in this application, but it’s covered and it doesn’t hurt anything. I can’t imagine anyone making a stink about it if you didn’t do it because it’s one of those things that is included but doesn’t really make sense. The GPL only covers your code, not your models. Your models are your property.

Those other things you posted would be all right as long as you sent any code changes back to Blender and I think you may have to include the source code, or at least make it downloadable. Actually, those would be derivative works. Calling a Blender game a derivative work would be like calling a word document made by an open source editing program a derivative work. It just doesn’t hold water.

okay thanks. much appreciated.

Hang on - isn’t the code that you wrote the same as the models you created?

Python scripting is an add on part of the Blender Environment, it’s not a change to the released c++ Blender code that’s distributed under GPL.

Hmm - It seems a grey area. I suspect if you went ahead and sold your game, including a link to Blender.org and noting that the game was produced in Blender which is released under GPL, no-one would mind the obscurity of the python, models, textures logic etc. As long as you didn’t actually alter Blender to do it. (Like the Orange team did with Elephant’s Dream)

Or to put it in a nutshell - Change Blender and you’ll have to make the changes available.

Can someone else check me on this??

Check out http://www.blender.org/cms/GPL_for_artists.495.0.html.
I think this answers most of the questions.

So I can make games without having to worry about the GPL, right?

That is correct, games are program output and therefore not covered by the GPL. The Blender team is committed to making sure that Blender can be used for both GPL and non-GPL games without any license conflicts. 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.

That’s reading the GPL way too strictly in my book. It won’t hold water, they don’t have the money to sue anyway, and no lawyer would take it. That data is your data. You own it. You don’t have to expose it if you don’t want to. The GPL covers source code. You haven’t changed source code.

That’s not a strict interpretation of the GPL at all, fireside. The GPL clearly states that any derivative work inherits the GPL, and that the GPL will cover the entire derivative work. “Derivative work” is clearly defined as any program that includes the GPL’ed program in whole or in part in recognizable (by code, that is) portions.

Hakkar, to answer your questions:

  1. You can sell any game that is GPL’ed, you are just required to provide the source code and allow the user to freely distribute it. You could also charge for server access, since that is not the program itself.

2 and 3. If you made any program based off of the BlenderPlayer, you would be required by the terms of the GPL to license it under the terms of the GPL.

There are other solutions. Read my (still incomplete, yet informative) article on the subject.

Thanks everyone. Expecially thanks to blendenzo for the clarification.

It all boils down to definition of derivative work. Just because Stallman defines it as something, it doesn’t mean U.S. copyright law will back it up. It’s never been tested in court. Here’s what Wikipedia defines as derivative work in software:

The definition of derivative works of software isn’t entirely clear[5]
This is a particular problem for software that utilizes licenses such as the GPL because these licenses put special restrictions on such derivations (for instance the so-called viral clause of strong copyleft licenses asks for the new work to not further restrict the freedoms granted sofar).
Because the legal situation is not entirely certain, the following should thus only be taken as rules of thumb:

  • If the original software is modified to create the new program, a derived work is created.
  • If the original software was designed to accept plug-ins or drivers using a defined mechanism, such a driver or plug-in does not form a derived work.
  • In the same sense linking to a library in the way it was designed to be interfaced with, does not constitute deriving a work. But See LGPL.A more detailed account on the issue can be found at Derivative Works by Lawrence Rosen.

As far as I can tell, this does not include a Blender game. The original software was not modified. They certainly wouldn’t risk a trip to court for something as shaky as that, because they would lose. It gives the maker of the software rights that it obviously can’t posess, or we’d couldn’t write text documents without exposing everything we wrote. I’m an end user that didn’t change the source code. I can simply point them to Blender to show them the source code I used. It’s no different. I haven’t even used it in anything but it’s binary form. You realize what that would be saying don’t you? The hammer maker would have claims on a house.

Well, just to clarify, the “derivative works” clause only applies to runtimes. If you keep the .blend file separate, you still retain all rights over the game as your individual copyrighted work.

Taken from the GPL, Section 0, Paragraph 2:
The act of running the Program is not restricted, and the output from the Program is covered [by the terms of the GPL] only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
Individual .blend files cannot be called derivative works, but rather, they are the product of the program. However, all runtimes made with any version of Blender later than 2.25 are considered derivative or collective works. (Versions 2.25 and previous are not licensed under the GPL, but rather under the old NaN EULA, which allows runtimes to be created and copyrighted soley to the game creator.)
The GPL, Section 2, Paragraphs 2 and 3 (emphasis added):

These requirements [from Section 2, paragraph 1] apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms ofthis License , whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
As far as legality goes, this holds water in court:
The GPL, Section 5:
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
All GPL’ed files are copyright to their respective creators (BlenderPlayer is copyrighted to the Blender Foundation), and any and all use outside of the terms of the GPL constitutes a violation of copyright law.

I suggested a potential solution to the runtime inherited GPL problem a while back in the News and Discussions thread. I’m not sure if the GPL Linking Exception was intended to be used in that way, though.

Yea, you could sell off a couple copies, before someone gets it up on a fileshare server and puts you out of business.

Making money with GPL’ed software usually comes down to services, reather than the software itself.

Individual .blend files cannot be called derivative works, but rather, they are the product of the program. However, all runtimes made with any version of Blender later than 2.25 are considered derivative or collective works. (Versions 2.25 and previous are not licensed under the GPL, but rather under the old NaN EULA, which allows runtimes to be created and copyrighted soley to the game creator.)

I guess if they’re going to be total dorks about it then someone needs to work on a seperate data binary that links to their runtime so they can’t make claims like that. I personally think it sucks and gives open source a bad name, but maybe they can get away with it. The worst is I don’t even care about my data. I just hate it that they’re using people that way. That’s conscripted open source and backs up Microsoft’s viral claims. I still don’t think it would stand up in court. Nothing was agreed to, and the program wasn’t changed in any way but only used as it was intended. They’re stretching the runtime thing too far. A lot of programs use runtimes and don’t have that kind of copyright license on people’s software. You still have to change it in some way for it to be a derivative work. Whether it’s packed together or not, it’s still only being linked to. Anyway, reality is that I’m making an amateur game and none of this applies to me, so I’m going to cool off and get back to work on my amateur open source game.

hehe i personally wouldnt worry about it…

they don’t have the money to sue anyway, and no lawyer would take it.

but i would like to know who is they?

Ton or the other people who are helping make blender?

because i would doubt that they would sue even if you made alot of money with your game.