GMTC深圳站本周日开幕,14大专题全部上线,完整日程>> 了解详情
写点什么

开放原子杜玉杰:创业九死一生,做开源也一样

  • 2021 年 10 月 11 日
  • 本文字数:17006 字

    阅读完需:约 56 分钟

开放原子杜玉杰:创业九死一生,做开源也一样

不管是做开源项目,还是成立开源基金会,都跟创业一样是九死一生。

 

2020 年 6 月,中国首个开源基金会——开放原子开源基金会(OpenAtom Foundation)官宣成立,这也意味着国内开源进入了一个新的时期。其实从很多年前开始,国内开源社区的早期参与者们就一直非常希望中国能有一个自己的开源基金会,甚至可以说,这是很多人的夙愿,也有不少人尝试过在中国注册开源基金会,但在开放原子之前,这些尝试都没有成功,因此开放原子开源基金会自成立以来就备受关注。

 

在开放原子开源基金会成立一年之际,InfoQ 有幸采访了开放原子开源基金会秘书长杜玉杰。我们进行了一场长达 2 个半小时的访谈。他与我们分享了他参与开源的经历,以及在华为做开源的收获,他认为自己是开源社区的受益者,所以后来一直致力于帮助更多人和企业参与开源;他也给我们分析了在国内注册成立开源基金会的困难之处,以及开放原子实际运作过程中遇到的挑战。在他看来,虽然全球开源基金会有大把,但真正被大家熟知的就那么几个,开放原子还有很长的路要走。

 

【编者按】 

由于访谈文章篇幅较长,建议先收藏再慢慢阅读。

如果你有开源故事或对开源的深刻观点想要分享、或开源项目想要寻求报道,欢迎联系微信 caifangfang842852(请注明姓名和来由)。

开源的受益者

 

在以容器、Kubernetes 等为代表的云原生浪潮席卷整个行业之前,OpenStack一度风光无两。它从 OpenNebula、CloudStack、Eucalyptus 的缠斗中脱颖而出,很多云厂商的 IaaS 层都是基于 OpenStack 构建。

 

OpenStack 在中国起步始于 2011 年,也是这一年,杜玉杰开始在开源社区崭露头角。他在国内参与发起了中国 OpenStack 社区,并作为 OpenStack 基金会独立董事参与了国际 OpenStack 基金会的运作。OpenStack 的成功极大地推动了开源云计算产业的发展,尤其是国内相关生态的建设。

 

一方面,正因为有了开源的 OpenStack,很多以前没有接触过云计算的公司才能够快速加入到云计算的浪潮中,加快了国内云计算产业的发展进程。另一方面,OpenStack 也为国内培养了很多开源人才,现在很多开源社区的活跃分子,还是从 OpenStack 那个时候成长起来的,杜玉杰自己就是其中一个例子。

 

InfoQ:能否跟我们聊聊您接触开源的契机?

 

杜玉杰:我最初也是从小白开始,不断深入参与开源,这个过程中每一段经历其实都有不一样的契机。

 

第一个契机是因为我读书的时候尝试使用过一些开源项目如可信计算的开源软件栈等,后来基于这些项目做了一些研究,研究生毕业的时候,正好赶上 08 年经济危机,这段经历帮我找到了第一份工作,参与组建一家 Linux 发行版厂商的创新中心,后来才有了更多的机会和资源去深入参与开源。

 

第二个契机是我工作一段时间以后,有一天领导找我说,公司要组建一个开源社区,问我愿不愿意去负责这块业务。到现在我都非常感激老领导给我这样一个机会,但说实话我那时候一点经验都没有,没有做过社区,只是使用过开源项目,二者完全不同。所以我当时就跟领导说,我考虑一下。然后我就去向我身边那些做过开源社区的朋友请教,该怎么去做。还好大家都比较 open,给了我不少帮助和建议,最终使我下定决心接受这个挑战,尝试去做开源社区这件事情。这是第二个契机。

 

第三个契机是我在推广开源的过程中,大家经常会问我一个问题,就是做开源怎么赚钱。包括很多朋友,甚至身边的同学,知道你在做开源,第一句都会问你怎么赚钱。你让大家做开源,大家得知道怎么赚钱。我觉得也只有自己亲身尝试了,把这个问题真正弄明白,才能去告诉别人怎么做,所以我就参与发起了一个 OpenStack 的创业团队,我很感谢那时候跟我一起创业的小伙伴,创业经历也给了我很多收获。

 

第四个契机,2012 年我去美国参加 OSCon,是 O'Reilly 出版社组织的一个开源全球大会。OSCon 之前有一个 Community Leadership Summit,翻译过来就是社区领导力峰会,这个峰会的主办人就是《社区运营的艺术》那本书的作者,他当时也是 Canonical 社区的负责人。因为是全球性的峰会,会场上当时人很多,但里面只有两个华人面孔,我是一个,另外一个是来自当时华为美研所的朋友(视频的前三秒钟有当时的照片,感兴趣的话可以找一下,https://www.communityleadershipsummit.com/about/)。我当时就很好奇,为什么华为会派人来参加这个大会,因为那个时候华为其实在开源领域还没什么太大声音。

 

后来我慢慢开始了解华为,逐渐接触和认识了华为做开源的朋友,还有他们所做的一些工作。然后我就更加好奇华为这样的公司怎么去做开源,这也给我后来加入华为埋下一个伏笔。

 

差不过就是这样一些因缘巧合,让我从刚开始的误打误撞懵懵懂懂,到亲身体会怎么构建一个开源社区、一个开源创业团队,学习了很多,也收获了很多。这些经历也让我坚定了开源的道路,希望能够帮助更多人加入开源。相信很多人还没有参与到开源里来,不是没有能力,而是可能没有路径或者没有这样一些机遇。

 

我是一个开源的受益者,从工作以来我一直都在做开源相关工作。在遇到问题时,去向开源社区求助或请教,也都能得到很多帮助,有了帮助才能快速成长。“人人为我,我为人人”,所以我觉得开源是值得让更多人去参与并获益的事情。

在华为做开源

 

2015 年左右,华为在开源方面的投入不断加强,现在为人所熟知的华为开源能力中心也是在 2014-2015 年左右开始组建的。

 

