报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

开源的威胁从未消失

  • 2019-10-03
  • 本文字数:2824 字

    阅读完需:约 9 分钟

开源的威胁从未消失


从被视为“癌症”、“毒瘤”到如今被科技巨头奉为圭臬、竞相拥入怀中,看上去开源的地位似乎已经出现了巨大反转,事实上,开源软件的发展并非如想象般苦尽甘来。这二十多年一路走来,开源从来就没有远离过威胁它本身的力量,甚至几度差点坠入“注定失败”的深渊。所幸,现在最坏的时候已经过去了,这个新世界至少比 90 年代微软等巨头垄断时要好得多,但,未来仍是不确定的。


一个问题处理好了,另外一个问题产生了,思维是一直活跃着的。

—— 约翰.杜威 《确定性的寻求.方法至上》


开源从来就没有远离过威胁它本身的力量。


近期 keyDB 的官方博客发表了一篇文章,算是为开放源代码的世界打一剂强心针,以下为该文的摘要:


时间一往无前,但发生在过去的事件是无法抹去的,大概历史只有在这一点上才算是公平的。


20 年前的万圣节,一份称之为“备忘录“的文件从微软内部流出,称 Linux 是构成 Windows 的威胁力量,甚至时任 CEO 的 Steve Ballmer 一度称 Linux 为“癌症”,但微软还不是对开源的最大威胁,除了开发者之外,其实开源在当时并没有影响微软的生意。更为严重的是内部的处理,君不见一场激烈的争论,就可能引起混乱,进而破坏社区,乃至整个项目(编者注:BSD 系统的分裂史是佐证这个论断的最佳材料)。有几个问题,至今可能也在困扰着人们:


  • 那些修改开源代码的人是否应该严格执行 GPL 许可证?

  • 或者是将修改后的代码视为自己的专有财产?


争论进一步延续到开发者的自由,还是用户的自由,以自由软件基金会为代表的一派,以 Apache 基金会为代表的一派,以及以 MIT、BSD 为代表的更宽松派…开源从来就没有形成过统一的战线,这或许是它失败的主要原因,正如微软所希望的那样。


就在没有人看好开源的时候,红帽以非常独特的方式出现了:软件本身是免费的,但是为用户提供服务和支持,进而获得利润。在这样的商业模式之下,许可证的选择在很大程度上无关紧要,因为代码(以及代码编译后的软件)并没有产生收入。


这样的话,上面的辩论就有点让人无语了,它们原来是可以和平共处的。如 BSD 许可下的软件运行在 GPL 的 Linux 内核和 GNU 用户空间非常和谐,它似乎真的变成了 Richard Stallman 所形容的“像免费的啤酒一样”,这可能完全超出了他和他创立的 FSF(自由软件基金会)的想象。红帽的崛起,让那些预言开源没有前途的人大感意外,甚至,红帽在服务器操作系统所取得的成绩节节攀升的时候,微软在服务器领域的成果却乏善可陈。



完成一个目标,又发现前方的另一个目标。这是一场永无止境的追寻。 —— 爱德华.威尔逊 《创造的本源》


但是故事并没有在这里结束,准确的说才刚刚开始。红帽崛起的时代,还是每个人都购买服务器、安装操作系统、部署应用到自己的数据中心的时代,但是,技术从未停止它发展的脚步。Amazon 看到这其中巨大的商机,那就是:不是所有人都愿意摆置自己的数据中心,维护服务器、操作系统应该交给更为专业的人来做,Amazon 会管理人们的一切,从部署到运行的数据库,这样人们甚至都无需购买其它供应商的产品,Amazon 可以提供一条龙服务。

挑战者的出现

就在这个时候,红帽获得了另外一次垂青。今年 7 月 9 日,IBM 斥资 340 亿美元收购红帽,这是该公司史上最大的一笔收购交易。而对于开源世界来说,也是足以载入发展史册的传奇一笔。作为全球最大的开源社区,红帽在盈利能力上秒杀一众开源公司,业绩一路高歌猛进,被收购前夕,红帽营收近 30 亿美元,已连续 66 个季度实现盈利。


红帽带着“金色降落伞”卖给了 IBM,然而,在开源世界里,它委实是一个个例。对于大部分开源公司尤其是小型开源团队而言,盈利难题是他们久久挥之不去的“痛”,能实现盈利者屈指可数。


今年 3 月,在全球拥有 3.4 亿网站用户的 Nginx 以仅 6.7 亿美元的低价卖身竞争对手 F5,着实令人唏嘘。对于开源社区或软件厂商来说,像 Nginx 这样苦苦挣扎在盈利泥沼,最终低价卖身求生的不在少数。


盈利之难很大程度上在于缺乏合适的商业模式。一提到开源,大家的第一感觉就是免费,如何利用开源模式赚到钱,很多公司一直没有探索出特别好的路径,而自研开源软件需要开发者投入大量的资金和精力,且维护开源项目的成本高企,因此常常入不敷出。


大部分相对小型的公司并没有红帽这么幸运。没有一个靠谱的商业模式,投资者们是不会搭理他们的。很多公司都希望坚持开源的底线,并尝试拿开源的许可证来开刀,比如 MongoDB 就发明了“服务器端公共许可证”。但是这么做,并没有获得大多数人的支持,正如开放源代码促进会就并不认可类似的许可证,社区成员也强烈抵制(Fedora、Homebrew 等著名分发版,均将 MongoDB 移除。–编者注),这也表明,修改许可证的做法是无效的。


还有一些更为极端的公司,采取的路线是放弃开源,他们和开源唯一的瓜葛就是还能访问他们的代码,这可能是对开源的一种致敬方式。一些诸如“源代码可见”、“开放核心”的许可证当然也会被采用,期望成为授权模式的救命稻草,当然这离 Richard Stallman 所倡导的自由又远了几步,比如说其中的:“用户有权‘运行,复制,分发,研究,更改和改进软件’”,这么做的话,就只能到学习为止了。

