3 ms·
GPL-licensed projects can't link against non-GPL code. This provision is extended to cover plugins and functional extensions of interpreted environments. That's
by zemo 7y ago
GPL-licensed projects can't link against non-GPL code. This provision is extended to cover plugins and functional extensions of interpreted environments. That's why a lot of people don't like the GPL.
https://www.gnu.org/licenses/gpl-faq.html#GPLPlugins https://www.gnu.org/licenses/gpl-faq.html#GPLPlugins
https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL
- forrestthewoods 7y ago“we believe” If Google wins their case against Oracle this would _have_ to not be true. Right? Oh man. I wonder what the fallout of that would be? The internet has long been terrified of Oracle winning. I’ve never been certain the internets proclamations of doom were right.
- lone_haxx0r 7y agoBut what do the plugins link against? As far as the plugin creator is concerned the license of the object files of the API could be MIT, closed source, GPL or whatever. He doesn't bundle any Blender code.
- zemo 7y agoThe GPL is written in such a way that the GPL argues that any plugin designed for a GPL-licensed application is itself GPL-licensed. > If the main program and the plugins are a single combined program then 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. A main program that is separate from its plug-ins makes no requirements for the plug-ins. ok, so does Blender and a Blender plugin constitute a combined program? > If the main program uses fork and exec to invoke plug-ins, and they establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth, that can make them one single combined program. A main program that uses simple fork and exec to invoke plug-ins and does not establish intimate communication between them results in the plug-ins being a separate program. depends on the definition of "intimate communication". Does a process that spawns another process and then communicates with that process over a unix pipe constitute "intimate communication"? There's no section of definitions that provides a legal definition of "intimate communication". It also does not provide a legal definition of "control flow". If one system sends a message to another system and then takes action based on a response, is that control flow? Does it depend on whether or not the systems are synchronous? It also doesn't provide a legal definition for "dynamic linking". https://en.wikipedia.org/wiki/GNU_General_Public_License#Communicating_and_bundling_with_non-GPL_programs https://en.wikipedia.org/wiki/GNU_General_Public_License#Com... > The FSF thus draws the line between "library" and "other program" via 1) "complexity" and "intimacy" of information exchange, and 2) mechanism (rather than semantics), but resigns that the question is not clear-cut and that in complex situations, case law will decide. honestly I'm not sure anyone actually knows because it hasn't been tried in court and there isn't established case law.