2015 年 6 月,Docker 联合 Linux 基金会成立 OCI(Open Container Initiative)组织,旨在围绕容器格式和运行时制定一个开放的工业化标准;2015 年 7 月,Google 联合 Linux 基金会成立了 CNCF 云原生计算基金会,并将 Kubernetes 作为首个编入 CNCF 管理体系的开源项目。在开源能力中心的推动下,OCI 和 CNCF 等开源组织,华为都是早期的发起者之一。

 

在杜玉杰看来,在华为工作那几年,最大的收获就是深入了解了开源的不同玩法,“开放包容、和而不同”的认知对于后来发起成立开放原子开源基金会起到了很大的推动作用。

 

InfoQ:您在 2014 年加入了华为,后来是因为什么原因离开?

 

杜玉杰:我去华为时的动机和诉求可能就决定了最终的离开。2014 年随着云计算的兴起,开源在中国兴起了一波新的浪潮,中国很多企业开始拥抱开源,我当时就觉得,未来会有更多企业,尤其是中国企业加入开源。但由于国内开源的文化和土壤还不成熟,很多企业其实不知道该怎么去做。尤其是在推广 OpenStack 社区的时候,越来越多的中大型企业想要加入进来,但他们自身的规模也决定了,企业要做一个决策需要大量的铺垫和支撑,尤其是在早期,很难为开源打开一个绿色通道,这样的话就要求你更深入地去了解这些企业自身的诉求和问题,找到跟开源结合的路径。因此,能够加入一个世界五百强企业,学习它是如何拥抱开源的,在这个过程中又有哪些值得借鉴的地方是一个不错的选择。

 

我们常说你要自己踩过很多坑,才能帮助其他人去绕过这些坑。当时华为就是一个很好的例子,2012 年 OpenStack 基金会要成立的时候,我就跟华为联系沟通过,希望他们在基金会发起成立的时候就加入进来,因为当时华为已经有团队在做 OpenStack 的事情,但后来因为各种原因他们还是没有参与进来,其中一个问题就是不知道该去哪里决策,一直到 14 年左右才正式加入 OpenStack 基金会,错过了几年时间。

 

另外,当时华为也正处在转型期,2014 年以前,虽然华为已经在 Linux 开源社区有一些贡献,但并不是那么突出,那时候公司内自上而下发出一个信号要转型、拥抱开源。我对此也特别感兴趣,这样的一个传统企业该怎么去转型、会怎样拥抱开源。它经历的这个转变,甚至踩过的一些坑,我相信未来对中国很多企业是很有借鉴意义的。我们毕竟和国外企业不太一样,很多国外的东西照搬过来,可能会水土不服,因为大家的文化和很多思考方式有所不同。只有中国的企业自己经历和解决的一些问题才更有借鉴性,所以这是我去华为的主要原因。

 

去的时候就是想通过做几个项目,帮助公司摸索怎么更好地拥抱开源,后来做过的项目,包括容器项目推动成立了 OCI、CNCF,还有物联网项目也就是现在鸿蒙开源的前身,这些项目经验有的优化进了华为的 IPD 研发流程,有的结合流程变革项目形成了企业开源人才培养体系。华为的这次开源转型相当深入,包括对开源组织架构和决策机制的调整优化、开源战略规划和执行流程、开源项目的评审及考评机制等,我都经历了。

 

云计算之后,又涌现了人工智能、区块链等新兴技术,越来越多项目纷纷采用开源的运作方式,社区的价值也得到越来越多的体现和重视,而要发展国内的开源生态仅靠一家企业是不够的,但国内的企业还比较缺乏相关经验,他们需要更多的帮助与支持,我觉得这会是更有价值的事情,这是我当时离开华为的一个基本的背景。

 

InfoQ:所以是希望出来能把之前攒下来的这些经验传递给更多企业?

 

杜玉杰:开源是一个实践性很强的事情,只有做了才知道,关键是要保持你的好奇心。我觉得我更像是不断在学习,因为知识总会过时的,只有借助新的项目、新的环境不断去学习、去实践,才更有价值。如果一直待在大公司里,就像之前你们采访徐亮的那篇文章提到的,开源也不都是好的,可能你想接触很多新的东西,但是在大公司里面或许你就没有那么大的自主权,公司可能安排你做这个事情、做那个事情,你感兴趣的事情反倒没办法做。所以想要把兴趣和工作完美地结合起来,还是比较难的,你只能尽量做一些平衡和取舍。

 

InfoQ:华为在开源的投入上,应该是国内公司最大的,从您的视角看,这里面的逻辑是什么?

 

杜玉杰:第一个逻辑是华为更注重国际规则,相比国内其他企业,华为在国际化上做的比较早,我进公司的时候,有个说法是公司 70%的业务都来自海外市场。而开源是无国界的,甚至可以说优秀的开源项目一定都是国际化的。从这点来说,华为的国际化视野跟国际化定位,相比国内的一些其他厂商更有优势。

 

第二个逻辑是华为本身的业务模式使得它不需要直接靠开源挣钱,传统来说它其实是一个设备制造商,所以跟互联网厂商、跟软件公司都不一样,它不靠卖软件赚钱,反倒是借助开源可以帮助它解决设备的软件供应链安全问题。比如设备卖到国外,人家可能会担心里面的代码安不安全,这个时候用开源其实就很有说服力,可以把代码开放给你去看,所以你看审查之后并没有发现什么问题。包括开源还可以解决厂商绑定的问题,这都是从业务视角的逻辑。

 

第三个逻辑是从技术趋势的角度来看,开源是大势所趋。吴军写过《浪潮之巅》,里面提到技术其实都是一波一波的浪潮,一直在不断推陈出新。从 10 年前的云计算开始,到现在新兴的人工智能、区块链技术,都会越来越多地拥抱开源技术,这是一个趋势。我相信华为也是认可这种趋势的,包括它后来的云计算转型,自己做云不仅用了 OpenStack,也大量用到了容器技术等,人工智能这块也开源了自己的框架。

 

这些是一种综合的逻辑判断,不是一个单一的逻辑。

中国首个开源基金会

 