一个不太可能的救世主

就在看起来开源要走向毁灭的时候,Amazon 竟然抛出了另外的一种可能。


如果说哪家开源软件背后的公司或实体不再保持开放,Amazon 将自己接管并维护。Amazon 在 3 月 19 号发布了 ElasticSearch 的开放版,语气非常居高临下,如:“开源项目的维护者有责任保持源代码分发对所有人开放,而不是在中途改变规则”。大体一看似乎是开源还是颇有希望的。


但 Amazon 的这个做法让人喜忧参半。我们不妨想一下,如果开始新开源项目的作者知道,一旦他们很快做大了,被 Amazon 发现后,Amazon 就会接管这个项目。那这位作者还会继续开发创建新的开源项目吗?而且 Amazon 这么做,本身也是有很大问题的,如果 Amazon 在软件的运行和支持方面实现了垄断,他们还会以外部贡献的方式来获得开源的益处吗?要知道,对于每一位红帽的客户来说,他们对其所运行的软件的上游项目是没有任何的支持和贡献的。那么问题来了,在一个企业将业务完全外包给 Amazon 的世界里,这种趋势会持续下去吗?

无法确定的未来

开源对于普罗大众来说意味着解放,然而在很长一段时间里,人们似乎对它的存在已经习以为常,甚至将之视为理所当然和天经地义。那位曾经是翩翩少年的芬兰大学生某种程度上打破了微软对操作系统的垄断,但是现实的情况是,微软现在也学会了开源,并身体力行。


其实过去的十年说明了一件事:如果你没有托管客户的基础设施,那么你也不会去支持客户所使用的开源软件,哪怕这些软件是你自己写的。AWS、Azure 等等云计算厂商拥抱开源的做法,让事情变得越发的扑朔迷离、难以捉摸。


无论怎样,有一件事我们是可以确定的,我们现在所处的世界,要比上一个微软垄断的时代好很多了,起码还有一些选择。作为开发者的你,要做的就是拥抱云计算,然后在这之上进一步拥抱开源。


原文链接:


https://docs.keydb.dev/blog/2019/03/11/blog-post/


2019-10-03 08:005976
用户头像

发布了 33 篇内容, 共 12.8 次阅读, 收获喜欢 13 次。

关注

评论

发布
暂无评论
发现更多内容

大作业(一)

bing5tui3

极客时间架构师二期

2 期架构师训练营 - 第三周学习总结

云飞扬

架构师训练营第2期

注册中心 Nacos 异常实例需要30s才能剔除 Nacos心跳时间设置(踩坑)

laker

Spring Cloud nacos spring cloud alibaba

欢度春节|新用户专属福利

InfoQ写作社区官方

热门活动

Serverless 场景下 Pod 创建效率优化

阿里巴巴云原生

Docker Serverless 容器 云原生 k8s

架构师训练营第十一周作业

zamkai

从0到1实现一个简单计算器

codevald

Java 项目 计算器 动手实践

大作业(二)

bing5tui3

架构师训练营第2期

kafka的实现原理

八两

kafka Kafka知识点 kafka实现原理 kafka架构

Arthas 使用的各类方式

阿里巴巴云原生

Java 微服务 云原生 中间件 Arthas

产品经理训练营笔记-业务流程与产品文档(一)

.nil?

产品经理训练营

如何在数据库中进行RBAC权限应用

BinTools图尔兹

数据库 权限管理 数据管理 rbac

几幅图拿下 ARP 协议

飞天小牛肉

Java 程序员 计算机网络 网络协议 2月春节不断更

搜索引擎简述

跳蚤

字节跳动面试必问:从外包月薪5K到阿里月薪15K,学习路线+知识点梳理

欢喜学安卓

android 程序员 面试 移动开发

字节跳动架构师讲解Android开发!2021年展望Android原生开发的现状,分享一点面试小经验

欢喜学安卓

android 程序员 面试 移动开发

停车、投票、领证,区块链如何在「智慧城市」建设中大显身手?

CECBC

区块链

杜绝“萝卜章”风险,区块链电子签章助力企业降本“保真”

CECBC

电子签名

话题讨论 | 新年将至, 程序员如何以代码送出新春祝福

孙叫兽

Java 程序员 大前端 话题讨论 新春祝福

无意间发现 Google 代码模板,分享给大家!

C语言与CPP编程

c++ JavaScript objective-c 代码规范 Python 编码格式

前端开发:Node版本引起的报错问题

三掌柜

vue.js 大前端

执行、管理、领导做不好,都有懒的因素

刘华Kenneth

领导力 管理 软件开发

架构2期-大作业(一)

浮生一梦

大作业 2组 架构师训练营第2期

逼疯UE设计师,不可不知的提升产品用户体验的10个测试方法

华为云开发者联盟

产品 测试 UI 用户体验

区块链还可以这么玩?“点亮莫高窟”背后的腾讯云区块链

CECBC

区块链

排查指南 | 当 mPaaS 小程序真机扫码时提示 "应用更新错误(50002)"

蚂蚁集团移动开发平台 mPaaS

小程序 问题排查 mPaaS

架构2期-大作业(二)

浮生一梦

大作业 2组 架构师训练营第2期

机器学习·笔记之:Inverse and Transpose

Nydia

百度大脑 EasyEdge 推出端云协同服务,大幅提升本地部署模型迭代效率

百度大脑

百度大脑 EasyData 智能数据服务平台上线文本数据清洗功能

百度大脑

架构师训练营第六周作业

跳蚤

开源的威胁从未消失_AI&大模型_KeyDB 技术支持_InfoQ精选文章