我想使用GNU宽通用公共许可证下的工具(ffmpeg),某些组件的版本2.1 GNU通用公共许可证(GPL)版本2.
为此,我只在我的软件中调用它:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = new System.Diagnostics.ProcessStartInfo("lgplSoftware.exe", myParams);
p.Start();
Run Code Online (Sandbox Code Playgroud)
我不改变它,我只使用Windows的内置版软件.
维基百科说:
与GPL相关的关键争议是非GPL软件是否可以动态链接到GPL库.GPL明确要求GPL下的所有衍生代码必须属于GPL.虽然可以理解静态链接产生衍生作品,但是不清楚动态链接到GPL代码的可执行文件是否应被视为衍生作品(参见Weak Copyleft).免费/开源软件社区在这个问题上是分开的.FSF声称,如果可执行文件和GPL代码"使函数调用彼此并共享数据结构",某些其他人同意(例如Jerry Epplin),那么这样的可执行文件确实是衍生作品,而某些(例如
所有这些合法的事情我都很困惑.我也会把我的项目放到LGPL并发布源代码,但这不是我的意思.
所以问题是:我可以像现在这样使用它,还是会被一大批律师处决?
Jos*_*ley 58
链接在计算机编程中具有特定含义.你根本没有链接GPL或LGPL代码,你只是产生一个GPL或LGPL的二进制文件,而GPL和LGPL允许这样做.您的用户可以自行使用该二进制文件以满足其作者的预期目的,并且可以自由下载和编译源代码,因此保留所有自由,并且您不会违反GPL或LGPL.(这就是GPL FAQ通过"沟通"来讨论的问题.)这甚至没有违反LGPL和GPL的精神; 他们容忍专有软件的存在,并假设在某些时候专有程序将产生免费程序,反之亦然.(否则,我们无法运行任何GPL'
GPL确实要求专有和GPL的程序"不能以一种能使它们成为单一程序的方式组合".如果你的程序完全依赖于GPL的可执行文件,那么即使它是一个独立的二进制文件,如果它没有它们就不可用,那么这可能会让你陷入更加困难的境地.(现在可能是时候咨询你的律师以确定了.)
此外,虽然您没有具体询问此问题,但请记住,在您的软件中分发GPL或LGPL软件意味着您需要在安装程序中包含许可证副本并分发源代码.码.例如,如果您在安装程序中打包应用程序并在安装程序中包含GPL或LGPL的可执行文件的副本,那么您将分发LGPL或GPL代码并且必须复制可用的源代码(在线,通过邮寄或CD提供,具体取决于您分发应用的方式).包括上游项目的链接是不够的(至少对于GPL的第2版).阅读GPL和LGPL了解具体细节.
如果我错了,请纠正我,但我相信你描述的情况是这样的:
如果是这种情况,您实际上并没有链接到 GPL 或 LGPL 许可的程序。因此,您不受该程序的许可条款的约束。这实际上是一种相当常见(尽管很复杂)的方法,可以避免此类可执行文件的许可问题。
然而,它确实违反了GPL和LGPL的精神。
归档时间: |
|
查看次数: |
26872 次 |
最近记录: |