早在云计算刚刚兴起、中国的 OpenStack 运动势头正盛那段时间,“国内做开源最缺开源基金会”这个问题就被反复提过很多次,而“中国什么时候才能有一个自己的开源基金会”几乎成了国内开源圈的集体夙愿。但直到 2020 年,开放原子开源基金会才正式成立,这也是国内第一个经过民政部审批成立的合法合规的开源基金会。

 

InfoQ:在国内做开源基金会这事儿到底有多难?难在哪些方面?

 

杜玉杰:2012 年我们就尝试过,相信也有其他人尝试过,之前都没有成功。但我们始终相信一定会有那么一天,我们终将成立自己的开源基金会。

 

2012 年左右做 OpenStack 社区的时候,我们跟章文嵩(那时他还在阿里),还有其他一些开源的伙伴,我们就在讨论,中国为什么不能有一个开源的基金会?我们当时发起成立了一个开源社区,目的很简单,就是想成立一个中国的开源基金会,帮助本土的一些开源项目更好地做知识产权托管。甚至我们因此还跟一批国内开发者发起的开源项目谈过,包括现在很多人知道的 RT-Thread、禅道这些知名项目,说如果基金会成立了,他们就把他们的项目捐赠给基金会。但问题是,要注册成立这样一个公益慈善组织需要经过审批,我们当时没有找到什么比较草根的办法来解决审批问题。

 

从行政审批流程上,在欧美和在中国成立基金会要走的审批是不一样的。在美国要注册成立一个基金会,其实是类似注册成立一个公司,只要满足公司法中对于公益慈善组织的免税条款标准,就可以申请成为一个公益慈善组织,如果是开源方向的就是开源的公益慈善组织,甚至注册的公司名称叫 XX 基金会都是没有问题的。但在中国不一样,注册公司和注册基金会是两条线,公司是在工商管理局登记注册,基金会、法人社团、民非企业都是在民政部登记注册,两边审批的要求就不一样。而且我们对于公益慈善组织的要求比较高,比如要在国内注册成立公益慈善组织,必须成立党支部,这是法律条文规定的。

 

其次基金会需要一个专业团队来运作,这也是国内成立基金会的另一个门槛,因为没有相关经验。虽然近年来国内有一些朋友在国外基金会担任相关工作职务,比如 OpenStack、CNCF、ASF 等等,但这些基本上都还是别人已经建立好规则之后你加入进去参与,跟从零到一地组建一个基金会还是有很大差别的。就好比自己创业和加入别人的公司,这两者是不一样的,国内一直没有成立基金会一方面也是因为缺少这样的专业人才,并且创业需要有个团队班底。

 

成立一个基金会的难度不亚于成立一个公司,但运作一个基金会又跟运作公司不一样。很多人可能不太理解公益慈善组织跟公司的区别。一个公益慈善组织首先需要保证它的社会公共属性,只能做面向社会公众、公众受益的事情。其次,它不是不能赚钱,可以依据章程合法取得收入,但是不能把收入所得拿去分配,这里面有很多限制。所以我刚才说专业团队,一方面是运作开源项目方面的专业性,另一方面是运作公益组织的专业性。运作公司的很多经验,可能不见得适合运作一个基金会。

 

还有一个难点在于开源项目,任何一个基金会的成功都离不开一个成功的开源项目。基金会是一个平台,国际上很多开源基金会托管了大量的开源项目,比如 Apache 软件基金会,现在里面有 100 多个开源项目。所以第三个难点就难在要能孵化出成功的开源项目,基金会注册只是第一步,有专业团队是第二步,第三步是需要能孵化出有影响力的开源项目,开源项目成功了基金会才有机会成功。把开源项目孵化成功,这是我觉得更有挑战的一个事情。

 

这就又回到创业了,创业九死一生,不见得最后能够成功,基金会也是,国际上开源基金会其实有大把,但我们熟知的可能就那么几个。有一些可能做着做着就不太有声音了,有的可能出了什么问题,比如 OpenSSL 出现漏洞了,大家才会关注这个基金会捐点钱给它,平时似乎是没声音的。

 

所以,国内是缺开源基金会,但基金会并不能解决所有问题,基金会注册的问题解决了,对开源是有帮助的,是这样一个关系。很多人觉得我们好多问题没解决,是因为没有基金会,我想说基金会成立了能够解决一部分问题,但肯定也解决不了所有问题。因为基金会要成功就有很多的依赖,行政审批要能通过、要有专业团队、要有好的项目,这些本身对国内的开源发展是有帮助的。甚至我认为,基金会是起了一个头,如果能做好的话,能鼓励更多的组织、基金会更好地发展,这是一个好事情,但需要一些摸索。

 

开放原子现在相当于前两步已经走通了,注册通过了,团队也有了,最大的挑战就是能孵化至少一个或几个成功的开源项目。

开放原子这一年

 

InfoQ:开放原子开源基金会成立已经有一年多,这段时间有什么想要反思的吗?

 

杜玉杰:我们在实践中确实遇到了一些问题,开源真的是门实践的艺术,不实践好多东西都不了解。据粗略统计,国外的开源基金会像 Apache、Linux、OpenStack 等等,国内大概有百十来个企业和组织加入。我们就想着我们应该很快也能突破这个数量,但实际运作过程中发现没有那么乐观。

 

这里面有几个现实问题,首先我们毕竟是一个新成立的组织,大家对你的信任可能还不够,例如还没有知名的开源项目。但这里面还有一些其他问题,包括文化的差异、机制的差异。基金会的业务形态其实很简单,主要靠捐赠,企业加入基金会第一个可以捐资金资助我们做开源项目,第二个可以捐开源项目给我们。但我们在招募企业让他们给基金会做捐赠时,发现有捐赠意向的并不多,光去年我们就谈了将近 200 多家,转化率不到 10%。

 

