Page 1 of 3 123 LastLast
Results 1 to 20 of 45
  1. #1
    Member blendenzo's Avatar
    Join Date
    Apr 2006
    Location
    Michigan, USA
    Posts
    2,703

    The GPL Answer Thread

    Important Note: This FAQ assumes that you are properly observing the GPL (or respective licenses) in the way you distribute the blenderplayer and any supporting libraries. The FAQ questions deal specifically with the GPL and how it affects your game files (.blend files and assets).
    -----------

    Since it keeps coming up (and interrupting otherwise useful threads), and since all of these questions have already been beaten to death with a crowbar (none of your thoughts are original)....

    I present:
    The GPL Answer Thread

    FAQ #1 - Can you sell games you make with Blender?
    Answer
    - Yes.

    FAQ #2 - Seriously? You can sell them?
    Answer - Yes.... Well, only if you make a game that people want to pay money for.

    FAQ #3 - But games made with Blender are "infected" with the GPL, right? So people can redistribute your game freely, and there is nothing you can do to stop them, right?
    Answer - Wrong. Your game will not inherit the GPL as long as you do not combine your .blend file into the same binary executable with the BlenderPlayer (that is, by using the "Save As Runtime" addon). Keep your .blend file separate and you can license your game however you like. You can work around this by making an empty runtime that calls your external game file. (Instructions are in this very old thread.)
    Answer Part B - Technically, the GPL cannot force you to license your game under the GPL, even if you combine your game file with the blenderplayer into a single runtime file. However, if you do make a runtime like this and then refuse to release your game under the GPL, you would most certainly be violating Blender's license, and there could be very real legal consequences to that. Ton and the folks at the Blender Institute are very nice people, but they don't appreciate illegal usage of Blender software.

    FAQ #4 - But the game is made with Blender and Blender is GPL, so the game becomes GPL.
    Answer - From Blender.org: "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."

    FAQ #5 - Python scripts that import the bge module are "linking" against Blender's Game Engine. The GPL clearly says programs that link to GPL libraries must inherit the GPL license. Does that mean that any Blender game with Python scripts has to be released under the GPL?
    Answer - No. Just don't link external, 3rd party libraries to Blender through Python. The full discussion about linking is very long and complicated, but the Blender Foundation has answered it on blender.org. Read "What about my Python scripts?" in the FAQ for Artists for the official answer. (EDIT: The Blender Foundation has removed the previous answer and put up something vague and seemingly contradictory instead. You can still see the previous answer at the internet archive.)

    FAQ #6
    - But the Free Software Foundation doesn't feel that way about it. Can't the FSF take you to court and force you to license your game under the GPL? After all, they wrote the license, not the Blender Foundation.
    Answer - Blender belongs to the Blender Foundation. The Blender Foundation is the only organization that can take you to court over how the program is licensed.
    FAQ #7
    - Aha! So what will stop the Blender Foundation from taking me to court?
    Answer - The Blender Foundation has clearly stated its position on the GPL issues. If you are not violating the GPL according to the FAQ on blender.org, then the Blender Foundation will not sue you.

    FAQ #8 - Hasn't the Blender Foundation sued companies for GPL violations in the past?
    Answer - Yes, but those companies were using Blender's code illegally. If you are following the FAQ on blender.org, then you are not doing that. You are using the Blender Game Engine the way the Blender Foundation intended it to be used. The Blender Foundation will not sue you.

    FAQ #9 - What will stop someone from claiming my game is GPL and redistributing it online?
    Answer - The same thing that will stop any form of media piracy. Personal ethics.

    FAQ #10 - Someone on the forums (or somewhere else) who is ignorant of the GPL issues released a runtime of their game. That means their game is automatically licensed under the GPL, right? So I can redistribute their game or extract their .blend files and use its assets in my GPL project, right?
    Answer
    - Legally, yes. Ethically, no. The so-called "Golden Rule" attributed to Jesus is widely accepted in situations like this: "Treat other people the same way you would like them to treat you." Instead of taking advantage of their ignorance, inform them of their mistake and show them how to publish their game properly under their own license.

    Technical Questions

    These questions are much more complicated, so if you are satisfied with the above answers, you do not need to read further.

    TechQ #1 - Blender links against a certain GPL licensed library. According to the GPL, Blender must hold to the GPL license of that library. The Blender Foundation seems to be assuming that the intellectual properties holder of that library agrees with the Blender Foundation interpretation of the GPL. What if the intellectual properties holder does not agree with the Blender Foundation's stance on the GPL? Is my game still safe?
    Answer - From a legal perspective, that argument is between the Blender Foundation and the intellectual properties holder of the external library. If the intellectual properties holder does not agree with the Blender Foundation's interpretation of the license, then they may take legal action against the Blender Foundation only. If the intellectual properties holder were to win a case against the Blender Foundation, the Blender Foundation would have to pay damages and either negotiate a new license under which to use the external library or find another library to use. Nowhere in here would an individual game maker be at risk.

    TechQ #2 - Isn't it "dynamic linking" to import Blender's Python modules from your script? Sure, the Blender Foundation says it's okay, but you may be invoking Blender's static link to an external library, and thus linking against another library whose owner does not think this is okay. Don't you become liable as the maker of the game program?
    Answer - First: Please be aware that this is a legally untested area. Now, a bit of perspective: The .blend file format is an interpreted data format. That means it is not compiled binary machine code, and there is no way to control how the data will actually be interpreted at runtime. Currently, there are multiple libraries available under different licenses which can all interpret games made in the .blend file format. It is impossible to know how many additional interpreters may become available in the future. Additionally, each interpreter evolves as newer versions are developed. A scripting call that currently does not invoke external libraries may end up invoking external libraries in the future, or vice versa. To sum this up: The linking actions of the .blend file interpreter cannot force a new license on the content of the .blend file, since the author of the .blend file (who owns the licensing rights) cannot control how the content is being used at runtime. (I posted a lengthy practical example of this elsewhere)



    If I missed something obvious, please let me know. Otherwise, do not fill this thread with further useless debate, as it will be deleted. Future threads related to the GPL will be referred to this thread and subsequently locked.
    Last edited by blendenzo; 23-Jun-16 at 23:59.



  2. #2
    Member kilon's Avatar
    Join Date
    Sep 2007
    Location
    Greece , Athens
    Posts
    1,761
    This is an excellent thread, and as a lawyer I give it a big thumbs up. Accurate , simple and easy to understand. Well done ! It goes straight to my bookmarks.
    Last edited by kilon; 04-Jul-12 at 02:51.
    http://kilon.blogspot.com/ <--- This my blog, you will find things i make here like music, 3d and 2d graphics and python programming.




  3. #3
    Yeah, thanks for this. These questions get asked every few months on the forum, and it's good to have a definitive, easy-to-find thread that addresses the issue quickly and simply. Great job!



  4. #4
    --- Thanks ---
    Last edited by Sinan; 01-Jul-13 at 21:03.



  5. #5
    Don't forget the BPplayer from C-106 Delta!!



  6. #6
    Member agoose77's Avatar
    Join Date
    Aug 2010
    Location
    United Kingdom
    Posts
    6,846
    Originally Posted by GoshFather View Post
    Don't forget the BPplayer from C-106 Delta!!
    The BPPlayer is not an interpreter. It simply abstracts the source data of your files to prevent the interference of a 3rd party. The interpreting of the game is undertaken by the BlenderPlayer, which is licensed under GPL by the Blender Foundation.



  7. #7
    Originally Posted by agoose77 View Post
    The BPPlayer is not an interpreter. It simply abstracts the source data of your files to prevent the interference of a 3rd party. The interpreting of the game is undertaken by the BlenderPlayer, which is licensed under GPL by the Blender Foundation.
    That is correct, but technically, Burster does the same thing...

    So I guess it depends on the definition of "interpreter". Is it defined as "any application which uses/reads blend files" or "any library which can extract (interpret) usable data from the blend file format"? If it's the later, then technically, there are only two libraries which can interpret data from blend files: Erwin's blendload library (used in GameKit)(MIT), and the blenloader library in blender itself (GPL).

    ...But those are minor details anyways. I believe the purpose of this thread was to answer questions (and provide solutions) to issues involving the GPL.

    I'm glad that there's finally a (sticky) GPL thread. These questions have been asked many times before and this thread should help clear things up for new users (Many thanks to Blendenzo ).
    Last edited by C-106 Delta; 18-Jul-12 at 20:40.



  8. #8
    If I use sounds which are licensed under the GPL, does the whole game become GPL?



  9. #9
    Member kilon's Avatar
    Join Date
    Sep 2007
    Location
    Greece , Athens
    Posts
    1,761
    Originally Posted by fr3shdumbl3dore View Post
    If I use sounds which are licensed under the GPL, does the whole game become GPL?

    you cant technically license sounds with GPL , they are data not code.
    http://kilon.blogspot.com/ <--- This my blog, you will find things i make here like music, 3d and 2d graphics and python programming.




  10. #10
    Member blendenzo's Avatar
    Join Date
    Apr 2006
    Location
    Michigan, USA
    Posts
    2,703
    Originally Posted by C-106 Delta View Post
    If it's the later, then technically, there are only two libraries which can interpret data from blend files: Erwin's blendload library (used in GameKit)(MIT), and the blenloader library in blender itself (GPL)
    Actually, I believe there are more than just these two if you count the libraries that read .blend files without the game aspects. Anyway, I changed the original statement by making it sufficiently vague (so as to avoid excluding any project or misrepresenting details).

    Also, you're very welcome. I'm glad everyone is finding this thread useful.

    I'll be changing a bit more in the original post to reflect this additional thought:
    - Compiling your .blend into a runtime with the blenderplayer doesn't actually "force" you into releasing your game under the GPL. If you decide not to license your game under GPL, you would then be violating Blender's license, which is something you are can technically do, though you face legal consequences.



  11. #11
    so if i write python scripts and link it to the Blender Game Engine, the added scripts i wrote wont be under the GPL licence. it's just if i edit/add to the Blender Game Engine source itself I would have to post the changes of the code. am i reading that right?
    Experienced bender user(and getting better)
    and crazy about Space/flight simulators
    Sanocon



  12. #12
    Member
    Join Date
    Aug 2008
    Location
    Central Coast, Australia
    Posts
    2,625
    A common question coming up lately is related to GPL in regards to certain distribution channels. I think it would be worthwhile mentioning that Apple (and therefore their iOS & Mac App Stores) do not want anything to do with GPL. This is not a problem with the GPL per se, simply an incompatibility between the Apple publishing license agreement and the GPL.

    One minor quibble with the above, developers of third-party libraries used by Blender can & are legally allowed to skip past the Blender Foundation and target the distributor directly if they so choose. The GPL applies to the entity distributing the final product and that won't be the Blender Foundation. The GPL was designed explicitly to do this. I doubt it would happen and, if it did, I am pretty sure the BF would look to remove the library from the BlenderPlayer - but the advice given in the first post about this is incorrect. The Blender Foundation is only liable for it's own copyright infringement - not that of those down the pipeline.



  13. #13
    Hi, I have an issue not exactly covered here but I'll drop it here anyways.

    I am in the process of building an MMO with blender, I am not ready to open the project to lots of people yet, but may soon depending on the outcomes of a current situation regarding 2 companies.

    ok vagueness aside on the above.

    I would like to publish my blender game into .exe and .bin as well as whatever mac uses (haven't used one since primary school) however the game will most definitely be sold at some level, weather we sell the game file or sell content in the game or sell subscriptions to the game.

    are any of the above legal under the GPL?

    either way is there any other way to publish to exe and bin that accepts the BGE logic bricks/scripts?

    if there is no way, where can I learn to write my own program to publish .blends into other formats so I am not hindered by the GPL or open source files?

    honestly the reason the game needs to make money is to run the game servers.



  14. #14
    There's no way to publish to 'bin', and I'm wondering why you would want to. BIN files aren't executable by Windows, Mac, or Linux, to my knowledge - they're a kind of CD dump file, like ISOs...?

    In any case, you should be able to publish your game into a Windows, Mac, or Linux executable easily and legally.

    Programming your own method to publish the blend files into other formats wouldn't help you, since you would still need to make a method to actually run the game.

    The problem isn't that the blend files are published into those formats (EXE / APP / etc.), the problem is that the BlenderPlayer (what plays the BGE games) is GPL licensed. That means that if you stick your game in with the BlenderPlayer, it will also become GPL licensed. This can be bypassed if you keep the game separated, as can be seen in Blendenzo's original post in the answer for FAQ #3. At least, that is my understanding of it.



  15. #15
    Originally Posted by SolarLune View Post
    There's no way to publish to 'bin', and I'm wondering why you would want to. BIN files aren't executable by Windows, Mac, or Linux, to my knowledge - they're a kind of CD dump file, like ISOs...?

    In any case, you should be able to publish your game into a Windows, Mac, or Linux executable easily and legally.

    Programming your own method to publish the blend files into other formats wouldn't help you, since you would still need to make a method to actually run the game.

    The problem isn't that the blend files are published into those formats (EXE / APP / etc.), the problem is that the BlenderPlayer (what plays the BGE games) is GPL licensed. That means that if you stick your game in with the BlenderPlayer, it will also become GPL licensed. This can be bypassed if you keep the game separated, as can be seen in Blendenzo's original post in the answer for FAQ #3. At least, that is my understanding of it.
    problem is I can't leave the game as .blend cause it's easily pirate-able. I was using SuSE linux and the blender and other programs I used all had .bin as the extension on the executable. in short each type of linux has it's own format for executables based on the distribution package, .bin is universal. it's a binary executable.

    so is there anyway to make my own player? or are there other players available that are not GLP licensed?



  16. #16
    You can prevent your .blend before pirating by using:


    This should solve your problem.

    iFlow



  17. #17
    I do not think FAQ #6's is really accurate. Blender is the only company that can take you to court over how Blender itself is licensed, but anyone can take you to court over how a derivative is 'conveyed'. The GPL grants them not only license, but access to all 'conveyed' derivative works in source code form. If you distribute object code without providing source code, you are denying them a right granted by the blender license, and that is legally actionable.



  18. #18
    Member
    Join Date
    May 2013
    Location
    USA
    Posts
    40
    thank you for this info



  19. #19
    Member blendenzo's Avatar
    Join Date
    Apr 2006
    Location
    Michigan, USA
    Posts
    2,703
    Originally Posted by Hobomatic View Post
    I do not think FAQ #6's is really accurate. Blender is the only company that can take you to court over how Blender itself is licensed, but anyone can take you to court over how a derivative is 'conveyed'. The GPL grants them not only license, but access to all 'conveyed' derivative works in source code form. If you distribute object code without providing source code, you are denying them a right granted by the blender license, and that is legally actionable.
    I did not mean to imply that you could provide the blenderplayer binary as a part of your game distribution without providing access to the blenderplayer source code. If it came across that way, I apologize. FAQ #6 is specifically addressing the .blend file itself, and I am assuming that the person asking this question has complied with all of the normal requirements of the blenderplayer's GPL license. I will add a note to that effect.

    That said, please keep in mind how software licensing works. The Blender Foundation holds the rights to the Blender program. They are the only organization which can legally license it, and they are the only organization which can actually sue you for violating their license. This is because the license violation constitutes an intellectual properties right violation, and only the person who holds rights over an intellectual property can be "damaged" by an infringement.

    To clarify: if a person says "Hey, you are violating the GPL by not releasing the .blend files under a GPL license!" what they are actually saying is "You are illegally distributing a Blender derivative." Who can sue you for illegally distributing Blender and/or derivatives? The Blender Foundation.

    (Again, I am not a lawyer, this is not legal advice, blah, blah, etc.)



  20. #20
    So if I understand this correctly:

    If I were to get the source for the blenderplayer from the official release and the blend file and were to compile it to one working (game)file (I don't know how to do that), with the GCC that output wouldn't automatically be covered the GPL, but because I use blender to do that it's automatically covered by it?

    As long as you use an Eligible Compilation Process, then you have permission to take the Target Code that GCC generates and propagate it “under terms of your choice.”
    http://www.gnu.org/licenses/gcc-exception-3.1-faq.html

    Obviously it's up to the Blender Foundation whether to switch licenses but if they were to handle this similarly these problems would pretty resolve themselves.



Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •