3 ms·
Wait a second. Shouldn’t it be possible for someone to sell a Blender add-on but it keep it closed source and non-GPL? That’s just writing code for an API. As
by forrestthewoods 7y ago
Wait a second.
Shouldn’t it be possible for someone to sell a Blender add-on but it keep it closed source and non-GPL?
That’s just writing code for an API. As we all know from Google vs Oracle case it would be disastrous if API’s could be copyrighted. GPL is “just” a copyright license.
I’m not sure how Blender add-ons work though.
- zemo 7y agoGPL-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.
- orangeshark 7y agoGoogle vs Oracle is about reimplementation of an API. So if someone came along and created a software that provided a Blender-like API, then that shouldn't be violating copyright. Usually GPL software that provide an API that would allow proprietary software to be built on it tend to have an exception for the API. From what I understand, Blender doesn't provide that.
- forrestthewoods 7y agoGoogle vs Oracle is about whether an API can be copyrighted. If the API can be copyrighted, then Google can not write their own implementation. If the API can be copyrighted then Google can not. The internet predicts disaster if Oracle wins. Because if an API can be copyrighted then all the software that uses an API suddenly becomes illegitimate. All kinds of terrible things can happen. Then web is built on APIs! Blender has a plugin API. Plugin software uses that API. Blender is written with GPL and the GPL author believes that even DYNAMICALLY linking an API constitutes a derived work (copyright term) and therefore the dynamically linked software must also be released under the GPL. However if Google defeats Oracle and it is determined that APIs are not subject to copyright protection then I don't see how dynamically linked plugins that are merely use an API can be blocked by copyright. There may be a universe in which using an API is copyright protected but rewriting the code behind an API is not. That would be highly unusual imo. And I do not think that would be the narrow fallout of Google winning versus Oracle.