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

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

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

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

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


什么是搭便车?

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

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

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

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

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


如何识别搭便车行为?

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

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

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

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

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


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

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

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

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

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

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


如何消化道德上的反胃

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

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

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


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

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


从认知的角度

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

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


动之以情,同理心策略

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


精打细算不吃亏

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

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


结语

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

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

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

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

相关文章
|
6月前
|
资源调度 监控 测试技术
《SaaS多租户实战指南:从灰度发布到故障容错的全链路架构设计》
本文聚焦企业级团队协作SaaS应用的多租户架构迭代实践,针对租户规模差异大、资源冲突、定制化与标准化矛盾等核心痛点展开。初期简易多租户模式因资源共享导致故障后,作者重构架构:采用“独立数据库+共享数据库+租户标识”的混合隔离方案,解决数据隔离与成本平衡问题;搭建基于租户画像的弹性资源调度体系,通过预测式调度与实时调整提升资源利用率;以“核心标准化+定制插件化”架构,缩短定制需求响应时间;构建分层灰度发布与故障容错机制,将版本故障发生率大幅降低。最终总结出SaaS多租户架构需“以租户为中心”,在隔离、共享、定制间找到精细化平衡点的核心经验。
478 6
|
9月前
|
SQL 分布式计算 DataWorks
opds贴身经历分享总结
本文讲述了作为一线实施工程师使用阿里云 ODPS 两年来的实战体验。通过 MaxCompute、DataWorks 和 Hologres 等组件,解决了数据孤岛、重复建模、任务调度难等问题,提升了数据处理的稳定性与效率。工具的统一不仅降低了沟通成本,还推动了数据实时价值的实现,助力业务增长。
148 1
|
存储 Java 应用服务中间件
Tomcat 支持 PFX 格式和 JKS 两种格式的证书区别
【10月更文挑战第2天】Tomcat 支持 PFX 格式和 JKS 两种格式的证书区别
906 3
|
存储 测试技术
ECCV 2024:比基准高30%,媲美Gemini 1.5 Pro,基于记忆的视频理解智能体来了
在ECCV 2024会议上,一篇题为“VideoAgent: A Memory-augmented Multimodal Agent for Video Understanding”的论文备受关注。该论文提出了一种结合大型语言模型和视觉-语言模型的新型智能体VideoAgent,通过创新的统一记忆机制,构建结构化记忆系统,实现对长视频中时间关系的理解。VideoAgent利用视频片段定位、物体记忆等多种工具进行交互式任务处理,在NExT-QA和EgoSchema等基准测试中表现出色,分别提升了6.6%和26.0%的成绩,但其记忆系统和交互方法仍有待优化。
439 1
|
机器学习/深度学习 人工智能 自然语言处理
深度学习还不如浅层网络?RL教父Sutton持续反向传播算法登Nature
【9月更文挑战第24天】近年来,深度学习在人工智能领域取得巨大成功,但在连续学习任务中面临“损失可塑性”问题,尤其在深度强化学习中更为突出。加拿大阿尔伯塔大学的研究人员提出了一种名为“持续反向传播”的算法,通过选择性地重新初始化网络中的低效用单元,保持模型的可塑性。该算法通过评估每个连接和权重的贡献效用来决定是否重新初始化隐藏单元,并引入成熟度阈值保护新单元。实验表明,该算法能显著提升连续学习任务的表现,尤其在深度强化学习领域效果明显。然而,算法也存在计算复杂性和成熟度阈值设置等问题。
353 3
|
人工智能 自然语言处理 安全
构建未来:AI驱动的自适应网络安全防御系统提升软件测试效率:自动化与持续集成的实践之路
【5月更文挑战第30天】 在数字化时代,网络安全已成为维护信息完整性、保障用户隐私和企业持续运营的关键。传统的安全防御手段,如防火墙和入侵检测系统,面对日益复杂的网络攻击已显得力不从心。本文提出了一种基于人工智能(AI)技术的自适应网络安全防御系统,该系统能够实时分析网络流量,自动识别潜在威胁,并动态调整防御策略以应对未知攻击。通过深度学习算法和自然语言处理技术的结合,系统不仅能够提高检测速度和准确性,还能自主学习和适应新型攻击模式,从而显著提升网络安全防御的效率和智能化水平。 【5月更文挑战第30天】 在快速迭代的软件开发周期中,传统的手动测试方法已不再适应现代高效交付的要求。本文探讨了如
|
供应链 监控 区块链
确保区块链供应链的透明度和可追溯性,我们可以从以下几个方面进行
**区块链提升供应链透明度与可追溯性:** - 建立不可篡改记录,保证数据真实完整。 - 实现实时监控,加快问题响应,提高效率。 - 追溯产品全程,消费者可验证来源,增强信任。 - 促进信息共享,降低沟通成本,提升协同。 - 防止欺诈串通,确保供应链诚信与透明。 这些措施通过区块链技术的应用,优化供应链管理,降低成本,增强市场信心。
|
Java API 数据处理
学会在Java中使用流式API
学会在Java中使用流式API

热门文章

最新文章