开源代码被人抄去用另一个语言重写闭源,只能认栽吗

2025 年 8 月 12 日
 Dimole

如题。每次开源项目更新后第二天,闭源的程序就能跟进一样的功能。使用 IDA 反编译后发现其闭源程序部分实现逻辑相似度较高,只是使用了不同语言,而对方认为他用另一个语言重写了就是没有相似度、和开源原作无关联。

开源的时候不知道江湖水深,选择的是 MPL-2.0 ,是只能认栽了吗?

5751 次点击
所在节点    问与答
43 条回复
NewYear
2025 年 8 月 13 日
开源一定会遇到这些问题:

被人白嫖拿去用
被人白嫖拿去做商业项目,赚得盆满钵满
被人白嫖设计思想仿造
被人骂

甚至,被人实现后进行“微创新”,体验大幅度上升,用户流失。


其实在这个时候,我们作为开源软件作者,已经失去了当年开源的愿景了。
我们当时为什么要开源这个软件呢?为什么我们开源了还这么痛苦?


这里建议参考一下 Redis 的历史,作为一个开源项目,最开始他肯定是没有想过要赚大钱然后和各大互联网厂商拼杀,但当他看到各大互联网厂商用它赚钱后,就开始对抗……各种矛盾升级……
(例如他选择只开源基础部分,并将大量增强功能避免,并继续开发更强大的闭源功能,需要付费使用,又从授权上想从互联网厂商分利润等等)

直到有一天,各大互联网在这个领域玩不下去了,成本太高,未来不可控
得,干脆联合起来成立一个组织,把对方的工程师挖过来,自己再用自家的资源,从头到尾把他的功能全部实现,管你开源闭源,在不违反开源协议的情况下,全部实现一遍。

然后 Redis 作者,选择了更激烈的对抗手段,试图接管所有“连接 Redis 服务器的客户端组件”,拉黑掉互联网厂商实现这个数据库产品。。。。

后续我就没太关注了,但我知道一点,Redis 的名声臭了,即便后续再宣布全部开源,也没有意义了,各大互联网厂商不可能抛弃自己的项目,又跑回去用他的“开源软件”。



还有一个例子是 S/S 、S/S/R ,大家所熟知的软件。
我从记忆里简单整理,不保真:简单来说,就是后者除了实现自己的功能,又不断的在抄前者的功能,导致前者怎么都不可能在功能上竞争得过后者,最后两个项目好像都黄了。



好了,回到主题,为什么我们开源了,还要被骂?
在这个事情里,首先我们要认知到开源软件的局限性,也就是“被人白嫖等等”(上面列了清单),这是无法避免的。

那如何应对呢?
在这里,一定要有“公关思维”,回忆一下,什么是公关思维?这里可以建议楼主看几期咱们外/交/部回复记者的发言。
1 、脸皮一定要厚!你说什么,我不在意:我只在意我说什么,我说世界上只有一个中/国,那世界上就不可能有两百多个国家和地区。你问了也白问,我继续占有主动权。
2 、学会吹捧自己!五千年古国,印度的万年古国,这都是我们实实在在的战绩,战绩可查!是谁创立了这个类别的软件?是谁有良好的品质才选择了开源?是谁接受大家的意见(甚至是骂娘的语言)?是谁引领了这个潮流,让相似的软件如雨后春笋一个个诞生?
3 、不要太过于在意他人的看法,因为你控制不了别人的看法,你控制不了别人的行为,你控制不了天气的变化,你越在意,你越痛苦。这种时候一定冷静,不要因为情绪而反击他们,冷静想想自己能做什么。是不是咱们可以要求对方提供相关证据,或者复现方式,“我们一定会重视并进行复现和修复”呢?更希望其他用户提供线索,以帮助咱们软件存在隐性漏洞。。。



最后我想说两点:
1 、一个软件被另一个软件替代是很正常的,但软件嘛,都是功能上的区别,他可以做你也可以做,没关系的。也希望你自己可以理解。
2 、当时开源这个软件时的愿景,一定是你能获得正面的反馈,从而心理上更舒服。但要运营一个软件项目,往往会遇到很多困扰,有些事你去处理了没什么太大价值,不处理又难受。。。所以如果实在太累,违背了当初的愿景,甚至让自己变得痛苦。。。。那么放手,也是一种不错的选择。

最后的最后:
你可以把我这大段文字丢给 AI ,让它给出一个合适的意见,再搭配你自己的想法,接下来怎么做其实很容易决定的。

最后的最后的最后:
感谢开源。
julyclyde
2025 年 8 月 13 日
对的,这叫 cleanroom engineering
julyclyde
2025 年 8 月 13 日
@Dimole 其实对方的错误只有骂一嘴
你犯不着先提他拿走了,再强调骂一嘴
他拿走完全是你赋予他的权利

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

https://v2ex.ih06.com/t/1151709

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

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

© 2021 V2EX