开源20年简史!
1183
2019-10-16 09:34    文章来源:CSDN(ID:CSDNnews) 作者:顾钧 责编:胡巍巍
文章摘要:「开源」能对基础软件公司提供三方面的助力:技术/品牌推广,用户/开发者拓展,人才吸引。

虽然已经 2019 年,但还是有不少人(甚至是大部分人),一提到「开源」,想到的就是「免费」与「个人开发的业余(低水平)软件」。

然而事实恰恰相反,今天「开源」正是基础软件最好的生长模式。「开源」能对基础软件公司提供三方面的助力:技术/品牌推广,用户/开发者拓展,人才吸引。

电子游戏开户是不是言过其实?让我们一起细细探究什么是「开源」。

「开源」简史

「开源」(Open Source)这个口号源于 1998 年的一次软件黑客峰会。当时,自由软件运动已经进行了 15 个年头。

软件自由

1969 年,Unix 操作系统诞生于贝尔实验室(隶属于 AT&T)。当时的 AT&T 因为反垄断原因,被限制不得进入计算机行业。因此 AT&T 最初对 Unix 的源码进行免费分发。然而,1982 年针对 AT&T 不得进入计算机行业的禁令失效了。

1983 年,AT&T 发布了大名鼎鼎的 Unix System V。同时 AT&T 改变了 Unix 的授权模式,将其变成了收费的闭源商业软件。AT&T 的行为只是当时软件行业的一个缩影,很多企业或个人都一改过去的源码免费分发模式,而转向闭源的商业软件模式。

由此催生了自由软件运动(始于 1983 年)。发起人 Richard Matthew Stallman,业界尊之为 RMS(能被人用 3 个字母的缩写指代的美国人,都不是一般人,比如 JFK)。

RMS 是学院派黑客的典型代表,他发起的自由软件运动不仅针对商业软件,更关乎用户自由使用软件的权益。自由软件运动虽然有过于理想化的问题,但它所代表的社区力量的觉醒早已深深影响了今天的软件行业。

经过不懈的努力与坚持,1990 年代自由软件阵营终于迎来了重量级的成员(使用 GPL 许可证)——Linux(1991)和 MySQL(1995)。既然自由软件逐步走入正轨,为什么还要打出「开源」这样一面新的旗帜呢?

黑客与商业

1994 年,Netscape 公司成立。通过独创的 Javascript 编程语言和浏览器渲染引擎,Netscape 最风光的时候独占了浏览器市场 90% 以上的份额。Netscape 浏览器本身是收费的商业软件,但用户也可以选择下载免费的评估版。

然而,微软也瞄准了网络浏览器这个赛道。通过在 Windows 上内置 Internet Explorer 的方式,微软快速蚕食着 Netscape 的市场份额。尤其 1998 年,微软发布的 Windows 98 中内置的 Internet Explorer 4.0 从功能上也压倒了 Netscape 的产品。

岌岌可危的 Netscape 在卖身于 AOL 之前做了一个大胆的决定:公开 Netscape 网络浏览器的源码(日后它将重生为 Firefox,与 IE 展开新的争夺)。不过自由软件过于理想化的理念,显然与 Netscape 这样的商业公司存在一定的差异。

正是在这样的背景下,O'Reilly 召集了黑客社区中的重要成员:Linus Benedict Torvalds、三大脚本语言(Perl/Tcl/Python ) 的发明人、 Netscape 公司代表、Apache 维护者等重量级人物一起召开了一次讨论会。

讨论的重要成果之一是明确了不论是自由软件,还是开源软件,最重要的共性便是公开源码。这也是「开源」这个口号的由来。另一个开放式的话题则是,如何将开源背后的黑客文化与商业市场相结合。谁曾想 20 多年后的今天,我们依旧在寻找这个问题的答案。

因此,开源项目不应该避讳谈商业模式。因为从「开源」诞生的第一天,商业模式的探索就是其中重要的一环。可以说开源理念是对自由软件思想的延伸,开源理念强调——共享与合作开发软件源码是有商业潜力的。

LAMP

「开源」,生逢其时。1997/1998 亚洲金融危机之后,一方面资金回流美国,另一方面美国的利率也处于较低水平。第一轮互联网热潮(dot-com bubble)越发汹涌。

当时商业软件与服务器过于昂贵。开发人员开始采用 PC 硬件和日后大名鼎鼎的 LAMP 开源技术栈来构建自己的网站。

LAMP,即 Linux 操作系统,Apache 网络服务器,MySQL 数据库和 PHP 开发语言。不夸张的说,这些开源软件就是互联网早期的明灯(lamp)。

时至今日,Linux 和 MySQL 已经是地球上任何数据中心里的标配。而 Apache,更是成为了巨无霸式的开源基金会,拥有 1.9 亿行代码。