捐赠涉及很多问题,对于企业来讲,软件属于公司资产,要把它捐出去就涉及内部评估为什么要捐以及要走法务流程等一系列问题。很多企业,尤其是大企业,审批流程非常复杂。可能大家会问,为什么捐给国外的基金会没这些问题呀,后来才发现捐给国外的基金会好像还真没有那么复杂,例如跟国外基金会谈资金捐赠,其实走的是市场或者活动赞助费用,也不需要开具捐赠票据。但国内的基金会不太一样,捐赠跟赞助性质不同,对于资金捐赠,基金会要开具的是捐赠票据,这个捐赠票据本身对企业是有好处的,他们拿这个可以抵税,这也是对公益组织的一个认可。但是这样的话,这笔费用在企业里的审批机制可能就完全不一样了,刚刚说的赞助费用一般是走市场费用,可能市场部的负责人批了就行,但是走捐赠费用,如果是国有企业可能还要报国资委审批,否则可能会涉嫌国有资产流失。不仅流程不一样,而且会变得很复杂。再比如很多创业公司,他们可能顾虑的问题是,把项目捐赠给基金会,投资人认不认可。很多问题本质上还是文化差异。甚至对已经捐赠的开源项目,我们在招募企业共同参与的时候,也会有人问我加入进去能得到什么?能做什么事情?

 

原来我们参与国外基金会的时候,可能更多是类似加入一个创业公司或加入一个已经成熟的公司,是打工者的心态,甚至是搭便车的心态。比如加入 OpenStack 有搭便车的,现在云原生火了,加入 CNCF 也有搭便车的。但是现在我们成立自己的开源基金会,干的其实是创业的事情,我们需要寻找的是创业伙伴,这个时候发现大多数人就不能理解了,他会觉得这个事情为什么我要做、这个事情要怎么做?

 

这跟预期有很大的不同,很多问题也是做了我们才知道,遇到了之后才去思考和反思。

 

InfoQ:在基金会成立之初你们可能会设定一些短期目标、中长期目标,现在一年过去,整体进展符合预期吗?

 

杜玉杰:进展说实话并没有完全达到预期,原因也是多方面的。企业内部文化是一方面,另一方面是中国很多企业还没有一套完整成熟的项目开源审批流程,所以本来有些企业是有捐赠项目的意向,但是实际推进过程中发现整个流程非常漫长,我们在这个地方就要做很多的工作、花大量的时间。尤其是企业法务都偏保守,他们要对公司负责,但对我们来说沟通成本就非常高,周期也非常长。我们只能不断地跟企业的法务、各个部门去沟通,帮助他们内部把流程走通。我以前在企业干过所以清楚其中的这些问题,例如我以前在华为负责某开源项目,公司最高决策层都已经拍板了这个项目要开源,我还花了 6 个多月才拿到开源的代码。

 

InfoQ:这一年开放原子从各方得到的反馈是怎样的?(比如理事单位、开发者、国内其他开源组织、开源社区参与者等等)

 

杜玉杰:我觉得大多数人对基金会还都是一个比较积极的态度,因为毕竟我们是国内唯一的开源基金会,大家认为成立之后还是能够给国内的开源生态带来很多帮助,并且很多人也觉得开源不可能说短期内就怎么样,还是看好长期的发展。我看到的反馈还算比较积极正向,其中也会有一些好的建议,比如说希望我们更开放一些,或者是多做一些活动,去年由于疫情原因,所以各种活动交流少了很多,很多人感觉好像没听到什么声音,这个可能是我们做得不太够的地方。

 

InfoQ:其实我们前面也有聊到这个话题,就是怎么定义一个开源基金会是成功的?比如是不是应该孵化出至少一个杀手级的项目?

 

杜玉杰:我觉得这是一个必要条件,但不充分。开源基金会成功一定要有成功的开源项目,但是还不充分。基金会真的要成功,它还需要做好开放治理,通过开放治理真正地解决一些社会问题,否则的话就没必要捐给基金会了,企业自己运营就好了。比如安卓,谷歌自己开源也可以做得很好,比如 TensorFlow,谷歌也一直做得很好。我相信还有很多类似的项目,企业自己就可以做得很好,为什么捐给基金会?

 

基金会是一个公益慈善组织,怎么建立和维护基金会的公信力,其实最关键的还是能否真正解决一些社会问题。通过一个开放治理的架构,才能保证满足大家共同的利益诉求,保证大家是在一个公平透明的机制下有效达成共识。

 

我觉得这是一个基金会能否成功很重要的一个标准,至少反过来看,成功的开源基金会,它一定是通过开放治理的形式解决了某些社会问题。

 

InfoQ:目前基金会官网上一共有 8 个项目在孵化中,在您看来,这几个项目的健康状态如何?感觉除了 OpenHarmony,其他项目我们好像没有听到什么进展。

 

杜玉杰:不同项目的状态不大一样,因为有的项目捐过来的时候本身已经开源了,有的项目捐过来的时候其实还没有开源。对于这些项目,我们围绕生态构建,做了一些开放治理的工作,包括怎么让它由一个单一厂商变成多个厂商共同参与贡献等等,我们也花了很长的时间去制定项目孵化毕业的流程。目前这些项目都还在孵化中,并且还没有毕业,所以暂时都还没有大规模去推广。

 

InfoQ:我们之前有听说基金会要去“化缘”,国内公司,除了华为,其他公司参与基金会的主要目的是什么?情怀?还是其他?毕竟开放原子还在早期,目前市场没看到大动静。

 

杜玉杰:这里我觉得有几个问题,第一个要想明白的就是企业开源跟基金会开源的有什么不一样的地方。就像刚才讲的,安卓也是开源的,TensorFlow 也是开源的,他们跟基金会治理下的开源有什么不同?谷歌为什么要把 K8s 捐给 Linux 基金会、成立 CNCF?OpenStack 基金会早期几家发起公司为什么要捐赠出来?是有什么样的诉求?要想明白这个事情,才能明白企业开源和基金会开源的区别。

 

在我看来,基金会跟企业做开源,最大的不同就是它的中立性。因为企业自己做开源,比如国内很多大厂自己都在做开源,总会让别人有种给你打工的感觉。

 

其次,开源有很多种方式,基金会也是其中一种。还有一点就是全球有上百家基金会,知名的也就那么几个,基金会也各有各的不同。例如说 OpenStack 基金会就把开源提高到 4 个维度,一开始我们讲开源就是源代码开源,但是现在很多项目源代码是开源的,却未必开放。比如刚才说的安卓开源了,但安卓下个版本要做什么特性你没法参与,他是做好了才告诉你我是这么干的。很多国内手机厂商在这方面就遇到很大的问题,比如说安卓新版本发布了,我们要做很多工作,但是你又不知道他下个版本做什么,你控制不了。有可能你做的功能他下一版本给改了,你就要跟着他不断地改。甚至也有可能用你竞争对手的东西来替换你做的这部分功能,都是有可能的。

 

