开源的成功理应是什么样子?

999 阅读13分钟
原文链接: mp.weixin.qq.com

题记

我们该如何衡量开源的成功?作为个人,能够主持开发全世界最流行的软件项目是不是一件很酷的事情?作为公司,既能获得人们在道德上的赞扬,还能收获不错的经济回报。其实这些都是开源项目成功之后带来的副产品。但是回归到软件项目本身:最主要的软件项目生成出来,有大量的用户使用,流行程度极高,而且还需要有大量的支持者(开发者、维护),以及健康发展的社区和项目。

这次我们就谈谈开源的成功,它本来的样子。

作者 | 适兕

来源 | 公号:开源社

适兕”   李建盛                        

李建盛, 网络 ID:“适兕”,开源信徒,十余年Linux和虚拟化相关的开发和管理工作,目前在 QingCloud 担任产品经理一职, 曾经服务过的公司有红旗 Linux、云端时代等,也曾任 InfoQ 中国开源专栏主编。开源社执行委员会成员。 博客作者、Linux 爱好者、偶尔写写 Python 程序、开源文化布道师、技术翻译、开源之道主要作者,分布式系统、云计算普适的死忠粉,热爱读书和健身。

                   

接下来由我跟大家分享一个主题:“开源的成功理应是什么样子?”,其实这是我近期的一个思考,或者是我两年多以来做开源布道,以开源信徒的身份和各式各样的人打交道的一个思考。

       

演讲背景介绍

我遇到过很多人,他们来自企业或者社区,我偶尔会问一个问题:“开源怎么样算是成功?”90% 的话题只聚焦到两个字,赚钱。这就会让我们反问,我发现好多维度,其实钱只是一种维度。

赚到钱就等于成功了吗?

或者你没赚到钱就不等于成功吗?

或者你看到的成功是你所看到的表象吗?‍

这也是我的一个思考,开源需要更加立体的方式去思考,所以说我们今天是一个很开放式的,我自己没有什么内容,只是把我看到的和我跟各式各样人去沟通得到的一些结论。

大家可以现在在大脑里问自己一个问题,你想象中的开源是什么样子?你可以描绘一下,你想象的某个人、某个公司,还是某个项目,还是你解决的某个问题,或者某一项社会上的内容,如果你有好的 idea,希望你会后跟我反馈一下。

请允许我先来解释一下什么叫开源,什么是成功?如果你是一家商业公司去做开源,我们会有很多任务,如果你有任务的话就需要有一个目标,如果我们有一个清晰的目标是最好的。下面我就把我所看到的东西跟大家分享一下,包括从企业的视角、个人的视角,甚至再提高一个层次,从整个社会或者是人类进化的角度去看开源。回归到最后,还是一个目标,它总是有一个衡量的基准,我列出了几个点。最后就是给大家一个很开放式的几个特征,开源的成功有几个特征。

个人标榜

我写了十几年的博客,从技术到开源到各种方法论,原来都是在墙外,现在不得已开了一个公众号,大家可以扫一下关注。

我现在在一家叫 QingCloud  的公司做产品经理,也帮助公司推广开源。

开源之道定位的内容涉及的方面比较多,除了计算机技术之外的,包括心理学、认知、社会等等,欢迎大家有什么好的建议,可以提出来。

到了刚才我给大家出的畅想题,你想象中的开源是什么样子的。我给大家举一个例子,这是比较抽象化的,定位到具体现实当中。我们想象当中的开源一定是有那么多人开始在一个屋子里讨论,比如说在北京现在有一个叫 Ceph 亚太高峰论坛的会,几千人都在众星捧月,热闹非凡。其实,Ceph 的背后有很多艰难的历史,我们看到 Ceph 的代码,从 2003 到 2013 年,十几年如一日,都是 Sage weils 一个人在贡献代码,一个人走下来,其实开源是一个很苦很苦的事情。你现在回顾开源的历史,开源已经有 20 年的历史了。今年是开源的 20 周年,它走过了很多艰难的岁月。

有哪些成功的开源项目?

