[Bf-committers] A practical proposal for the task of re-licensing Blender
leo.sutic at gmail.com
Wed Nov 24 09:34:16 CET 2010
A lot of the discussion has centered around integrating Blender in a
production system based on proprietary software. I'd like to bring up
the following two points:
I'd like to incorporate GPL-covered software in my proprietary
system. Can I do this?
A system incorporating a GPL-covered program is an extended version
of that program. The GPL says that any extended version of the
program must be released under the GPL if it is released at all.
However, in many cases you can distribute the GPL-covered software
alongside your proprietary system. To do this validly, you must
make sure that the free and non-free programs communicate at arms
length, that they are not combined in a way that would make them
effectively a single program.
The difference between this and “incorporating” the GPL-covered
software is partly a matter of substance and partly form. The
substantive part is this: if the two programs are combined so that
they become effectively two parts of one program, then you can't
treat them as two separate programs. So the GPL has to cover the
If a program released under the GPL uses plug-ins, what are the
requirements for the licenses of a plug-in?
It depends on how the program invokes its plug-ins. If the program
uses fork and exec to invoke plug-ins, then the plug-ins are
separate programs, so the license for the main program makes no
requirements for them.
I really think the problems brought up in this discussion are best
solved by being smarter about how the integration is handled. (It is
possible to integrate GPL programs in a proprietary system, if not, we'd
really have problems.) It's a lot easier than doing a wholesale
re-licensing of the code - something which, as far as I can see,
completely lacks support among the main contributors; and furthermore
would not solve anything, as the "interface" required in section 0 of
the LGPL isn't defined by Blender. Unless the interface is clearly
defined (no, header files don't count - they define internal interfaces,
not necessarily library interfaces; consider linux - it has many
headers, but only some are considered OK to use in proprietary code).
More information about the Bf-committers