【问题标题】:Commercial GPL: restrict source code access [closed]商业 GPL:限制源代码访问 [关闭]
【发布时间】:2011-10-25 13:35:24
【问题描述】:

你好,祝你有美好的一天。

我有一个与 GPL/LGPL 相关的问题。

假设我基于 GPL 许可或 LGPL 许可的软件制作了衍生作品(没有太大区别 - 衍生作品意味着我对源代码进行了更改并且必须将源代码发布给公众),并决定将其作为商业应用程序出售(或作为商业应用程序的一部分 - 在 LGPL 的情况下)。

我是否可以只将源代码的访问权限(包括修改/重新分发的所有标准 GPL 权利)授予实际直接从我那里获得软件的人,而拒绝将源代码提供给其他人? (如果有人从其他地方得到了软件,我会告诉他/她联系他从那里得到软件的人)。这种方法很有意义。但是,我不确定 GPL 是否真的允许这样做。

插图:
我卖软件。一个人“A”从我这里购买软件并询问来源。我向“A”提供源代码。一个人“B”从“A”那里得到一份副本,并向 me 索要源代码。我拒绝给他源代码,并告诉他应该就此事联系“A”。这显然不是专有许可。是否允许?

你怎么看?

【问题讨论】:

  • “这样的方法很有意义。” - 当然,如果您生活在 19 世纪,因此无法举办任何活动,或者如果您想让人们的生活变得不必要地复杂。在众多源代码托管平台中的任何一个上扔源代码有什么问题?
  • @delnan:你没有理解这个问题。建议重读。
  • 我在评论之前读了两遍这个问题,刚才又读了第三遍。我可能仍然遗漏了一些东西,但我所看到的只是“我不想将 GPL 的源代码提供给从其他人那里获得软件的人”。在我看来,这是一个值得怀疑的态度(考虑到免费的开源 VCS 托管,使其可用的成本几乎为零,当二手用户想要源代码没有任何好处时将其拒之门外——这就是我的假设,至少,也许是我的前提有问题吗?),因此我在发牢骚。
  • 我从没想过您打算使用专有许可证。考虑一下:提供源的副本不等于提供支持和接受(阅读:密切关注并可能执行)功能请求等 - 但顺便说一句,人们寻求支持不是赚钱的最佳方式吗?源软件?至少这适用于 Redhat 等人。无论如何,只要它是 copyleft,该软件也可能是免费的 - 正如您所注意到的,它只需要一个客户扮演圣徒,所以我不希望人们从一开始就使用该软件。但这是你的决定。
  • 我投票决定将此问题作为离题结束,因为它是关于许可或法律问题,而不是编程或软件开发。 See here 了解详情,help center 了解更多信息。

标签: licensing gpl lgpl


【解决方案1】:

我是一名软件开发人员而不是律师,所以不要指望具体的法律帮助:

我是否可以只将源代码的访问权限(包括修改/重新分发的所有标准 GPL 权利)授予实际直接从我那里获得软件的人,而拒绝将源代码提供给其他人? (如果有人从其他地方得到了软件,我会告诉他/她联系他从那里得到软件的人)。这种方法很有意义。但是,我不确定 GPL 是否真的允许这样做。

如果您根据 GPL 将您的软件分发给其他人(A 人),您也授予该人获取源代码的权利。最简单的方法是把源代码与作品一起提供。那么你已经满足了这个要求。人 A 已经通过该程序从您那里获得了源代码。任务完成。

如果现在 C 来找你,告诉你她从你那里听说 A 有一个 GPL 下的软件,现在 C 想要源代码,那么你可以告诉 C 你没有分发节目给她,所以你根本没有义务给她节目。程序的真实情况也适用于来源(除非您已提供书面声明以向任何第三方提供来源)。

GPL 不允许这样做。您只需向您分发软件的人提供源代码(除非您已书面声明向任何第三方提供源代码)。如果你已经通过了一次源,你不必再做一次。会很好,但没有要求。是的,将您的软件也提供给其他人也很好,但没有必要(除非您已书面声明向任何第三方提供资源)。

您自行决定将软件分发给谁以及来源。许可证并不强制您将软件分发给任何人或任何人分发(除非您已书面声明向任何第三方提供源代码)。

编辑:

我想,您可能想看看GPL FAQ,这里有一些可能会有所帮助的问题:

等等。

【讨论】:

  • 啊哈。现在说得通了,谢谢。当然,如果我决定在实践中使用该模型,我仍然需要咨询律师。
  • 只需阅读 GPL 文本并浏览 FSF 网站。这一切都解释得差不多了。我不认为您的“模型”很特别。它只是您所做的 GPL 下软件的标准分发。比如有人买了一部安卓手机,他就有权从厂商那里获取设备GPL软件的源代码。
  • 在某些情况下 GPL 要求开发者确保源代码在 3 年内可供下载。我想这部分让我很困惑,这就是问题的原因。
  • @SigTerm:好的,我不清楚您是否想利用书面报价来获取资源。我更新了问题,我认为您应该在GPL FAQ 中查找您的问题。
  • @SigTerm:我现在在回答中说得更清楚了,我已经给出了向任何第三方提供来源的书面声明,你需要这样做,当然。
【解决方案2】:

没有。如果您的项目包含 GPL 下的代码,则您的整个代码也必须在 GPL 下发布,并且您必须向任何人授予对源代码的免费访问权限。

GPL 旨在防止您正试图做的事情:在封闭源代码许可下转售开源代码。即使你发现了一个允许你想要的东西的法律漏洞,它仍然违反了许可证的精神,所以从道德上讲,你仍然是错误的。

【讨论】:

  • 很抱歉,您似乎没有理解这个问题。我们的想法是授予 GPL 提供的所有权利,并为直接从我这里购买软件的每个人提供源代码访问权限,并拒绝向不是直接从我这里获得软件的任何人授予源代码访问权限。 IE。如果您从其他人那里获得软件,您将不会从 me 获得源代码,但会礼貌地要求我向 那个 人索取源代码。这并不意味着它是专有的,因为任何人仍然可以免费向所有人免费发布整个内容——如果他们没有更好的事情可做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-30
相关资源
最近更新 更多