我正在寻找一个参考,说明我是否需要重新分发我的应用程序的源代码,如果它链接到其源代码在GPL v2/3下发布的二进制文件.
谢谢,伊甸园
我想很多人都想知道这一点.我在网络和堆栈上进行了搜索,虽然之前已经在堆栈中进行了讨论,但它并没有关于Qt ...也没有在相同的上下文中.
Qt是LGPL.
这意味着(只要你不修改Qt):(
1)商业开发人员不需要商业许可证($)就可以使用Qt.
(2)不需要将应用程序src代码泄露给任何要求它的人.
Oracle MySQL是GPL.
这意味着(即使你不修改MySQL) - 解释答:
(1)商业开发需要商业许可证(最低2000美元/年)才能使用MySQL.
(2)必须将您的应用程序src代码泄露给任何要求它的人.
这意味着(即使你不修改MySQL) - 解释B:
(1)商业开发者不需要商业许可证($)来使用MySQL.
(2)必须将您的应用程序src代码泄露给任何要求它的人.
这意味着(只要你不修改MySQL) - 解释C:
(1)商业开发者不需要商业许可证($)来使用MySQL.
(2)不需要将应用程序src代码泄露给任何要求它的人.
虽然LGPL很明确,但对于GPL存在很多困惑.我想知道哪个版本的GPL解释是正确的(A,B或C).我相信这里有一些专业人士知道这一点.
我对GPL的个人理解是GPL是关于库链接(代码重用......而不是应用程序使用)编写的.也就是说,如果您使用某些代码,或者扩展某些代码来制作应用程序,那么您的权利/限制以及其他所有人的权利是什么.我不相信GPL是指限制您对GPL应用的使用.如果我错了,请纠正我.
例如,LINUX的大部分都是GPL.如果我在Linux上进行开发,我的所有应用程序都必须是GPL吗?我认为这样的解释是不准确的.所以我认为使用GPL应用程序和使用/重新使用GPL src代码之间存在差异.
通过以上示例的扩展,如果我使用名为MySQL的应用程序...为什么MySQL的GPL许可证会感染我编写的任何应用程序仅仅是因为它使用MySQL数据库来存储和检索数据?这与使用Linux开发有什么区别?
现在,谈到我的困惑点,以及帖子的内容.在回答我的上一个问题时,我看到一些令人困惑的措辞,即如何链接到MySQL数据库很重要.我不明白这一点......虽然我认为一般的想法是用于链接到MySQL的API也可能是GPL.我们不是涵盖每个场景,而是针对API.
我在Qt中使用了什么库?我遵循Qt指令来构建QMYSQL(MySQL驱动程序).http://doc.qt.nokia.com/latest/sql-driver.html 此构建过程依赖于MySQL提供的一些文件(可能是GPL).我不知道Qt在什么意义上使用术语"驱动程序".从我的角度来看,"驱动程序"是一个允许某些东西工作的底层引擎,因此我不知道它与我的应用程序有什么关系,而不是在LINUX中安装一些GPL驱动程序,所以我可以启动LINUX并做一些商业编码.我也不明白为什么Qt让人们"构建"QMYSQL插件.是出于技术原因还是出于许可证原因?为了控制MySQL,我使用Qt"QSqlDatabase"和"QSqlQuery"类.
因此,如果我--USE--用于数据存储的MySQL和我的商业应用程序使用Qt来管理,存储,检索,更新我的MySQL数据库中的数据,上述GPL许可证解释中的哪一个是正确的(A,B或C)?
*最后的说明.我知道人们将MySQL与网站联系起来.让我们在本主题的背景下认为MySQL也适用于商业应用......而不仅仅是网站.两者之间的主要区别是网站需要中央数据库,业务应用程序可能要求每个客户都有自己的数据库部署.在一天结束时,它只存储数据(两种方式).据我所知,在与商业闭源应用程序相同的安装光盘中包含MySQL并不违反GPL,让安装程序安装它然后关闭的源应用程序制作数据库和表.如我错了请纠正我..
我理解最好尽可能实现其他库(而不是复制代码),但在某些情况下,复制代码更方便.
复制代码的正确礼仪是什么?信用在您的文件的顶部,靠近使用的代码?如果代码被重新考虑到无法识别怎么办?
我正在评估使用Hibernate作为ORM框架开发商业Java Web应用程序的前景.此应用程序将安装在客户的服务器上,并将由少数用户使用.此外,我不想发布我的源代码,因为应用程序是关键任务,它可能会危及应用程序的安全性.
我设计了应用程序,所以如果客户已经拥有企业数据库许可证,我就会配置Hibernate来使用该数据库.否则,理想情况下我想为他们提供/推荐数据库.根据我目前的专业知识,我更喜欢使用商业双重许可的MySQL和GPL.
除了Hibernate方言设置之外,我不打算在我的应用程序中使用任何特定于MySQL的代码或SQL.基于MySQL网站上的信息和我在网上阅读的许多相互矛盾的帖子,看来如果我想以这种方式分发应用程序,我需要从MySQL购买商业许可证.商业许可证的费用(根据我的理解,每年600美元以上)会使软件过于昂贵.我觉得必须有其他商业Web应用程序允许类似的功能,而不是与数据库捆绑在一起.
这让我想到了这两个问题:
1.)是否有任何已知的情况,您可以使用商业闭源应用程序使用MySQL Community Edition而无需支付许可费?如果是这样,您是否知道任何合法的商业应用程序或公司?
2.)理想情况下,我想使用MySQL连接器J驱动程序,我相信它也是双许可的.如果我没有在我的代码中捆绑这个jar,而是指示用户下载连接器并直接从MySQL的网站下载并安装MySQL服务器,这是否允许在GPL下?
Stack Overflow上已经有一些有用的帖子(例如MySQL许可和GPL),但我正在为我的案例寻找更具体的答案.我意识到我们大多数人都不是律师,但任何指导都会有所帮助,所以我可以解决法律问题并开始实际编码!谢谢.
我已经签约修改根据GPL发布的软件.我正在咨询的小型研究公司将提交对修改软件输出的分析,作为美国国防部对RFP的回应的一部分.但是有一个问题.
源目录包含一个名为"COPYRIGHT"的文件(以及您的标准GPL.txt),其中包含以下文本:
"此程序是免费软件.特此授予根据自由软件基金会发布的GNU通用公共许可证(GPL)条款使用,再分发和/或修改它的权限,唯一的例外是该软件和所有部分.它可能永远不会被用于任何军事用途,无论是否是研究,商业或其他方面. 您可以申请GPL的第2版,或(根据您的选择)任何更高版本.
这一限制显然与GPL第6条不符(......您不得对收件人行使此处授予的权利施加任何进一步的限制......)
所以,它们似乎违反了GPL.
我可以认为他们对我的GPL权利的限制无效吗?
我注意到在我的Revolution R安装的库文件夹中,有一些独特的Revolution包.所以我将它们复制到我的常规R发行版中,这些包工作正常.
我可以在商业环境中免费使用Revolution套餐吗?我的理解是,任何为R做出贡献的人都需要在GPL下开源,所以任何人都可以在任何环境下使用它并进行更改.请帮我理解这个.谢谢
我正在开始一个新的GPL v2项目,该项目将基于现有的GPLed代码.目前,其他项目文件中的标题如下所示:
/**
*
* Copyright (c) 2006-2009 Andrew Person
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
*/
Run Code Online (Sandbox Code Playgroud)
现在,当我进行修改时,我显然需要根据许可证保留原始版权,但需要添加我的姓名和归属.我该怎么办呢?这可以接受吗?
/**
*
* Copyright (c) 2006-2009 Andrew Person
* Copyright (c) 2011 Martin Eve
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
*
*/
Run Code Online (Sandbox Code Playgroud) GNU通用公共许可证(GPL)用于软件,GNU自由文档许可证(FDL)用于文档 - 是否有类似GNU的数据许可证?具体来说,我希望许可证允许GPL软件具有相同类型的权限(例如,重新分发,访问),但是对于数据.
请考虑以下步骤:
0)发布开源模拟程序和模拟插件,它通过某些接口(I)进行通信,交换复杂的数据结构,共享内存并相互调用.对其应用所有许可许可.
1)Release Plugin,用于以接口(I)定义的方式处理任何程序.这个插件使用第三方GPL覆盖的代码,GPL本身也是如此.它最初是使用Mock Program开发和测试的.它作为任何GPL程序分发,并提供源代码.
2)发布闭源专有程序,用于以接口(I)定义的方式与任何插件通信.它最初是使用Mock插件开发,测试和发布的.
3.1)向程序添加安装脚本,下载GPL插件并将其附加到已安装的程序.
3.2)而不是安装脚本添加说明如何手动下载和附加GPL插件.
因此,最终用户获得专有程序,该程序受益于插件中的GPL覆盖代码.
问题:
0)如果它是合法的,那么通过开发人员的相当小的努力,在任何专有程序中获得任何GPL涵盖代码的利益是不是合法的方式?
1)如果它不合法,那么GPLv*的哪一部分或任何东西阻止谁做哪一步?
2)3.1和3.2之间是否有任何法律差异?
3)如果Mock Program and Plugin,专有程序和GPL插件是由单个人或不同的人开发的,是否存在法律上的差异; 有意或无意?
4)您的意见是什么 - 它是否足够道德?
5)这种策略是否有现有样本?
6)是否有任何更容易的合法方法来实现相同的结果 - 发布可能并且很可能从GPL代码中受益的专有程序?
更新:
从字面上看,这意味着为封闭源程序编写插件并在GPL下发布它会导致组合成为插件的扩展,因此属于GPL,涵盖整个封闭源程序太
但是这种组合不是分布式的,而是在最终用户机器上进行组合.就像我自己对Linux的修改一样,在我发货之前我不需要开源.在这种情况下,最终用户设法在不访问程序源的情况下进行修改 - 对他有利,但到目前为止我看不到任何违法行为.
为了使用GPL覆盖的插件,主程序必须在GPL下发布
我看到了GPL常见问题的那一部分.但是插件可以独立开发并随MockProram一起提供.它发生了,以便最终用户可以从MockProgram获取插件并将其放入专有程序.直到最后一步GPL和封闭源被分开.该步骤由最终用户完成,他没有义务,因为他不分发组合产品.
更新2
这个
如果法院认定一个是专门设计要求另一个,那么你可能会遇到麻烦.Mock Program和Mock Plugin的性质也可能发挥作用,关于它们是"真正的"程序还是傀儡.咨询律师.
看起来像问题3的答案.谢谢.