问题标签 [gpl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
icons - 在闭源商业软件中使用 GPL 或 LGPL 许可的图标?
如果您在封闭源代码软件中包含 GPL 或 LGPL 许可的图标,是否存在法律问题的风险?
它会强迫它成为开源只是为了包含图标吗?
将图标编译为资源是否重要?
如果您遵循许可指定的归属规则,创意通用许可图标是否可以安全使用?
gpl - 通过插件在闭源应用程序中使用 GPL 代码是否合法?
考虑以下步骤:
0) 发布开源的Mock Program和Mock Plugin,通过一定的接口(一)进行通信,交换复杂的数据结构,共享内存,相互调用。对其应用全许可许可证。
1) 发布插件,设计用于以接口 (I) 定义的方式与任何程序一起工作。该插件使用第三方 GPL 覆盖的代码,GPL 本身也是如此。它最初是使用模拟程序开发和测试的。它作为任何 GPL 程序分发,并提供源代码。
2) 发布闭源专有程序,旨在以接口 (I) 定义的方式与任何插件进行通信。它最初是与 Mock Plugin 一起开发、测试和交付的。
3.1) 将安装脚本添加到下载 GPL 插件并将其附加到已安装程序的程序中。
3.2) 代替安装脚本添加说明如何手动下载和附加 GPL 插件。
因此最终用户获得了专有程序,该程序受益于插件中的 GPL 覆盖代码。
问题:
0)如果它是合法的,那么在开发人员相当小的努力下,在任何专有程序中获得任何 GPL 涵盖的代码,这难道不是一种合法的方式吗?
1)如果它不合法,那么 GPLv* 的哪一部分或任何东西阻止谁执行哪一步?
2) 3.1 和 3.2 之间有什么法律区别吗?
3)Mock Program和Plugin、专有程序和GPL Plugin是由一个人开发还是不同人开发,是否有法律上的区别?有意还是无意?
4)你的意见是什么——它是否足够合乎道德?
5) 有没有这种策略的现有样本?
6) 是否有任何更简单的合法方法来实现相同的结果 - 发布可能并且最有可能从 GPL 代码中受益的专有程序?
更新:
从字面上看,这意味着为闭源程序编写插件并在 GPL 下发布会导致该组合成为插件的扩展,因此属于 GPL,涵盖了整个闭源程序也
但是这种组合不是分布式的,它是在最终用户机器上组合的。就像我自己对 Linux 的修改一样,在我发布它之前我不必开源。在这种情况下,最终用户设法在没有访问程序源的情况下进行了修改——对他有好处,但到目前为止我没有看到任何非法行为。
为了使用 GPL 覆盖的插件,主程序必须在 GPL 下发布
我看到了 GPL 常见问题的那部分。但是插件可以独立开发并与 MockProram 一起提供。最终用户可以从 MockProgram 中获取插件并将其放入专有程序中。在最后一步之前,GPL 和封闭源代码是分开的。该步骤由最终用户完成,他没有义务,因为他不分发组合产品。
更新 2
这
如果法院发现其中一个是专门为要求另一个而设计的,那么您可能会遇到麻烦。模拟程序和模拟插件的性质也可能发挥作用,至于它们是“真正的”程序还是傀儡。咨询律师。
看起来像是问题 3 的答案。谢谢。
c# - 将 GPL 许可证添加到 C# 项目
为了将 GPL 添加到 C# 项目,我需要在哪些文件中添加标题注释?
表单生成的代码是否需要它?
是否只需要在每个 *.cs 文件中?
是否有将 GPL 添加到任何类型的项目所需的资源或语言特定步骤的详细列表?
licensing - 将 GPL 代码包装在服务、内核驱动程序或其他许可避免机制中
关于此评论的以下摘录:
AFAIK,通过网络适配器与 GPL 代码交互很好。拥有比这更紧密耦合的代码通常是不行的(再次,AFAIK),特别是如果您的代码没有 GPL 代码就无法运行,但这是一个灰色区域。
因此,如果我想使用 GPL(而不是 LGPL)的图形库,我是否可以决定让它成为 linux 计算机上图形服务的一部分,只要我发布使用这个库实现此服务的代码?
假设库实现了 SVG,我决定用 SVG 来绘制矢量图形的所有屏幕。我没有将 SVG 滚动到我的几个应用程序中(并因此打开它们的源代码),而是创建了一个服务(或内核驱动程序),它侦听套接字(或实现图形设备),该套接字获取 SVG 数据并将其渲染到屏幕使用图书馆。我根据库的 GPL 发布服务/内核驱动程序代码。我不会为使用该服务或内核驱动程序的任何程序发布代码。我发布了服务/内核驱动程序的 API,以便其他人可以实现、替换它,并且仍然使用不同的服务/驱动程序运行我的二进制文件,或者开发反射器等。
- 我是否违反了 GPL 的法律条款
- 我是否违反了 GPL 的精神
我敢肯定其他人已经考虑过这一点 - 它是否发生过,社区的反应是什么?
-亚当
jquery - 基于浏览器的大纲库
我正在寻找可在浏览器中运行的免费(GPL 或 BSD 类型许可)大纲库。
它不必太复杂,只需允许键盘控制折叠和展开项目,并更改它们的顺序。
有人知道这方面的好图书馆吗?任何大型 UI 组件库都有大纲吗?如果没有,我将如何从头开始编写它?(例如,从 jQuery 开始会更好吗?还是别的什么?)
binary - 在纯二进制产品中搜索我的源代码
假设我有一个在 GPL 下发布的项目,任何人都可以使用源代码。后来我发现了一个非常相似的产品,但是作为封闭源代码,仅由其他人分发二进制文件。
有没有一种好方法可以找出他们在他们的产品中使用我的源代码?
如果解决方案是以某种方式对二进制文件进行逆向工程,是否有可能以某种方式自动化它?
编辑:澄清。寻找错误是一种选择,但不是确定的,特别是如果项目是一个库并且二进制文件添加了自己的 GUI,例如。我感兴趣的情况是代码被解除的情况并不明显。
licensing - 围绕 GPL CLI 应用程序的 GUI 包装器,它是派生的吗?
如果我开发一个只执行GPL cli 应用程序的 GUI 包装器(为了论证,比如说tar),我必须将 GUI 包装器作为 GPL 发布吗?是衍生作品吗?
如果是衍生作品,我必须发布什么?
GPL 应用程序和包装器将一起分发