在开源的世界里如何应对搭便车者?

简介: 在开源的世界里如何应对搭便车者?

近来,有几位年轻人写了一些文章,有关道德绑架开源项目维护者之类的怨言之类的,其中颇具代表性的是:

  1. 望京一哥小智:6年开发者社区工作经历,聊聊我眼中的社区、开源与商业
  2. toughtworks 的李光毅: 开源社区的暗面

通常情况下,我是不理会这样的文章的,但是这次实在憋不住了,不吐不快。我想最大的原因还是不希望看到年轻人这样,他们本应该充满希望,对开源保持乐观。


什么是搭便车?

经济学家/博弈理论家的解释是这样子的:

没有通过参与集体行动来为利益总和的累积贡献力量,还想要从成果中分得一杯羹。[1]

那么我们在开源的世界里,可以套用这个定义:

一些商家或个人没有参与开源项目的 upstream 的任何行动(设计、编码、测试、反馈、需求、文档、宣传、营销等),只是坐收其中的利益,甚至还违反开源项目的许可证声明。

大体上满足这个定义,就可以称之为搭便车者了。


如何识别搭便车行为?

在开源的世界里,其实识别搭便车行为是蛮难的一件事,因为加入开源,就压根不是冲着这个来的。还因为开源对于最终用户是完全不设防的买卖,对于惩罚搭便车行为不是直接的。

最为简单粗暴的识别方式就是是否违反项目的许可协议,换句话说,当继续分发的时候是否遵照了开源的许可证条款。

虽然搭便车行为在人类自己建立的秩序上不能让部分人接受,但是传统意义上的知识产权官司大部分也很难提起诉讼。

其实还有一个颇为有效的识别方式,可以美国波特·斯图尔特大法官鉴定情色艺术的说法[2]:

“哪儿有什么标准,我一看就知道是不是。”


搭便车行为不会根除,请认清这一现状

我们通常以为随着时间的流逝,尤其是近代物理学和生物学的发展,以进化论为代表的观念深入人心。以为人性也是全部进步的,其实不然,以全球的视角来看,文化的发展并不是齐头并进的,可能随着全球化供应链的发展,技术普惠人类可能很快,但是文化观念却未必。即所谓的“现代人的头脑,原始人的心智”[3]。

因为开放源代码的天然特性,对于搭便车行为是没有任何限制的,也就是我们常常形容的“不设防”的交易,而且将定价权完完全全、彻彻底底的交还给了消费者。那么搭便车行为,只要文化没有进化为生物性,这种事情就不会断绝。

如果对于搭便车行为视为一种恶意的话,而且你总是盯着这些恶意的行为,就会让你的心胸充满怨气,就是作者在引言中所提及的那种类型,进而走向开源的反面:专有的闭源,历史上有一些聪明的人非常的善于利用人性的这点,并成就了专有软件帝国。正是应了著名哲学家尼采的那句话:

“与怪物战斗的人,应当小心自己不要成为怪物,当你凝视深渊时,深渊也在凝视你。”

可以,换一个思路,搭便车又何尝不是一种征得用户乃至开发者的先决条件了呢?但是,正如中国古代谚语所云:“升米恩,斗米仇”的后半句,有一部分搭便车者就会转换为对原创者的恶性索取。这是谁也不想看到的局面,但是人性的弱点,我们是可以通过其它手段来进行预防和弥补的,而且不一定非得使用道德绑架/谴责,法律等强制手段。


如何消化道德上的反胃

搭便车者,绝大多数时候给人的是一种不适的感觉,似乎一报还一报是一种人类非常原始的本能,即使进入现代复杂的社会,人们之间的相互依赖前所未有的紧密,而且有着越发紧密的趋势。

就像我们在引言总所看到的文章作者字里行间透露出来的厌恶、谴责一样,搭便车者给人的感觉让人抓狂。每年、每个项目都有一些人忍受不了这些人或行为,倦怠感充斥着,有的甚至心理上出现了一些问题。

其实,这种反感,要尽力去理性的对待,不能任由其发展,无论是倦怠,还是愤怒,其实伤害的是自己。除了上面提到的转移注意力之外,掌握更多的知识,未尝不是一种转移这种消极的上佳做法。


如何转化搭便车为共赢,才是充满前途的道路

一定要认识到,人是可以改变的,没有人是天生下来的搭便车者,不要尊严,愿意寄生的。有了这个前提,就可以想着做下面的事情了,即有一部分搭便车者是可以转化为:付费用户、推广者、contributor、捐赠者、赞助者的,一同进步,所有人都赢的非零和博弈,是大家都乐意得到的结局。


从认知的角度

软件的开发以及软件本身是一种很特殊的兼具信息、计算机技术、传播等特性的新型事物,其本身的抽象性,以及构建自身世界的复杂性,决定了软件是一个动态的、开放的、进化的创造物。也就是说它是一直都在变化的。纵观软件的历史,很好的证明了这点。

