https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins
> If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins.
https://www.gnu.org/licenses/gpl-faq.en.html#GPLPlugins
> If the main program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single combined program, which must be treated as an extension of both the main program and the plug-ins.