如何发现和记录违反GPL的行为?


15

当您无权访问其封闭源代码时,如何发现某人将获得GPL许可的开放源代码复制到其封闭源商业应用程序中?

编辑:很好的答案!第2部分。如果它是Web应用程序,而您甚至没有访问可执行文件的权限,该怎么办?

方案:他们复制源,对gui进行一些细微更改,因此前端几乎相同;向原本完全相同的后端添加新功能;并且无法将其释放回开源。


1
是的,它不仅仅是一个“好主意”。它可以通过法律影响(在许多辖区)执行。也就是说,雇用(或获得)律师和分析团队。
pst

编辑后,这很清楚。可能不会以当前形式迁移。由于无法轻松发送回去,因此我已竭尽所能。我还修改了您的标题。
蒂姆·波斯特

留意这个家伙;)
MarkJ 2011年

Answers:


6

看来您确实在尝试发现它,这意味着您必须深入研究专有程序的已编译可执行文件(或关联的库)才能知道。您正在寻找与您怀疑的免费软件明显匹配的字符串和符号。

在类似UNIX的操作系统上,该strings实用程序提供了很好的线索。仔细的分析通常会揭示您的需求。如果看到的话foolib_easy_init,那么..编译程序正在使用foolib。

当然,这随编译器优化级别的不同,在编译之前进行的混淆以及可能去除未使用/调试的符号而有所不同,但是那些懒于编写自己的软件的人在隐藏它们时通常也同样懒。


1
我知道,如果该程序是一个Web应用程序,而您甚至没有访问二进制文件的权限,该怎么办?他们复制了整个GPL许可的源代码,更改了几个GUI元素,并发布了自己的具有几乎相同的前端和完全相同的后端的封闭源webapp。然后,他们将新功能添加到应用中,而没有将其作为开源发布。发现这种违反GPL的行为是否可行?
siamii 2011年

3
@ bizso09:假设我们在谈论后端,这不是违反GPL的行为。请参阅我的答案以获取更多详细信息。
David Thornley

2
@ bizso09-仅当应用程序以混淆/编译的格式(没有源代码)传输给您时,才会违反GPL。仅将其“投入使用”并允许人们使用它就不会构成侵犯。但是,这将违反Affero GPL,后者专门涵盖与网络交互的软件。尽管如此,您仍然可以通过检查所有元素(甚至寻找您怀疑滥用的代码中存在的已知错误),通过firebug / dev工具发现它。
Tim Post

4

BusyBox有几起备受瞩目的案例,它们起诉硬件制造商使用BusyBox而不发布资源。这些诉讼是由软件自由法律中心的律师提起的。

如果您的项目足够成熟,可以加入软件自由保护组织,那么您也可以使用SFLC的服务。(不确定非水利项目是否可以使用SFLC的服务-您应检查。)


非常好的链接。甚至都不知道存在这样的事情。
pst

1
他们是为您做研究还是只是为律师提供服务?因为我觉得OP一直在寻找在前
TheLQ

1
-1虽然很有趣,但是并不能回答所提出的问题。
HedgeMage 2011年

1
@HedgeMage-在编辑之前,这个问题有点模棱两可。
熟练地

3

GPL仅将有限的应用程序应用于服务器端Web应用程序。客户端的所有内容都在分发,但这通常是Javascript,用户会自动获取源代码。任何严格在服务器端运行的东西都不会分发,而GPL主要适用于分发。

这是Affero GPL的动机,它(IIRC)基本上说,如果您在Web应用程序等中使用AGPLed软件,则必须提供分发源。


1
正确。AGPL特别涵盖“与网络交互的软件”。它与Web应用程序一样适用于... IMAP服务器...。
Tim Post

2

如果它的行为像程序一样运行,则可以使用objdump和类似的工具开始。这个旧的Slashdot条目显示了另一种更正式的检测GPL违规的方法。


1

Harald Welte在采用胡萝卜和棒子方法方面取得了成功,该方法可以使那些不正确使用GPL许可代码的公司遵守许可条款。许多公司仅需要对决策的后果进行教育,并在庭外解决问题。


-1实际上并没有解决所问的问题,即如何识别这种滥用行为,而不是发现一个滥用行为之后该怎么做。
HedgeMage 2011年

5
@HedgeMage-这个问题最近编辑的,它实际上令人困惑,以至于它被迁移到了这里,而实际上它确实属于SO。
蒂姆·波斯特

2
@Tim:我们现在可以去报复降级投票了吗?普利兹?:-P(对于第三方潜伏者:不,这不是一个严肃的建议。Tim和我都是其他SE网站的主持人,永远不会从事类似的活动。当然!)
Chris Jester-Young

1

如果发现违反GPL的行为(有人在您的版权下使用了代码,并且在分发二进制文件时未提供源代码),请与违规者联系并要求解决此情况。记录邮件,与您联系的时间等数据。

如果不是您的版权,但您发现了侵权行为,请与侵权者旁边的原始版权持有人联系,并告知她/他有关侵权行为的信息。建议联系违规者之前

如果该软件是由许多版权所有者共同使用的软件,并且您仅是其中一个版权所有者或只有一组版权所有者(并非全部),则同样适用于您。那就是您的版权,GPL适用于任何类型的衍生产品-不论大小。

如果由于技术限制,如果可能的违规确实是一种违规而无法获取知识,则需要寻找其他方法以了解更多信息。例如,向可能的违规者提出问题,通过第三方等途径访问二进制甚至是源。

如果有问题的代码在GPL v2下,并且违反许可条款,则终止。违反者永远失去了使用GPL编码的所有权利。他必须再次与所有版权持有人联系,并要求恢复权利,否则仍然使用该代码会侵犯版权。

如果有问题的代码在GPL v3下,并且违反了许可条款,则终止也有效,但是违反者可以通过自行停止违反行为来从中恢复-除非版权所有者要求更多。

编辑:这仅仅是一般信息。如果您想研究具体的法律问题,则应该是版权所有者,并且应该与您的法律团队联系,以查找所需的证据,以及解决不符合法律规定的违法行为的建议。这更加实用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.