所以说开放源代码只是开源的第一步,OpenStack Way 第二个维度叫 Open Design 开放设计,就是版本设计也是开放的,以前有专门的 Design Summit,让大家一起来讨论这个版本发布什么特性、做什么功能。

 

第三个维度是 Open Development,就是把开发的过程也开源,包括代码 Review、评审等等这一套东西。同时,因为云计算的复杂性,很多编译调试需要构建平台,OpenStack 在基金会里面算是最早提供一整套 CI/CD 构建流程工具的。否则你会发现你写的代码,不知道跑在云上或者跑在服务器上能不能 work,因为可能你没有那个设备和环境。当时 OpenStack 基金会就专门有个 Infrastructure 团队去解决这个问题。

 

第四个维度是 Open Community,它的社区生态也是开放的。比如我就是个例子,我当时加入 OpenStack 基金会是以个人身份,因为当时公司没有成为会员,但是个人身份通过投票选举等等,你也可以成为独立董事。你能看到社区是开放的,它不看你的学历,不看你的背景,哪怕你没有大公司背景,因为你做了一些贡献,比如帮助它在中国做推广,也可以加入他们。

 

所以它叫 OpenStack,“开放堆栈”,就跟这个 OpenStack Way 是一脉相承的。这就是我刚才讲的开放治理,也是越来越多人认可的一个原因。我感受最深的就是说,OpenStack 刚开始开源的时候,还有 OpenNebula、CloudStack、Eucalyptus 也是开源的。那个时候 OpenStack 并不是最成熟或者最完善的,后来大家都意识到是因为它更加开放,帮助它快速超越了其他的一些竞争对手,并且现在几乎成为了云计算的一个事实标准。

 

InfoQ:正好对应了我的下一个问题,国内基于开源项目的基础软件公司,有的公司选择把项目捐赠给基金会(比如 APISIX),有的公司选择不捐赠、自己运营(比如 TiDB),这里面的差异点是什么?怎么选择?

 

杜玉杰:开源不是目的,企业不能为了开源而开源。基金会也是,你选择一个基金会,你不能说我为了加入一个基金会而加入基金会。你的目的是什么,你想得到什么,或者是你需要基金会做什么,或者你的开源项目遇到的问题是什么。如果你发现一个需求、一个问题,我们就可以去解决它,或者创建一个社区去解决它,但是你要先找到你的问题是什么。

 

像 TiDB 想构建一个全球社区,他可以自己去构建没问题。但比如说他在开放治理上有一些诉求的话,我觉得选择基金会可能也是一种方式,他如果想要捐给基金会,他就要考虑希望基金会能够解决什么问题、能达成什么效果。当然也有很多项目自己会成立基金会。

 

InfoQ:所以您的建议是先找到自己的诉求和想要解决的问题。

 

杜玉杰:因为不同的领域、不同的项目,比如数据库类的、操作系统类的,还有云计算类的,领域的诉求不一样,它解决的问题不一样。比如 OpenStack 最开始就是需要把大家联合到一起,否则很难做,因为云的环境很复杂,服务器、存储、交换机很多都是异构的,如果大家不一起合作去做的话,怎么可能写一个软件在哪里都能跑得很好,没有一家公司能独立去解决好这个问题,所以就需要协作,因此它也意识到开放性的重要性,所以就把开源提高了 4 个维度,这些都是跟它要解决的问题相匹配的。

 

这里引申一个话题就是说我们不能只照搬国外的东西,因为你要看你的问题对不对。比如大家觉得 Apache 的方式很好,但我觉得直接把 Apache 照搬过来,可能在中国很多条件是不具备的。Apache 是一种精英治理模式,所以他对人的要求会很高。Apache 制定的标准,我们看很简单,但其实要求非常高,比如懒人共识,说起来很简单,但我觉得很难照抄,跟文化有关,在国内可能不好直接用。

 

当你加入别人的基金会,他们已经有了这种制度化的设计,你只需要去遵循,很简单。因为他已经把这个模式固化了,很多人有这个 sense,你照着做就行。但现在如果你自己去构建这套规范,就会遇到很大的挑战和困难,这个我觉得差别很大。所以对我们来说,我们要去结合实际情况和具体问题展开,可能更实用一些,否则只是照搬会很难。

 

InfoQ:再追问一点,如果不捐给基金会,是不是可以更“独裁”?

 

杜玉杰:肯定是可以的,但要不要“独裁”还是要看你的目的和诉求是什么。开源有很多种模式,成功也有不同的定义。例如前面提到谷歌的“独裁”对于安卓和 TensorFlow 的成功起到了很大的帮助,但 Docker 早期的“独裁”对于容器技术的发展就有诸多限制。独行快,众行远,你是想基业长青还是快速变现?

 

InfoQ:对于开放原子和其他开源组织之间的关系,现在依然有很多人抱有疑问,比如国外的 Apache 基金会、Linux 基金会,国内的开源社、木兰开源社区,您怎么看你们之后的关系?是竞争对手还是合作伙伴? 

 

杜玉杰:对于开源组织之间,我们从开放治理的角度来讲,它其实不是简单的竞争或合作,很多时候是一种竞合关系。什么叫竞合,就是说大家有竞争,然后也有协作,因为开源本身就是一个开放协作的模式。首先我们都是开放的,肯定是欢迎合作的,但是你说有没有竞争,也许在有些领域有,但也不一定就会发生。

 

但我想这种竞合关系反倒是说能够激励不同组织形成更好的合作方式,这个过程会不断迭代。如果没记错,其实最早 OpenStack 基金会成立的时候,在 Linux 基金会里面也曾经讨论过,因为当时 Linux 基金会比较成熟,它下面已经有一些这种类似于托管协作组织,那时候还没有 CNCF,那就想有没有可能把 OpenStack 也托管给它。当时 Linux 基金会好像是投票了,然后没有通过。后来 OpenStack 真的起来了,它意识到决策可能是有问题的,所以他们就做了一些调整,后来成立 CNCF 的时候他们就非常果断。如果 OpenStack 没有起来,Linux 基金会也不一定会做这种改变。

 

