所以我已经在谷歌上搜索了一段时间,但我似乎找不到正确的答案......
我想知道我是否制作了一个远程 GPL 应用程序的应用程序。
假设我想要远程 VLC。
我有两种不同的可能性
如果是IP/Invoke,是衍生作品吗?
如果应用程序使用 VLC 的命令行界面使用套接字,它是衍生作品吗?
也就是说,该应用程序的目标是控制各种媒体中心。不仅是vlc。但我确实会被迫在代码中使用专门用于每个媒体中心的适配器
简单地在你编写的程序和另一个在 GPL 下编写的程序之间进行通信,尤其是在机器之间进行通信时,不会——AFAIK——使你的程序成为另一个程序的派生(除非你在程序中使用它的代码等,但是我打折了)。当一个程序使用另一个程序的源代码,或者从另一个程序链接一个库,或者从另一个程序动态加载一个库,或者类似的东西时,它就是另一个程序的派生。如果您的代码没有执行这些操作(使用可能修改过的源代码、链接或动态加载库),那么您的代码很可能不是另一个代码的衍生代码。
我想知道我是否制作了一个远程 GPL 应用程序的应用程序。
好吧,VLC 是在 GPL 下发布的,您可以安装(或不安装)它,然后编写一些与之交互的软件(或不安装)。GPL 并不禁止,VLC 是自由软件,并且明确允许将软件用于您喜欢的任何事情(无努力领域)。
然后你谈论让一个应用程序与 VLC 交互与否:
我认为这两个问题都得到了正确的回答,如果你有一个好的律师,她也会告诉你同样的问题。无论如何,对于您描述的用例,如果您要创建衍生作品,我看不出它是如何发挥作用的。
如果您计划分发衍生产品并且您不打算在您的工作中使用 GPL,那只会产生差异。但是所有这些细节都不见了,所以也许你只是害怕这里的 GPL?然后我会说 GNU GPL FAQ 是一个很好的地方,可以更多地了解 GPL 为什么有 copyleft 以及什么是好的。然后,您还可以更轻松地确定您的实践是否与 GPL 的目标相矛盾,这本身可能不会在法律上发挥重要作用,但会使您和您的软件与社区保持一致,这可能是反正找。法律的东西适用于你需要单独争取的情况,你坚持的权利。