根据 COCOMO II 模型估算,这些代码的开发成本超过 200 亿美元(2019 年报)。可见本文一开始提到的两个关于「开源」的偏见是多么可笑。

创新先锋

开源软件的基因中深深印刻着黑客社区的精英文化与创新精神。即便从自由软件运动开始算起,「开源」的诞生也不过 30 多年。但「开源」已经对今天的软件产业,甚至整个 IT 产业带来了深刻的启发与影响。

如果回溯近 20 年的 IT 产业发展脉络,以下几个标志应该是公认的:

互联网、移动互联网、云计算

整个互联网行业引领了近 20 年的 IT 技术发展。始于 1990 年代的互联网虽然是非常年轻的行业,但也是对 IT 技术最敏感的行业。

开源 LAMP 技术栈为互联网行业的发展奠定了基础,而互联网行业的急速发展也帮助孕育了大量开源软件。

最初当 SuSE 和 Red Hat 将 Linux 引入企业服务器市场时,开源软件只是商业软件的低成本替代品。在相当长的一段时间里,开源软件都忙着去补齐相比商业软件所缺失的能力。

但即便是在那个阶段,开源软件也贡献了不少创新的工具,组件和理念。其中最典型的一个例子,MySQL 数据库将计算引擎与存储引擎两部分进行了独立的模块化设计(和今天说的云环境下的计算与存储分离不是一个概念)。

MySQL 允许用户选择自己需要的存储引擎,甚至这个存储引擎可以是由另一个公司开发的。(虽然现在 MySQL 和 InnoDB 都在 Oracle 手里,但早先他们其实是两家公司。)Db2 和 Oracle 可没这样的操作。

及至最近十年,移动互联网与云计算大放异彩。Redis,MongoDB,Spark,Docker ……这些带来创新理念的基础软件,无一是按照传统商业软件的模式进行运作的。

大数据

大数据这个概念,1990 年代就开始出现。早期对大数据价值的挖掘利用,主要是通过 EDW/BI (企业数据仓库,商业智能) 这样的解决方案来实现。当时,Teradata 是数据仓库中绝对的霸主。

而 IBM 通过收购 Cognos 和 SPSS 在 BI 领域占有重要的位置。这些商业解决方案当年主要服务于金融,电信,大型制造等行业。

大数据的特点之一是价值密度比较低(2 倍的数据无法带来 2 倍的价值)。因此传统的分析处理方式虽然在性能上也许依然可以满足要求,但在成本上却很难被用户所接受。

一直到 2005 年 Hadoop HDFS 的出现,数据处理的成本大幅下降。终于在开源软件的推动下,企业级的大数据分析处理能力变得唾手可得。

机器学习与深度学习

2016 年 DeepMind 研发的 AlphaGo 4:1 战胜李世乭。由此将人工智能的这一波浪潮推向了新的高度。这一轮人工智能还能走多远?这个问题的答案见仁见智。

但值得注意的是,各种主流的人工智能平台框架(Tensor Flow,Caffe,Keras,PyTorch,Paddle Paddle 等等)都是开源的。甚至英伟达这样的硬件厂商都推出了 RAPIDS 这样的开源 AI 框架。

电子游戏开户开源软件的创新之处,不单单体现在技术上。更重要的是开源软件背后的开放协作理念,以及对软件价值的重新定义,彻底改变了今天的软件世界。

重塑软件价值

时间回到 2009 年,那正是商业软件公司欣欣向荣的时代。那时笔者是 IBM 的一名软件售前工程师。

同事们热烈讨论着日暮西山的 SUN 究竟还有什么出路。有传闻 IBM 会收购 SUN,不过这样的收购恐怕过不了反垄断调查。

谁曾想 Oracle 最终出手。这笔交易完成后,Oracle 成为了与 IBM 一样的集软硬件,服务于一体的全栈型企业 IT 公司。Oracle 与 IBM 之间的双雄争霸似乎将会从数据库领域拓展到企业 IT 的各个领域。

然而,我们知道这样的事情最终并没有发生。Oracle 与 IBM 双双迷失在这开源软件大爆发的时代……

传统商业软件的玩法

我们都知道传统商业软件通常采用许可证(license)销售模式。一般的流程是,软件厂商会将用户的硬件配置(比如 CPU 核数,存储容量等等),代入他们的神奇公式(公式里的各种常量大概都是上帝确定的),最终计算出软件许可证的金额。
那么用户支付许可证费用以后,就能愉快的使用软件了吗?对于软件厂商来说,还有两个问题:

许可证费用一般都给了很大的折扣(为抢标,报价 1 块钱的也不是没有)。

许可证往往是一次性收费,今年收了,明年怎么办呢?

因此除了一次性收取的许可证费用,软件厂商又设计出了按年收取的软件升级保护费用(通常是按比例从许可证费用折算而来)。

