开源这件事儿,越来越“声势浩大”了

2020 年 04 月 21 日 阅读数: 94
开源这件事儿,越来越“声势浩大”了

最近两年,朋友圈持续被各大科技公司的开源消息刷屏:微软开源了 C++ 标准库;华为宣布将开源其 GaussDB 数据库和服务器操作系统 EulerOS;腾讯开源了轻量级物联网操作系统 TencentOS tiny;阿里巴巴开源技术委员会宣布贾扬清出任主席,全面推进开源标准化......

 

长久以来,我对开源这件事情也有很多想法,比如为什么国内在科技发展的过程中没有诞生一个类似Apache软件基金会这样的组织?这么多年来,很多开源项目怎么搞着搞着就黄了?为什么这些科技公司此时如此重视开源?正好,身边有几位朋友是国内一些开源项目的创办者和重要贡献者,我们就聚在一起讨论了下这个话题。

 

先来聊聊为什么国内没有诞生类似Apache软件基金会这样的组织。Apache软件基金会(也就是Apache Software Foundation,简称为ASF)是一个专门为支持开源软件项目而创办的非盈利性组织,创建者是一个自称“Apache组织”的群体,该组织主要是一群开发爱好者组成的,平时一起在美国伊利诺伊斯大学超级计算机应用程序国家中心(National Center for Supercomputing Applications,简称为 NCSA )开发的NCSA HTTPd服务器的基础上开发维护一个叫Apache的HTTP服务器。

 

这里有两个非常重要的信息:非盈利性组织和一群围绕着一个叫Apache的HTTP服务器的开发爱好者。如果把这两点照搬到国内,其实都很难实现。

 

对于非盈利性组织,国内有一整套比较严格的审核流程,大多数非盈利性组织很难审核成功,基本都是以工商登记、挂靠机构和草根团队(不注册)等形式存在,比如国内的开源社,就是一个开源软件基金会类型的组织。当初也希望注册基金会,但没能注册成功,最后以成立草根社区联盟“开源社”的方式为国内的开源社区与项目提供一些基础的服务,包含开源治理、社区发展以及国际接轨等。

 

那么,开源领域的非盈利性组织的存在是否重要呢?答案是肯定的,一些个人开发者或者公司主导的开源项目很可能因为个人原因,比如工作太忙、团队人员流动等情况停止维护和更新,或者大型科技公司自行开源维护的项目可能会让普通开发者担心是否被植入后门等,Ant Design彩蛋事件就是一个例子。如果开源项目可以进入Apache软件基金会,那么很多问题都可以解决了。Apache软件基金会有着一套完善的流程和机制帮助项目更好地成长,直至最后顺利毕业,这对开源项目的质量是有保障的。

 

此外,这也规避了一些项目发展中可能出现的矛盾。长久以来,中国的开源最缺对社区的重视,很多都只是把代码 push 出来,有些甚至连文档都不完善,给了开发者一种爱用不用的感觉,出了问题也不回应。如果有基金会协助管理,这个情况会大有改善。

 

但是,国内开源的未来发展方向未必就是由一个基金会来推动,国内现在的状态其实就是几家大型科技公司在推动,这也未必就是件不好的事情。一个大型的、复杂的开源项目基本都是公司来推动才可能成功,就好比谷歌其实推动了很多项目的发展,但这些项目本质是开源的。而且,开源项目也需要在实际的应用场景中验证,像阿里巴巴双十一这样大规模实时计算的场景是很少见的,这也让Flink得到了很好的发展。

 

至于开源爱好者,国内近两年可能多一些,在这之前都是非常难得的。毕竟,国内大部分程序员的工作还是比较饱和的,很难挤出时间开发和维护开源项目,尤其是这个开源项目与个人KPI完全无关时。近两年,开源爱好者逐渐增多,这之中的大部分人其实是在开源和商业价值之间找到了平衡,比如为了解决某个业务问题自研了一套解决方案,用着用着觉得还不错就开源出去了,或者内部正在使用某一个开源项目,便在使用之余将这个项目的改进推回社区。这里也可以回答开篇提到的“为什么很多开源项目搞着搞着就黄了?”的问题,大部分情况下是因为这个项目的创建者和维护者没有找到“开源情怀”与“价值”之间的平衡,真正靠着情怀做开源的毕竟还是少数,广大开发者还都是需要工作养家糊口的,这也可以理解。

 

正因为缺失了上述两个环节,国内很难产生类似Apache软件基金会这样的组织,但现在的大型科技公司好像突然间觉醒了,努力地想把开源这件事情做好,最主要的原因其实是云计算的发展。

 

从PC时代到移动互联网时代,再到云计算时代,新的时代背景一定会催生新的需求,云计算要想发展得好,一定要把生态搞起来,那么说怎么搞呢?做开源!现在还是有很多企业对云计算有顾虑,担心被单一云厂商绑定。举个例子,同样是MySQL数据库,阿里云有一套,腾讯云也有一套,MySQL数据库本身又是开源的,企业这么一看,马上就懵了,不知道怎么选好了,云厂商索性就把这个开源出去,不用我的云也可以用这个项目,企业的信任度和好感度马上就增加了。

 

对开发者而言,如果遇到很好的开源项目,又可以解决实际的业务痛点,还是非常乐意使用的,一旦开发者对这个项目认可,就可能会看这是谁家开源的,如果这家云厂商恰好提供了很好的,与该项目顺利集成的其他工具,又恰好是开发者需要的,那他们可能就很乐于选择这家云厂商。久而久之,生态就慢慢发展起来了。这也是为什么猛做开源的企业中,云计算厂商居多的原因了。

 

长远来看,未来几年,国内的开源应该会有不错的发展,毕竟目前几家大型科技公司的决心都很足。但是,开源出来的项目质量和后续维护是需要这些公司严格把控的,不然很可能弄巧成拙啊。

用户头像

赵钰莹

关注

InfoQ高级编辑 2018.12.24 加入

坐标北京,主要关注AI和云计算领域,长期接受独家爆料和技术投稿,只要你有料,我这就有酒。联系方式(微信同号):13051771597

评论

发布
暂无评论
开源这件事儿,越来越“声势浩大”了-InfoQ写作平台