你会发现在这个过程会有这样一个互相促进的过程,因为 OpenStack 代表云计算新的方向,而 Linux 基金会以前没有云计算项目,那可能会对它形成压力,甚至刚才说的竞争,反过来它也会去考虑改变。所以它现在有 CNCF 了,其实也是个好事。就像 Apache,最开始其实 Apache 做的是服务器,Web Server 这种,但现在有很多大数据的项目。所以我说这里面有竞争合作,其实我觉得也是个好事儿,包括 CloudStack 后来也捐给 Apache 了。

 

InfoQ:目前来看,国外比较成熟的开源基金会都会有自己特定擅长的领域,比如 Apache 是大数据,Linux 是运维方向,那开放原子会有这块的策略选择吗?还是海纳百川?

 

杜玉杰:其实我们可以先回顾一下,Apache 是一开始就选择了大数据吗?也不是。Linux 基金会是一开始就选择了运维吗?也没有。他们是先把项目做好,但是最后吸引了大数据的很多项目。对我们来说,一开始我们有一些战略规划,比如项目的领域原则上看未来哪些领域成长性更高,因为重复造轮子的成功率可能没那么高。但很难说一开始规划的时候就定好方向,就像 Apache 的大数据项目,我相信不是它规划出来的,一定是慢慢做出来的,先有一个 Hadoop,然后有 Storm、Spark 等等这些,它的生态就搭起来了。

 

我们现在有几个赛道,有些赛道上可能生态会长得快一些,它需要有这样一个野蛮生长的过程,这个过程不是一开始就制定好的。我相信 Apache 大数据不是它规划出来的,只是现在回过头来看,它大数据可能做得很好。可能放在以后我们才能看出来,开放原子开源基金会什么做得更好。

 

InfoQ:目前开放原子孵化的开源项目几乎都是不同赛道的,但后面进来的开源项目可能会有所顾虑,比如自己捐过来的项目和现有的有些是同一赛道,开放原子后续会怎么处理竞争与资源分配的问题?

 

杜玉杰:这个是我们现在还在摸索中的一个问题,我们也在探索这些项目怎样去处理,所以这个也只能基于不同的领域去考虑。比如我们也有考虑过,我们现在有一些物联网的项目,是不是把它们组织到一起,形成一个类似工作组的模式。这个也是出于欧美法律跟中国法律体系不一样的考虑。比如 CNCF 其实是 Linux 的子基金会,从性质上看,相当于 CNCF 是 Linux 基金会的一个独立的子公司,需要向 Linux 基金会交相应的会费,然后 Linux 基金会给它提供基金会的托管服务。

 

按照国内法律,我们没办法成立子基金会,但是它这种模式我们觉得值得借鉴。所以我们只能成立工作委员会,比如成立一个物联网工作委员会,可以把一些物联网项目集中到一起,大家一起来治理,但我们还在尝试中。我们现在的想法是,我们有理事会、有技术委员会,他们做技术评审,把关技术孵化,然后资源分配需要通过理事会的决议。首先形成方案,就像立项一样,这个项目要怎么投入,方案需要理事会通过,至少这个机制我们是有的。具体到项目上,可能需要有相关项目的 leader 去负责。所以整体来说这个问题我们还在摸索中,现在有一些初步的项目在跑,但是我们可能还需要等孵化毕业,经过一些验证。

 

InfoQ:开放原子现阶段面临的挑战主要来自哪些方面?

 

杜玉杰:挑战我觉得主要是两方面,一个是前面提到的,我们在实际的沟通运作中发现,大多数人真的不理解基金会是怎么运作的。可能大多数人对开源都还不够理解,理解基金会的就更少,这是我觉得很重要的一个挑战。

 

InfoQ:您指的是外部的人还是内部的人?

 

杜玉杰:都有。刚才也提到了,虽然外部有很多人以前参与过其他基金会,但参与基金会并不见得说他能去运作一个基金会。运作一个企业跟运作一个基金会,其实有蛮大的不同。从法律层面上,从实际运营层面上,因为你服务的对象是不一样的。你向管理层负责,跟你现在向公众负责,有非常大的差别。

 

第二点,我们毕竟是国内注册的基金会,不管法律体系也好,文化也好,不可否认我们还是受中国文化影响会很多。我们并不是不做国际化,因为开源是面向全球的,只是在这种框架下怎么能有一个适合国内的运作模式,我觉得这是另外一个挑战。这个挑战我刚才也讲了,不见得说我们照搬 Apache、照搬 Linux、照搬 OpenStack 就一定能 work,因为受制于文化,受制于一些理念,受制于现状,甚至法律的一些限制。刚才聊了很多,有些东西没法照搬。

 

最关键的是要有一套机制,才能保证它能不断地运作迭代,如果没有一个好的机制,是比较难的,你可能就只能靠人,比如这个人能做,换个人就不能做了,就很惨。一个好的机制,可能有几个人都能把这个事情做起来,甚至慢慢地别的人也能去做,因为机制在这里。就像我们说 TOC,可能以后这些人都轮换掉了,但是有个好的机制还能继续运作。我觉得这两个是比较主要的挑战。

“只有不到 1%的开源项目能成功商业化,不热爱就别来”

 

InfoQ:从最初接触开源到现在,您看到开源社区发生了哪些变化?

 

杜玉杰:早期开源其实还比较草根,或者很多是个人英雄主义,比如一个大牛写了一个项目,广为流传,然后大家都膜拜,拿 Linux 和 OpenStack 比就非常明显。一说 Linux 大家都能想到 Linus 这个人,但 OpenStack 你能想到哪个人吗?OpenStack 的成功,我个人认为其实 OpenStack 基金会起到了非常大的一个作用,这是跟 Linux 最大的不同。

 

这也是我们看到 OpenStack 基金会带来的新变化,你不太能看到一个人了,你看到的是一个团队,基金会的作用、专业团队的作用更明显。像 Linus 这样的人我觉得不说千年不遇,反正至少是百年不遇,遇到的机会太少了。包括 K8s,大家想到的可能也不是某个人,而是首先会想到 CNCF 基金会。

 