只有真正的理解了软件,才能明白开源的重要性,源代码对于技术的传播和交流的载体,是软件进化的充分条件。其实搭这样的便车,是一种“冒险”,它并没有固定下来的可能性,随时翻车。


动之以情,同理心策略

无论是黑客文化[4]也好,匠人[5]精神也罢,开源项目的开发、工程都是有这些人付出劳动的结果展现,正如其成果,以Linux、Kubernetes、Apache等为代表的开源项目为现代信息世界的塑造有着巨大功劳的成果,这些人在现实中也是人类,需要吃、穿,需要安心的为社会尽自己的一份责任。任何对开源项目的不可持续性造成的伤害,就会间接的造成这些开发者的困扰,从经济学的角度讲,一旦不划算,他们就可能会放弃项目,另谋高就。


精打细算不吃亏

开发一款开源项目是可以计算出成本的,全球化的汇率是流通的,各地的人均收入也是可以查阅的,不断迭代的开源项目仍然在不断的累积着成本,搭便车者往往会在静态中做计算,忘记了没有投入,意味着对于项目的驾驭能力的消弱,以及创新的匮乏。以Linux为代表的开源项目,用事实证明了,搭便车者经过了岁月的洗涤,没有占半分便宜,相比于一干不断的contributing,亏的是不见影踪。

把自己该做的事情都做了,剩下的就看他们的觉悟了。


结语

“以眼还眼,以牙还牙” 是记载于*巴比伦时代的汉谟拉比法典[6], 但是这是说被伤害的时候。其实搭便车者在信息时代,或者是限定在开源世界,至少是没有伤害到主体:开源项目及其共同体,虽然在行为上是有道德反感,而且也不符合共同体的日常行为规范,但是他们并不是开源的敌人,或者是由于一时的贪婪,或者是由于知识上的欠缺,又或者是由于道听途说,又或者是由于盲目跟风,无心做出了这些行为。

就结果而言,搭便车者往往没有什么好的下场,翻车、落伍、失去诚信等等都是他们最后承担的代价。

无论如何,他们仍然是开源世界的一部分,你不能消灭他们,那么就不如争取到他们。

9月17日,由中国信通院主办的可信开源大会 OSCAR 即将举办,演讲主题赞助正在招募中,“开源之商”和“开源文化”分论坛,欢迎你来传播开源知识,拓展用户视野,打开开源万亿市场!

            </div>
相关文章
|
28天前
|
存储 缓存 人工智能
未来发展趋势下的后端技术挑战与应对策略
21世纪是信息化快速发展的时代,后端技术作为支撑整个系统架构的重要组成部分,面临着诸多挑战和机遇。本文将探讨未来发展趋势下后端技术的挑战,并提出相应的应对策略,旨在引领读者深入思考如何更好地应对技术发展带来的变革。
13 1
|
2月前
|
安全 Cloud Native 大数据
未来发展趋势下的后端技术挑战与应对
【2月更文挑战第5天】随着科技的不断进步,后端开发在未来将面临更多挑战与机遇。本文将探讨未来发展趋势下后端技术的变化与应对策略,为广大开发者提供思路与启示。
40 4
|
6月前
|
Kubernetes Cloud Native 安全
探索云原生技术的优势和挑战
探索云原生技术的优势和挑战
335 0
探索云原生技术的优势和挑战
|
3月前
大模型商业化面临四大挑战
【1月更文挑战第20天】大模型商业化面临四大挑战
58 2
大模型商业化面临四大挑战
|
3月前
|
存储 缓存 Kubernetes
云原生场景下,AIGC 模型服务的工程挑战和应对
本文介绍了在云原生场景下,AIGC 模型服务的工程挑战和Fluid 在云原生 AIGC 模型推理场景的优化。
135606 24
|
监控 Kubernetes Cloud Native
云原生时代软件交付的挑战和机遇 | 学习笔记
快速学习云原生时代软件交付的挑战和机遇
234 0
云原生时代软件交付的挑战和机遇 | 学习笔记
|
Kubernetes 供应链 安全
在开源的世界里如何应对搭便车者?
在开源的世界里如何应对搭便车者?
|
存储 缓存 运维
实际场景中,云原生存储面临的 7 个挑战
新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、加密、隔离、可观测性及生命周期等方面的问题,不但需要存储产品层次的改进,还需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。下文将分别介绍一下问题场景及问题,探讨可行的解决方案,最终可以得出云原生存储、云存储目前可以做什么和未来还需要做什么。
实际场景中,云原生存储面临的 7 个挑战
开源背后 | 面对端侧推理引擎的挑战,阿里工程师如何应对?
MNN(Mobile Neural Network)已于今年5月7日在 Github 上正式开源。淘宝无线开发专家——陈以鎏(离青)在 GMTC 全球大前端技术大会为大家分享了 MNN 开发、开源中的思考与总结,通过淘宝在移动 AI 上的实践经验,你将会了解移动 AI 的发展状况和应用场景,以及通过端侧推理引擎了解移动/ IoT 深度优化策略。
4280 0