|
|
|
|
|
by CyberDildonics
1554 days ago
|
|
There are a lot of things being conflated here. First is a plugin that would be shared library loaded into the same virtual memory space as a running program. The second is GPLed header files that define function signatures and data structures. The third scenario would be passing already defined data formats like JSON or something serialized through the file system, shared memory, or the local network. In this situation, there would be separate processes, separate memory spaces and no interface definitions would need to be included into the non GPLed program. This situation can't violated the GPL because it would imply that almost any communication with a GPLed program would violate the GPL. |
|
any intimate communication would indeed. Any communication that goes through a standard (e.g. ISO-defined or industry standard, so not something specific to your company) would not.
Quoting the FSF:
> Using shared memory to communicate with complex data structures is pretty much equivalent to dynamic linking.
You can obviously extend "communicating complex data structures" to RPC through JSON & websockets for instance as it's this "exchange of complex data structures" which is the defining matter in what constitutes a single program from the point of view of the GPL.