成功 是什么呢?当然赚到钱是一个很大的维度,但还有为这个社会或者为人类的协作沟通达到的贡献,我这里列了几个开源项目,这个 Apache 不是 Apache 基金会,而是占据了全球 60% 市场的产品。还有 CentOS、 MySQL、Git,开发者影响了世界,包括法律界、政府界等等,它改变了人类的协作方式。还有 Hadoop、GNOME、Docker 等等,很多很多,这些都是非常非常成功的项目,我这里没法列出全部。

毕老师作为知识产权界、法律界的人士,已经做过分享,我们现在所有的事情都避不开开源,这个开源成功了,但是是非常抽象的一个成功,你不知道它要落到什么地方。

在正式开讲之前,给大家介绍一本书,有谁读过这本书?建议没有读过的一定要读,这本书是《THE CATHEDRAL & THE BAZAAR》。它最大的厉害之处在于 Linux 操作系统,我们大家很好奇,操作系统作为一个这么复杂内容的工程,居然全世界没有人给它钱被开发出来了,最后也是这样一个好奇心驱动着把它捡起来,如果所有人参与到这个里面,bug 可能就很少见。比如开发者是通过自己的兴趣去做的这件事情,没有什么其他的干预等等一系列,他列了十几条。20 年之后我们再看这个理论,它究竟是完善了还是没有完善。

图片来自豆瓣

企业视角探索成功之道

接下来我们看一个企业视角,这也是大家最关心的,第一个介绍的就是 红帽公司 ,它也是目前最成功的利用开源做生意的一家公司。你从一个历史的角度去看红帽,它从2004年开始做商业化,最后创新性的做了订阅模式去赚钱,一直到现在成了开源里面的巨无霸。如果你在企业级里面做开源绕不过红帽所有的项目, Linux、OpenStack、OpenShift、Ceph 等等一系列企业级软件,它现在是开源界的巨无霸,绕不过去。最初红帽的生意是来自一个媒体杂志,他的理论很简单,蕃茄酱为什么会做成功,或者说矿泉水这种模式,像这样一种模式扩展到现在。它现在的第三任 CEO 写过一本书叫《开放式组织》,它现在发展成了一家创新性的公司。这个人是航空背景。不知道大家有没有注意到,红帽所有的项目都是自己玩社区,只有极少数托管的基金会,好多社区都是它自己去用的。这是为什么?

再来看看  微软,我一直好奇了三年,今年基本上把这个事情看得比较透了,就是我们早期的开源人士跟微软是敌对的,认为它是对知识产权的一种损害,但是从 2014 年微软转向非常迅速,原来我们是对 手,但是萨提亚·纳德拉(Satya Nadella)2014 年在会议上明确表示微软爱 Linux。我一直在琢磨,我今年读了他的这本书《Hit Refresh》,他是一个商业天才,对同理心换位思考的能力超强。他做出了一个什么样的决策?就是我说的这句话,这是我摘出来的另外一句话,这句话的大体意思是什么呢?这跟刚才刘艳华老师讲的是一样的,就是你要基于开源做产品,或者做服务,你的云计算里的产品和服务是不分家的,如果大部分是开源的话,你的用户和租户要有足够的理由相信你的开源能力。比如说他为什么相信这个 OEM 厂商?微软就是靠着巨大的勇气三年完成了华丽转身,在今年的 GitHub 开源贡献者调查里,它的贡献度是全球第一。好多原来开源界的东西都在转变。

再讲 谷歌,这两年在云计算和 AI 里面它是遥遥领先的。你要是从很早开始去看谷歌支持开源的时候,我记得在 2008 年,谷歌还在北京开了它的全球开发者大会。它做了一件事情,叫 GSoC,国内的学生参加这个相当相当少,我只见过一个,就是大学生利用暑假去为开源项目贡献代码。今年我不知道大家有没有注意新闻,今年是有史以来谷歌最大规模的 GSoC。

这里面有两个很重要的概念,一个就是 AI 的民主化,技术这玩意从一个很高端的东西到商业化赚钱,民主化很重要,Windows 当年也提出 PC 民主化

企业视角,当然企业还有很多拥抱开源,我只是举了几家典型的厂商,他们的成功是怎么样的,他们做了什么事情。

个人视角探索成功之道