所以我觉得从原来的个人英雄主义到现在的专业团队,这个是很大的不同,这也跟协作的边界越来越大有关。以前一个人一台电脑,不管是操作系统还是数据库,可能都写得出来;现在云计算、人工智能、区块链,一个人做不了,比如要搭建云的环境,需要交换机、路由器、存储、设备等等一堆东西,一个人搞不定,就需要大家一起协作去做。需要团队协作的越来越明显,所以更需要专业的团队,这是第一个变化。

 

第二个变化跟赚钱或者商业化有关。早期大家看开源,情怀主义或理想主义会多一些,一开始做开源并没有想到去赚钱。但项目光靠热情和情怀是不可持续的。所以我们现在提倡可持续的开源,就要考虑跟商业有机结合,才能保证开发人员不会因为生活所迫,不得不中断开源项目的维护,或者工作变动影响对原来项目的投入。早期一些大厂的开源项目很多时候就是因为人员变动,这个项目他没办法去投入,因为可能这些人比如升职了,甚至转部门了或者跳槽了,这个项目就没人维护了。为什么会这样?其实还是因为可持续的开源模式没有找到,如果这个项目能可持续,我相信他去了别的公司,他也还能继续参与贡献这个项目。

 

现在我们看到了有越来越多这方面的变化,很多人可能不在原公司了,但是还会在这个项目里。因为这个项目火了,或者捐给基金会了,那可能你不在原公司了,但是在别的公司同样还可以参与贡献,因为有一个专业的平台在支撑项目发展,这种平台越来越多、越来越成熟。

 

商业方面,原来创业很难,但现在通过开源的方式去创业,已经能得到资本的认可了,我觉得这也是这 5 到 10 年很大的一个变化。早期开源,资本根本不会看的。10 年前,基本上国内没有几个 VC 会去投开源,5 年前从 OpenStack 开始会有一些,但也不多,毕竟好的项目还是少。但这几年突然冒出来好多,尤其是原创项目,比如 TiDB、Kyligence 等等,很多开源项目都得到了认可。我觉得是个好事情,但是资本进来不一定能够保证它一定成功。

 

基于 OpenStack 的很多创业公司其实活到现在的也是少数,容器的可能更少,因为开源本身是有一定挑战的。你把开源做好有一定挑战,同样你把它做成商业公司、商业项目,挑战更大。

 

第三个变化我觉得是开源从一个小众的事情,现在已经变得更广为人知、更大众。比如像今年十四五规划,国家层面上提出要大力倡导开源,这个重视的程度跟 5 年前甚至 10 年前是完全不一样的。这些变化背后我相信会有大量的事情发生,可以预见,中国肯定会有越来越多的开源项目,包括商业化的案例。

 

InfoQ:您曾经提过:“确实有很多开源项目最后由于商业原因夭折了,但商业化也未必能够挽救所有的开源项目,经营一个开源项目和经营一个企业一样有风险。”您如何理解开源和商业化之间的关系?

 

杜玉杰:我自己经历过这个过程,做过开源,做过商业化,亲身尝试过开源和商业化到底怎么回事。我现在的看法是开源是可以商业化的,从 2000 年红帽在纳斯达克敲钟上市,Hadoop、MongoDB、Databricks 等等融资或上市的估值都比较高,证明开源是可以商业化的。

 

但是另一方面,能够商业化的开源项目其实很少。GitHub 上有多少开源项目,我们能看到的商业化的开源项目,我估计 1%都不到,相对来说比例非常小。尤其是开源运动早期的那种极客精神驱动的项目,比如像理查德·马修·斯托曼(Richard Matthew Stallman, RMS)搞的各种项目,也很伟大,很多现在都还有影响力的开源项目,但是也没见商业化。所以开源是能够商业化的,但是能商业化成功的项目非常少。

 

另外,商业化成功的开源项目,虽然这些年市值越来越高,但是在整个 IT 领域里面其实比例也是非常小的。就拿 OpenStack、Docker 来说,当时成立了大把的开源创业公司,活到现在的有几个?包括 Sun 当时搞 Java,也做的很好,最后被 Oracle 收购,市值只有几十亿美金。你看这么伟大的公司最后也不见得商业化上有多大的成功。所以开源可以商业化,但是能够商业化的开源项目还是比较少,然后成功概率也很低,这是我的看法。

 

所以我们需要找到可持续的商业模式,我觉得不能排斥商业化,但是要找到合理的模式,然后可持续地做下去,这才是关键。这里面要做一些取舍,营利跟非营利之间有一种平衡。比如很多不开源的公司,他就是要赚钱,不把代码开放出去。我们刚才为什么说基金会是社会财产,其实很大程度上是承担的公共责任、社会责任。现在很多企业讲社会责任,社会责任跟盈利之间怎么做一个平衡,就是个关键。

 

如果你只想赚钱,不承担社会责任,那你的利益是最大化的,你要承担公摊,这一定是占成本的,但是你怎么去把这个东西平衡好,因为你可能能得到更多额外的回报,或者不叫回报,会有额外更多的收获,我觉得更好。包括商业模式也不是那么单一的,比如红帽它定位就是卖订阅服务,但这种模式未必可以复制。现在有云,云上有很多 SaaS,包括所谓的 open core,可能有很多不同的模式。我觉得找到能跟项目相结合的模式可能比较关键,这是我对开源商业化的理解。

 

InfoQ:OpenStack 兴起那个时期,国内开源热度就还挺高的。当下开源在国内更是热度空前,您如何看待近几年国内开源的现状?做得好的地方是什么?做得不好的又是什么?

 

杜玉杰:首先从大环境上,现在肯定比 5 年前 10 年前的环境好很多。一个是开源的企业越来越多,包括岗位招聘需求也越来越多,优秀的开源项目也比以前多了,我觉得这是大的趋势。可以预见未来在新兴的技术领域,选择开源模式也逐渐会成为一个主流。

 

早期传统技术领域肯定是闭源项目为主,开源项目只是小众;逐渐地开源闭源慢慢形成抗衡,比如安卓跟苹果就基本上平分市场;到现在我觉得开源慢慢开始引领了,像人工智能、区块链都是开源先爆发,并且至今好像还没有看到闭源的成功的东西。

 

