【编者按】十多年来,开源和商业化的话题一直是人们关注的焦点。从开发者、社区到企业的态度也逐渐从怀疑、保留走向积极拥抱。人们逐渐发现通过商业化的开源项目也能够有很好的发展,同时能够反哺社区,形成良性的开源循环链。如今大厂纷纷拥抱开源,背后的原因又是什么?我们一起来看本期《涛滔不绝》
以下是全文部分:
Android 之大,Windows Phone 和 Symbian 攻不下
为什么 Windows 和 iOS 没有开源,而安卓这个操作系统是开源的,开源的专业化价值在哪?这个话题其实有很多可以探讨的地方,为什么有的大公司做开源,而有的大公司不做?
Google 通过安卓开源取得了非常巨大的成功,很多公司在移动时代丢掉了船票,百度就很典型的:搜索引擎在互联网时代是入口,但是在移动时代发现做搜索引擎入口不知道在哪。手机操作系统才是最根本,最核心的系统,而 Google 在这一场抓住了历史的这个转折,通过做安卓这个开源取得了非常大的成功。但是这个开源,跟通常意义上讲的开源有一个很大的不同,它是开放的开源、是商业策略上的开源,不是基于开源精神的开源。这个开源是 Google 一家的开源,安卓的核心代码的唯一贡献者都是 Google,不像 Linux 有很多家的贡献。
Linux 内核 5.8 发布,排名第一是 “unkown” ,占百分之三十几,是按核心代码贡献拍名的,其实不是不知道,而是指个人形式,按公司组织排名的话,Intel 排第一、华为排第二,这是一种全行业都在参与做贡献这样的一个开源生态。Google 的开源生态很奇葩,安卓代码 1200 万行,全部是 Google 工程师写的,没有一行外面能写的。为什么这样呢?大部分公司选择开源都是从商业化考虑的,所以 Google 其实就是为了控制这个操作系统,就是说这个操作系统就是我们家的,我说了算。开放给你们用,也无需要自己从头开发,该策略取得了巨大的成功。当初包括三星在内曾经想做个 MeeGo 等其他系统,最后都因为安卓的成功而倒向了安卓,包括我们国内所有的厂商都是 base on Android。所以这个商业策略取得非常大的成功。为什么都要自己的工程写不接受外来的代码呢,在商业上还要另外一层,就是法律的问题。在美国知识产权法律上的的规定还是十分严格,Google 选择这个策略果然还是碰到了问题:当时安卓出来的时候呢,源代码开放,但是需要有一套编程的环境。对于第三方开发者的那上面用那时候呢?微软 Windows Phone ,还有诺基亚 Symbian 赛班,都是用 C++ 开发的,苹果是用 Objective-C ,Google Android 负责人 Andy Rubin 做了一个决定——我们要兼容 Java,用 Java 做我们的开发工具,安卓系统的第三方 app 的开发是用 Java 的,他们自己搞了一套 Java 的虚拟机来支持 Java 的程序,来编译去执行这个策略,也取得了巨大的成功,因为那时候 Java 已经是世界上最流行的编程语言,目前也是十分流行,所以这个策略非常投开发者所好,吸引了很多的开发者进入这个行业,打败了塞班,打败了 Windows Phone,取得了成功。
但是呢,留下一个什么隐患呢?他因为兼容 Java ,Java 是 Sun 公司开发的,这个公司曾经很辉煌,做服务器啊,做操作系统,他们有一套操作系统,针对企业级的,叫 Solaris,后来的公司出了问题,在互联网的后半段就没有跟上,公司垮掉了,这公司被 Oracle 收购了,那时候 Google CEO 叫史密特。史密特就是 Sun 公司出来的,而且都是斯坦福大学的,Oracle 这个老板那是出名的狠人,收购了马上就不客气,立马起诉安卓,2012年的时候安卓市场规模已经起来。这官司已经一直打到现在,已经上到最高法庭了。Oracle 起诉安卓使用它的 Java 程序和接口,索赔 88 亿美金。网上有一个段子说最后查代码,八行代码值 88 亿美金,其实不是啊,我看的那个报道。大概是 11500 行代码,而且这 11500 行代码不是用的 Java 的代码,是 Google 为了兼容 Java 的这个 API 接口自己找工程师写了 37 个 API 的接口,总共 11500 行代码,这 37 个 API 接口被 Oracle 认为是侵犯了 Java 的专利和版权。所以 API 接口是不是作为一个版权保护现在是一个焦点问题,这也是为什么 Google 做了开源但是没有敢接受第三方代码的一个很重要的一个原因,避免里面产权不清,都是我自己工程师写。这就是 Google 的策略:一个是做开源,让第三方的这些厂商能够更快的自己用他那个系统就搭建起来,又通过 Java 吸引了大量开发者的支持,取得了成功。但是这个 License 是不收钱的,不但开源而且免费,其实开源不等于免费。所以说 Google 说你可以免费使用我的安卓系统,并不是说因为它开源而免费的,这个观点大家要搞清楚。Google 为什么这么好呢?是吧为什么不收钱呢?他是有另外一个条件,你可以不用我的这个我这个叫 bare Android 就是白安卓、就空白的,这个安卓不要钱。但是想要我更多的功能。要有 Gmail 的服务,要有 YouTuBe 要有地图,我还是不收你钱。但你得把我的系统。摆在 Home Screen 上,就摆在那个桌面上。醒目的位置,而且不允许被删掉。这样的,我就授权给你一个丰富版的安卓,就是 GMS 相当于全家桶,塞到别人的手机里面去,这是 Google 的策略,有点像特洛伊木马,我送给你,里面是有东西的,这个东西是可以变现的,不收钱,但是通过移动端的搜索地图的广告服务,还有其他的,包括 YouTuBe 这些。其实 Google 每年在移动上的这个收入已经非常高了,大概三四百亿美金,这个是 Google 开源的模式——用开源和开放来来获得联盟军,对抗 iOS 封闭同时打败了这个微软的 Windows Phone,打败了诺基亚的 Symbian,这就是 Google 为什么做开源,而且开源取得了很大的一个成果的原因。
那其他大公司是什么样一个情况呢,微软的对这个开源一直是有敌意的,这主要是鲍尔默,微软是商业软件的鼻祖,最早软件都带着硬件白送的。过去就是这样买硬件送软件,后来盖茨写了封信,意思是我们写软件很辛苦,不能白送,要收钱,所有把我这个 copy 拿去用的人都是贼,我们商业软件要定一个标准,叫做 License,不能够随便 copy,所以我们软件要拜鼻祖,他是鼻祖,他帮助我们创立的收费的模式。那开源是怎么回事呢?就因为他提了这个商业软件收费,这个大家也觉得合理,我有劳动付出。那要用我的东西,要付钱,然后又来了一个 MIT 的 Stallman他说呢,我可以花钱,但是呢,你得把源代码给我开放,为什么呢?我花了钱了,你这个东西我想改一改。我不知道你们里面的这个代码是什么样子的,所以呢,他提出的一套 Free Software,就是要自由,我可以自由的使用,我也可以自由的去修改叫自由软件。那后来再发展的就是说,那我们这软件能不能把代码就是不要做那么多限制啊,或者太自由了,我们就把原代码开放出来,定一些协议,所以这样的就有了这个开源软件。所以微软从最开始它就是商业软件的。对开源的不是太感冒,但是呢,这个在 Windows时代取得了巨大的成功,在后面互联网时代。开源软件大发展,不仅整个互联网的发展,也没有从中间得到什么好处,公司的慢慢的衰落了,现在又崛起。公司现在是 1 万亿多美金,世界第二,苹果第一。换了一个 CEO,过去说开软件是毒瘤的鲍尔默下台了,新的 CEO 萨提亚说,我们要重构微软。我们要建立同理心,写了一本书叫做《刷新》,重新塑造了微软的文化,拥抱开发者,开发者在拥抱开源。所以他也拥抱开源,Linux 我们支持,php 我们支持,Python 我们支持,所有开源软件我们都支持。他还收购了 GitHub, 把他自己的那个 VSCode 也开源。他的商业是卖云的服务,他认为是我提供给你生产力,我提供给你这些商业的这些工具,然后通过云的平台。至于开源来讲,你喜欢用那个开源软件我这个平台全支持,所以这是微软的一个转变,他的决策呢,都是跟他的这个公司的这个战略和商业策略相关的。苹果这家公司也是从开源软件获益的,从历史上看,它的操作系统是从 freeBSD 来的,不断的去改进,就包括后来那个这个 iOS 性能不是太好就是开发那个 app,他们又把 LLVM 发明人这个天才工程师雇到苹果来,所以他是很好的去使用了这些开源软件,创造出来了也很好的用户体验。但是他的公司也是一样,这乔布斯这个人在硅谷的评价其实不是太好,因为他这个人反复无常,还很苛刻,虽然产品做的很牛,但是很多人其实对他也是有不同意见。也是有一个原因就是说他这家公司比较封闭,从开源软件获益,有索取,但是呢,不回馈。只是利用,比如说他们用 FreeBSD,他也雇用了 FreeBSD 的联合创始人(Jordan Hubbard)。但是他后来就写他在那12年做什么事都不能跟人家说。苹果就这个作风,保密,他们现在在 AI 的落后也跟这个有关系。苹果的那个相册做的就没有 Google 相册做的好,他也雇了不少的 AI 的优秀的科学家和工程师进去,但是别人就抱怨在所有的这个科技的论文,这种研究发表的各种科技论文,和发表的这种开源的 AI 的这些技术成果上没有一行代码,没有一篇论文是苹果提供。苹果这个公司,就是个风格,所以这是大公司选择开源都是出于商业的策略。
开源现在迎来了一个很好的一个发展的契机,就是因为开源的商业化道路现在通畅了。过去开源其实也是有商业化的,而且也发展出来很好的公司。红帽就是第一代,那个例子是什么呢?卖 copy。就是开软件我给你。我这个原代码是开放的,你要不然拿回去自己组装,那组装也是要有技能要求的,所以我帮你组装好,提供给你。所以就卖 package,但是我卖的很便宜。因为我的研发成本的不是自己提供的。是全社区提供的,所以我就收一点服务费,所以这是这个模式叫红帽是通过这个做起来。再后面的就说,我源代码给你了,你也用了我这个开通软件解决了一些问题,但是还有一些难度高一点的问题。我做一个 Pro 版 ,做一个基本版免费 Pro 版收费。这个模式像 Cloudera 这一类第二代的开源公司呢?是用这个基础开源版加上一个商业版来收费或者你需要技术支持。你的回去用了了,软件也越来越大,越来越复杂。你不会用啊,不好用啊,我们可以帮你提供支持,因为我是这个产品的发明人啊,我是这个产品的开发者呀,所以这个第二代的这个公司都是这么一个模式。
现在为什么是开源最好的模式呢?是因为迎来了一个叫云服务的时代。我这个软件给你啊,你回去自己用。比如说我们做搜索。用搜索。百度就是做搜索,最牛的就是搜索,我也想做搜索,你怎么做呢?搜索的技术都在百度上,但是没关系有一家公司把它开源了,就是 ElasticSearch ,我们可以用这家开源公司的他的框架来搭建我自己的搜索引擎,这个搜索引擎是否每天还在更新?第二个自己能不能把它用好啊?这家公司说我们提供云服务,因为我是原厂啊,你先自己用一用,觉得还可以。但是最新版还有不断的各种服务通过云可以提供给你。比如说未来里面是不是可能有安全漏洞啊?或者新的性能,你是不是不会用啊,工程师的压力也很大 ,所以你就用我们的云服务就好了,所以云原生这件事情带来了开源公司的这个蓬勃发展。所以在过去这五年,美国的开源公司上市的很多很多,肯定十个指头是掰不过来的。今年估计上市的应该就有什么 HshiCorp ,Gitlab 都会上市,中国现在也迎来了一个很好的发展。就说我是整个时机成熟了,所以中国最新的消息是吧?是我们的这个数据库厂商 TiDB 融了 2.7 亿美金。这家公司是做数据库的,分布式数据库做的是技术,做的是开源,获得了这么高昂的投资,这可能是有史以来技术公司获得最大一笔投资。也代表了 VC 对这个的这个认可。所以开源的这个商业化,我们认为未来的是有很大的一个发展前景的。这个道路跟大公司其实是异曲同工,他只会用开源作为一个市场的手段。同时去把自己的这个技术能力呢,通过这种方式让更多的人去接受,然后它的商业变现模式也很清楚,所以开源的发展全球都迎来了很好的一个时机。
☞“面向对象就是一个错误!”