如果你是个人视角的话,我们有一些很高的个人英雄,比如说自由软件的教主。回顾一下 80 年代他发出的声音,你会发现开源其实是对宗教妥协的一个成功。还有就是不管作为开发者也好,你参与贡献怎么看,我个人的成就,我能养家糊口等等。目标还是比较明确的,比如我喜欢写代码,如果你说你是一个善于跟人沟通,喜欢组织会议,那你去组织会议。个人视角不用多谈,这个是囊括的。

基金会视角的成功

然后我们再谈谈基金会视角,看一下 Apache ,Apache 最初 1996 年的时候是一个修修补补的服务器,当年六七个人,到 1999 年成立基金会,以完全公益性服务于全世界任何的组织。这么一个公益基金会发展成现在,我去年做过一个他们的报告解读,它现在有 300 多个项目, Aadoop 的生态几乎完全就是  Apache 的。现在毫不夸张的说,它是软件世界的中流砥柱,现在你做一些应用,尤其是 Java 的、大数据的还有一些框架根据绕不过 Apache。Apache 最大的用户在中国甚至超过了北美,这个具体的原因我还不是特别清楚,但是这是根据它官方发出的文档的统计。

Apache 基金会算不算成功呢?再看一个,刚才的 Apache 基金会在美国注册的基金叫 501C3,完全非营利性的组织。

再看 Linux基金会 , Linux 从 LSB 发展成一个大帐篷,所以说你可以看到它的财报是不完全公开的,前两年发布了 2017 年的财报,跟 Apache 的财报对比一下,完全没法看,Apache 的服务器用了多少度电、花了多少度钱都可以看出来。现在 Linux 基金会是大帐篷下面又发展的新的基金会,都属于这个大帐篷下面的子基金会。它也发了一些很多面向企业的组织,因为它是收企业的会费。 Linux 基金会算不算成功呢?你从一个基金会的角度来说,它孵化了很多成功的项目。

社会视角

我们再看社会视角,毕老师刚才讲过,你现在拿到的自己的手机、你所用的电脑,包括你后端用的服务,几乎都绕不开开源这个软件。换一个角度来讲,它就像我们现在的公共基础设施一样,或者是道路和桥梁,已经成为我们日常生活中必不可少的补充。

刚才刘老师提到 OpenSSL,其实在开源里面的安全这几年发生几个大事,OpenSSL 时间服务器面临的问题是后继无人,现在的维护者是一个即将退休的教授。

衡量开源成功的标准

衡量开源成功的因素,第一解决了实际存在的问题,有很多人在使用,很受人欢迎,后劲很足,得到社会广泛的支持,我们可以跳开软件,比如说维基百科为什么能得到很多人帮助。微软当年也做过百科,百度现在也有百度百科,你会发现他们现在都是后继无力的。

最后总结一些特征,首先是技术的民主化,它具有普适性。即使有一部分是为了钱,但是大部分还是通过兴趣去做这件事情,而且我一定要把这个东西解决好,为了把事情做好而做好的这种匠人精神,这个在开源里面是非常非常难得的。我们这个世界很多都是因为这样的人去改变的,还有完全是分布式的,获得尊重完全是靠实力,而不是一个抬头。早发布、快速迭代、快速淘汰,开源项目 95% 以上是失败的。

最后,我们可以畅想一下未来,我这里列举一个 MIT 实验室主任写的书,在未来的社会里你需要几大原则,你会发现跟开源成功的东西会非常像。比如说 违抗优于服从,在开源里面,如果有命令一定有违抗,而违抗的东西可能会在快速迭代中生存下来。还有就是  指南针优于地图,你在开源成功里面会很难发现有人给你明确地划了一些东西,它没有地图,只有一个不那么准确的指南针。

总结

总结一下,开源从小众的、一小部分人的爱好,走到了扛起世界发展的顶梁柱,确实是人类历史上的奇迹。就像玛格丽特说的,这个社会是由小部分人改变的。20 年之后的今天再看,回顾了上述所有的事情,换一个不同的视角,包括我们今天之所以能够站在这里也是开源的功劳。谢谢大家!

推荐阅读:

我们第一个 Spring Boot 开源项目:云收藏

Spring Boot 开源软件都有哪些?

END