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

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

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

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

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


什么是搭便车?

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

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

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

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

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


如何识别搭便车行为?

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

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

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

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

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


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

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

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

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

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

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


如何消化道德上的反胃

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

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

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


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

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


从认知的角度

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

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


动之以情,同理心策略

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


精打细算不吃亏

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

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


结语

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

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

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

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

相关文章
|
30天前
|
运维 监控 负载均衡
深入理解无服务器架构:优势与挑战
【10月更文挑战第6天】深入理解无服务器架构:优势与挑战
|
6月前
|
安全 持续交付 云计算
利用阿里云开发中遇到的挑战与解决方案
阿里云面临开发者在网络延迟、安全性、成本管理和自动化部署方面的挑战。解决方案包括使用全球负载均衡和CDN提升网络性能,依赖安全组和SSL证书保障数据安全,通过费用预估和资源优化控制成本,以及借助容器服务和DevOps工具实现自动化部署。阿里云将持续提供支持,助力开发者克服挑战。
226 2
|
6月前
|
存储 缓存 算法
【专栏】探讨分布式限流所面临的挑战以及目前业界常用的解决方案
【4月更文挑战第27天】在互联网时代,分布式限流是应对高并发、保护系统稳定的关键。它面临数据一致性、算法准确性和系统可扩展性的挑战。常见限流算法有令牌桶、漏桶和滑动窗口。解决方案包括使用分布式存储同步状态、结合多种算法及动态调整阈值。定期压力测试确保策略有效性。随着系统规模增长,限流技术将持续发展,理解并应用限流原理对保障服务质量至关重要。
146 3
|
6月前
|
存储 安全 前端开发
SAAS解决方案深度剖析:适用场景、挑战与成本评估指南
SAAS解决方案深度剖析:适用场景、挑战与成本评估指南
209 0
|
6月前
|
存储 缓存 人工智能
未来发展趋势下的后端技术挑战与应对策略
21世纪是信息化快速发展的时代,后端技术作为支撑整个系统架构的重要组成部分,面临着诸多挑战和机遇。本文将探讨未来发展趋势下后端技术的挑战,并提出相应的应对策略,旨在引领读者深入思考如何更好地应对技术发展带来的变革。
91 1
|
6月前
|
安全 Cloud Native 大数据
未来发展趋势下的后端技术挑战与应对
【2月更文挑战第5天】随着科技的不断进步,后端开发在未来将面临更多挑战与机遇。本文将探讨未来发展趋势下后端技术的变化与应对策略,为广大开发者提供思路与启示。
92 4
|
6月前
|
存储 缓存 Kubernetes
云原生场景下,AIGC 模型服务的工程挑战和应对
本文介绍了在云原生场景下,AIGC 模型服务的工程挑战和Fluid 在云原生 AIGC 模型推理场景的优化。
135835 24
|
传感器 监控 Cloud Native
开源与可持续发展:环境友好的技术选择
开源与可持续发展:环境友好的技术选择
82 0
|
安全 Cloud Native Unix
开源的安全性:挑战与机会
开源的安全性:挑战与机会
123 0
|
开发工具 C++ git
【解决方案 四】---VS下诸多可能问题
【解决方案 四】---VS下诸多可能问题
52 0
下一篇
无影云桌面