似乎 GPL 有法律上的漏洞能“限制”源码和 Binary 被公开,传播和使用

2024-05-29 18:25:05 +08:00
 liyafe1997

设想一个场景,你开一家公司,通过销售二次开发/魔改 GPL 产品来盈利,比如 Linux ,MySQL 等等。你不希望你的产品及源码被客户二次分发,也不希望你的产品被“非授权”使用。但是根据 GPL 协议,你必须向得到了 Binary 的客户提供源码,同时根据 GPL 协议,你的客户有权二次分发和传播 Binary 和源码。

但 GPL 管不了 GPL 以外的其它协议/合同,因此在向客户提供产品之间,完全可以签订另一个协议:虽然根据 GPL 协议你有权二次分发 binary 和源码,你可以这么做,但是一旦你行使这项 GPL 权利,我们的所有合作就此终止,以后不再提供产品和更新及其源码,并且不退款,并且不再合作,说白就是撕破脸。

这样使得客户“不敢”去公开/二次分发你的源码以及 binary ,或者说能开,但只能开一次。然后实际上你就能光明正大的“销售”GPL 产品了,并且这份源码(包括产品 binary 本身)并不会真正的被公开,实际上一直处于私密状态,尽管你的客户能够得到它。对于其它人而言,也必须要向你付费才能得到及使用产品。

如果你的产品或源码还是被流传出去了,未向你付费的人使用泄露出去的版本法理上应该也不算盗版,没有法律上的风险,因为根据 GPL 协议他有权使用。但是假设你的公司影响力足够大,比如是某些国际大厂,产品涵盖很多领域,跟客户在不同领域均有合作,那么假如在其它领域(非 GPL )的产品和客户的协议有一项条款:如果未与本公司签订协议/付费而使用 XX 系列产品,公司将有权终止所有合作关系。说白就是你能用,你也有权用,在这方面没法追究你,但是就跟你撕破脸了,咱家别的东西你以后都别想买了。

这些条款对个人用户没啥意义,但对于企业尤其是大企业,还是会考虑其中的“风险”的。其实这也基本符合现在很多大厂产品的营销策略:对个人用户“免费”(不管是放任盗版,还是像最近 VMware workstation 那样直接宣布对个人免费),对商用收费。

不知各位有什么看法?不知道红帽在“闭源”Linux 后是不是/有没有用类似的策略来限制自家源码以及 RHEL 兼容产物(类似之前的 CentOS )的传播?

1906 次点击
所在节点    开源软件
12 条回复
xou130
2024-05-29 20:34:26 +08:00
商业上来看,如果不是 redhat 这个生态一开始利用 cent 绑架的太多,乙方和甲方提这种要求,甲方一开始就会想如果遇到难解决的问题需要乙方花费一定成本,乙方可以假证甲方泄露代码,不就可以随时单方面终止合同,如果这个软件又提供的是公司业务的核心部分,那风险可以说是巨大。可能有极少数有合规需求和甲方签这种条款,就算是 redhat ,本来 cent 加 red 生态已经火焰很高了,现在正好给了由头让大家换各种其他系统,比如 UOS ,openeuler 。gpl 能运行正是这种双向的“君子协议”,乙方的源码甲方可以任意提供给第三方,无论是审查还是什么目的,甲方没事也不会拿源码整个一样的去卖,毕竟还有专利还有下游客户。说到底,卖软件这种模式已经是上个版本了,这个版本是卖服务,当地主做收费站。买来用的软件,哪怕是工业软件,国产替代也是轰轰烈烈,少一家的软件无非就是业务不稳一点点,慢慢生态起来了都一样。
shoa
2024-05-29 20:38:44 +08:00
GPLv2 第 6 条:
“You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.”

GPLv3 第 10 条:
“You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License.”

补充协议是与 GPL 矛盾的
liyafe1997
2024-05-29 21:18:44 +08:00
@shoa 不知道这个“restrictions/限制”在法律上的定义/边界在什么地方。
就像上面我说的,我并没有限制你的行为 A ,也不会就你行为 A 本身去追究你(毕竟没有这个权限,行为 A 本身是合法的)
但是可以通过另外的条款/合同/协议,如果有行为 A ,那么就 xxxxxx 。
不知道这算不算一种“限制”
liyafe1997
2024-05-29 21:20:02 +08:00
@xou130 这个是商业生态的现实,不过我这里想讨论的是纯法律本身层面的问题
liyafe1997
2024-05-29 21:27:28 +08:00
@shoa 甚至这个“限制”可以更为软性,不一定非要终止合同/撕破脸,比如“将服务方式从每月提供功能更新版本调整为每 2 年接受一次仅安全更新”
agagega
2024-05-30 00:22:40 +08:00
理论上如果一家公司内部 fork 了 gpl 软件使用,员工作为拥有二进制的人有权获得源码,但因为受到公司规定的制约,不能随意向外泄露二进制。

企业用户的场外因素本来也很难界定,所以也不能说违背了 gpl 的理念吧。
baobao1270
2024-05-30 09:30:27 +08:00
这种可通过商业策略限制,比如改成订阅制
janus77
2024-05-30 10:13:20 +08:00
你这个不就是实质上的限制吗,这跟“如果你偷东西,我就抓你”有什么区别吗
NXzCH8fP20468ML5
2024-05-30 14:57:54 +08:00
可以的,红帽就是这么干的。
你订阅 redhat ,我就给源码给你。但你一旦共享出去,咱们合同立刻取消。
实际上 redhat 不是带头这样干的,高通 MTK 博通英飞凌等等都有类似协议。

gpl 只需要遵守二进制的
NXzCH8fP20468ML5
2024-05-30 14:58:54 +08:00
gpl 规则是获得二进制的人,也能获得源码。
因此只要限制二进制的获得合同就行。
liyafe1997
2024-06-01 03:47:55 +08:00
@xxfye 但问题是,GPL 规定不管是源码还是二进制,拿到的人有二次分发的权利
NXzCH8fP20468ML5
2024-06-01 13:43:41 +08:00
@liyafe1997 对呀,客户当然有权利可以分发,但是红帽就终止合同,停止你获得后续的二进制和源码的机会。这个并没有限制你已经到手的源码和二进制的分发权利。因此不违背 gpl 协议。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1045163

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX