Dynamic linking is a gray area in GPL/AGPL. Dynamically linked plugins that use internal APIs are considered “derivative works,” which would require AGPLv3 or a compatible license
An explicit exception to the AGPLv3 for plugins *(dynamic libraries .dll, .so, .dylib):
Additional permission under GNU AGPL version 3 section 7:
You may develop and distribute plugins for this program, in the form of dynamically linked shared libraries, under any license of your choice, provided such plugins use only the published plugin API and are not derived from the program’s source code.
- This allows plugin authors to use any license, including proprietary.
- TODO: Need to document the plugin API and clearly separate from internal code
Some refs
https://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF
https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs
Dynamic linking is a gray area in GPL/AGPL. Dynamically linked plugins that use internal APIs are considered “derivative works,” which would require AGPLv3 or a compatible license
An explicit exception to the AGPLv3 for plugins *(dynamic libraries
.dll,.so,.dylib):Some refs
https://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF
https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs