[Bf-committers] Python Scripts and the GPL

Campbell Barton ideasman42 at gmail.com
Wed Jan 4 05:43:25 CET 2012


On Wed, Jan 4, 2012 at 12:09 PM, Mitchell Stokes <mogurijin at gmail.com> wrote:
> Hello,
>
> I hate to bring up the GPL again, but I am rather confused on the
> subject and I was hoping someone could enlighten me on the matter. My
> primary concern is the BGE (and the corresponding bge module), but I
> think the same thoughts can be applied to bpy as well. Now, I have
> read the GPL for Artists FAQ entry on the matter[0], but it seems
> rather vague on a few points. For one, it seems to suggest that if I
> were to import a 3rd party module that has C code, then that 3rd party
> module must be GPL (the FAQ says nothing about GPL-compatible). This
> of course severely limits the number of libraries that can be used
> with Blender and the BGE. For example, if I want to use the MIT
> licensed PyENet library[1] in my game, I wouldn't be able to without
> violating the GPL. And, for that matter if I could still use PyENet,
> it would force all of my modules to be GPL (again, the FAQ says
> nothing about GPL-compatible). Furthermore, the section on games and
> the GPL in the FAQ[2] says I only need to make the files available
> under the GPL if they are bundled into the Blenderplayer, but it says
> nothing about scripts. What if I have a script inside a blend file
> that makes a call to PyENet, is this blendfile now forced to be GPL
> regardless of whether or not it is bundled in the Blenderplayer? And
> if the script wasn't inside the blendfile, but still accessed from the
> blendfile?
>
> Cheers,
> Mitchell Stokes
>
> [0] http://www.blender.org/education-help/faq/gpl-for-artists/#c2129
> [1] https://code.google.com/p/pyenet/
> [2] http://www.blender.org/education-help/faq/gpl-for-artists/#c2130

I *think* the exception could be put differently - which would make
the case you are talking about more clear.

Something like...
* "This GPL exceptions only covers "Python Scripts" - and not compiled C code."

* "Loading 3rd party compiled C modules is fine as long as they are
compatible with the GPLv2+ (without the script api exception)"


This way its clear that you can...

* Bundle GPL compatible C/python modules with blender
  (after all, python has loads of C/python extensions licensed and
loaded the same way as many 3rd party extensions).

* Write a closed source python script which uses a GPL compliant
C/python extension.


More information about the Bf-committers mailing list