只要购买了升级保护,用户以后就可以一直使用最新的「版本」,而无需重新支付许可证费用。Oracle 称其为许可证支持(license support),IBM 称其为订阅与支持(subscription & support)。

电子游戏开户按照一般的直觉,人们会认为商业软件的核心是许可证费用,软件升级保护只是许可证的附加产品(毕竟连计算方法都是跟着许可证走的)。但事实往往是反直觉的,请看 Oracle 2017 年财报:

微信图片_20191016092811.png

单位:百万美元

原来,软件升级保护收入超过整体收入的 50 %,是新售软件许可证收入的 3 倍,也是整个公司研发支出的 3 倍。

真是了不起的成就!也正是依靠这个基本盘,Oracle 的转型之路还算是比较从容。足见可持续性收入对于软件公司有多么的重要。

为了保住 license support 的收入,2018 年开始 Oracle 甚至修改了自家数据库的发布周期与命名规范。既然 license support 是按年收取的,那么每年至少要发个「版本」,不然用户这一年的升级保护不是白交了么?

但其实例如 Oracle 18c,它并不是新的数据库「版本」。严格意义上讲,它是 Oracle 12.2.0.2(Version.Release.Modification.Fixpack),更像是一个 fixpack(或者按 IBM 的叫法是 function level)。

按照惯例,fixpack 升级本来也不需要购买升级保护……

微信图片_20191016092944.jpg

Oracle 未来的「版本」发布节奏

顺便说一下,这里为什么只给出 2017 年的数据呢?因为自 2018 财年第 4 季度开始,Oracle 不再单独列出软件升级保护的收入金额,转而将软件升级保护收入与(总是达不到市场预期的)云收入合并后一起汇报(这波操作厉害,反正都是按年收取的可持续性收入,合并也没毛病。所以说 Oracle 是最牛的商业软件公司)。

其实何止 Oracle,IBM 和微软也开始采用淡化版本的方式进行软件发布了。这些商业软件巨头一个个学起了开源软件的迭代模式,可见「开源」对软件行业的影响多么巨大。

「开源」带来的改变

目前比较常见的开源基础软件商业模式是这样的:

针对一般用户,提供基础开源版本,满足用户的基本需求;

针对核心用户,提供收费的高级版,满足用户的进阶需求(如分布式,高可用,以及工具链软件等)。

收费模式通常是以软件订阅的名义,按年进行支付。坦白地说,目前开源软件的商业设计比起传统商业软件还是稚嫩了不少。甚至,开源软件的订阅模式与传统的软件升级保护,形式上看似乎也没有那么大的区别。

但为什么开源软件能造成这么大的影响呢?原因在于,开源软件的模式触及了用户心中长久以来的一个疑问:软件究竟是什么?

传统商业软件公司将软件以产品的形式卖给用户。因此,用户花钱买来的软件许可证以及软件升级保护是一种资产。什么样的资产呢?

既不生息,也不能转售,只会慢慢折旧的资产。这样的资产放着有什么用?谁又会喜欢这样的资产呢?

而在开源模式下,软件开发者向用户提供的是一种服务。这种服务不单纯只是软件本身,还包括了软件的前期开发过程,以及使用/试用反馈。可是,难道传统商业软件公司不从用户那里收集需求?

不听取用户的意见来改进自己的产品?没错,这些他们都做了。但有多少用户感受到了呢(除了少数几个特殊照顾的大客户)?

其中的区别可以用 SuSE 公司的口号来说明:「We're the open open source company」。「开源」背后的关键之一就是开放协作(open collaboration)。以开放的流程与心态,方便用户参与到软件的设计,研发,及反馈中。

哪怕用户不写一行代码,他也可以参与其中。通过查阅公开的文档与问题记录,用户能清楚的了解项目的进展,设计的思路,存在的问题及解决方法。这不仅仅是「参与感」,用户也能建立起对项目的控制感与信任。

一个可参照的例子,华为为了赢得英国电信市场的信任,主动将通信产品相关的源码与开发流程交由英国监管机构审查。

更改版本命名规则,让用户觉得每年的升级保护没有白买,是一条容易的路。构建一个开放协作的环境,为用户提供软件服务,是一条困难的路。

而我们,选择那条能通往未来的路。

作者简介:顾钧,ZILLIZ 首席架构师,毕业于北京大学。十五年数据库相关工作经验。目前在 ZILLIZ 从事异构众核数据分析引擎的产品化工作。加入 ZILLIZ 之前,曾就职于 IBM、Morgan Stanley、华为等跨国公司。


版权声明:

凡本网内容请注明来源:T媒体(http://nike360o.com)”的所有原创作品,版权均属于易信视界(北京)管理咨询有限公司所有,未经本网书面授权,不得转载、摘编或以其它方式使用上述作品。

本网书面授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,易信视界(北京)管理咨询有限公司将追究其相关法律责任。

评论