所以我认为未来这些新兴领域有可能都是用开源的方式,这里面也有一些必然的原因跟条件。比如刚才提到的,这种分布式的项目越来越需要协作,不是一个人或者几个人关起门来就能搞定的,那就要通过开放协作的方式去运作。然后包括像信任的机制,如果不开放,很难得到大家的信任。

 

从这些方面来看,我觉得开源肯定会成为主流,不光是当下,未来也是主流。所以我觉得这几年现状也是利好,大的环境是好的,但是不好的地方可能也有一些。

 

首先还是人才资源,就是我们开源的人力储备相对来说还是少一些,当然这个也需要一些积累和传承。比如说国外像操作系统,可能写了一个又一个操作系统,而我们可能一个操作系统都还没有把它做成功,所以人才上还是有一些缺口。其次是市场、客户这一块。中国软件产业可能以前拿来主义多一些,盗版基本上把很多软件市场废掉了,但是云服务也许能是个机会,就是不靠卖软件产品了,靠卖服务,当下这是大家认为比较稳妥的一种方向,但这也需要大家共同努力。

 

核心还是怎么去平衡短期利益跟长期利益。我们说众行远独行快,你自己跑肯定跑得快点,但是要跑得更长远,肯定要跟大家一起,可能这是要取舍的地方。

 

另外还有一点,就是大的开源往往都是讲开源生态,开源生态我的理解是,首先要见过,就是看见的见,见过一些好的开源生态,比如我认为 OpenStack 还是不错的,无论从竞争的角度、从它为推动开源做的贡献的角度;其次是建设、构建过,能够见过一些好的开源生态系统,再去构建好的开源生态系统。这两个的差别我觉得是当前国内需要去解决的,要让大家能看见好的开源生态,他们才更有信心去参与和投入,然后还得有人去建设。因为有些人是因为相信所以看见,有些人只看到自己想看到的东西、只听自己想听的东西,我觉得还是有些不一样的地方。

 

InfoQ:您觉得现在是国内做开源最好的时候吗?

 

杜玉杰:如果你想做开源,任何时候都是最好的时候,如果你不是真正热爱开源,你最好别做开源。

 

对有些人来说,开源真的是可以做一辈子的事。其实这个问题不是问题,关键是看你够不够热爱。你要是热爱,什么时候加入我觉得都是最好的时候,你不是真的热爱,真的最好不要做。因为做开源没有说比不做开源什么特殊的捷径。只有你热爱了,你才会花心思花精力想尽办法去做好,否则你做开源也会有很多问题和挑战。

 

InfoQ:如果不热爱还是去做的话会有什么问题?

 

杜玉杰:不爱做还非要做,这不是给自己找麻烦吗?何苦为难自己呢。



【编者按】

 

每一位开源参与者、每一个开源项目都可以成为舞台上的主角。

 

新的一波开源浪潮正在席卷中国,【开源聚光灯】是 InfoQ 重点打造的开源主题栏目,旨在通过新闻、系列访谈、用户调查、迷你书、视频等形式深入观察开源运动,围绕开源的价值和开源开发模式,与投身开源的每一个个体共同探讨开源发展现状,照亮每一个开源舞台上的参与者。

 

如果你有开源故事或对开源的深刻观点想要分享、或开源项目想要寻求报道,欢迎联系微信 caifangfang842852(请注明姓名和来由)。


如果你有关于开源生态建设、社区治理的实践经验想跟更多业内人士分享、交流,点这里提交议题,DIVE 全球基础软件创新大会(北京)2021“开源布道与生态建设”专场等你来!

2021 年 10 月 11 日 13:301300
用户头像
蔡芳芳 InfoQ高级编辑

发布了 643 篇内容, 共 319.0 次阅读, 收获喜欢 2128 次。

关注

评论

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

Android 性能监控系列一(原理篇)

android 程序员 移动开发

Android 自定义软键盘实现 数字九宫格

android 程序员 移动开发

Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器

android 程序员 移动开发

Android 设置默认Launcher

android 程序员 移动开发

Android 调用相机拍照,适配到Android 10

android 程序员 移动开发

Android-多渠道打包配置;你了解吗?

android 程序员 移动开发

Android-系统预设-App,有什么难的?

android 程序员 移动开发

基于 KubeVela 的 GitOps 交付

阿里巴巴云原生

阿里云 Kubernetes 云原生 gitops KubeVela

Android 集成讯飞SDK实现语音拨号、语音导航、语音启动应用

android 程序员 移动开发

Android----Matrix-与坐标变换

android 程序员 移动开发

Android 拍照:如何使用已有相机应用捕获图片(Taking Photos Simply)

android 程序员 移动开发

Android 横向ListView实现

android 程序员 移动开发

Android 这座山,我一定要爬到顶

android 程序员 移动开发

Android-ContentProvider实例详解(1)

android 程序员 移动开发

Android-Handler机制详解

android 程序员 移动开发

Android-音视频学习系列-(三)-Shell-脚本入门

android 程序员 移动开发

Android 抖音爆红的口红挑战爬坑总结

android 程序员 移动开发

Android 面试必备 - 系统、App、Activity 启动过程

android 程序员 移动开发

Android-kotlin的继承

android 程序员 移动开发

Android-技术的下半场

android 程序员 移动开发

android 方式实现imageview圆角

android 程序员 移动开发

Android-举一反三:12个View绘制流程高频面试题,带你全面理解View的绘制流程

android 程序员 移动开发

Android 性能优化:手把手带你全面了解内存泄露

android 程序员 移动开发

Android 程序员不得不收藏的 90+ 个人博客(持续更新

android 程序员 移动开发

Android 自定义软键盘实现 数字九宫格(1)

android 程序员 移动开发

Android 获取设备信息

android 程序员 移动开发

加速SaaS规模化演进,餐道基于K8s的云上创新底座

阿里巴巴云原生

阿里云 Kubernetes 云原生 SaaS 智慧餐饮

Android-Volley完全解析(一),初识Volley的基本用法!

android 程序员 移动开发

Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架

android 程序员 移动开发

Android-R-中的heap新分配器——Scudo

android 程序员 移动开发

Android-自定义图像资源的使用(2)

android 程序员 移动开发

2021星空论坛:破局创新,论道数字化转型

2021星空论坛:破局创新,论道数字化转型

开放原子杜玉杰:创业九死一生,做开源也一样-InfoQ