褚霸:阿里开源四部曲,从拥抱到回报

6月24日至25日,由中国开源软件推进联盟(COPU)主办的“第十一届开源中国开源世界高峰论坛”在北京成功召开。本届论坛以“深化开源交流,壮大开源平台,服务万众创新,发展共享经济”为主题。

阿里云研究员余锋 (花名:褚霸)受邀参加了本次活动,褚霸代表阿里巴巴集团为大家介绍了阿里巴巴与开源的故事。阿里巴巴与开源的关系,褚霸总结为四个阶段,分别是拥抱开源、回馈开源、融合开源和回报开源四个阶段。

以下是褚霸在本次活动上的发言整理内容。

拥抱开源

褚霸:阿里开源四部曲,从拥抱到回报

我从97年开始接触开源,是开源事业的受益者。为什么要拥抱开源?我认为开源是站在巨人的肩膀上, 能快速获取基本的技术能力。

2010年我到了阿里,那是淘宝业务发展最快的阶段,没有开源之前,那时候淘宝用的基本是商用的解决方案。在那个时间点,我们的业务能力是由开源提升的。

因为技术是为业务服务的,而我们遇到了很大的瓶颈,所以这时候我们开始拥抱开源。

2011年,我们开始用开源技术解决业务问题,成立了数据库团队,做CDN的,做存储等等。所有的产品都基于开源去构建。这个过程中大批量地拥抱开源,当时就吸引了很多人才,短时间内组建这么多团队。

从开源我们不仅吸引了人才,还吸引到很多贡献。整个团队的技术视野得到很大扩展,技术飞跃。这是阿里巴巴开源技术发展最快的一段时间。

回馈开源

褚霸:阿里开源四部曲,从拥抱到回报

第二阶段 ,我们拥抱开源后增加了业务容量,最重要的是我们有业务产品。业务产品非常复杂,这有助于锤炼我们的软件和技术。我们开始大规模为社区贡献补丁、特性。举个例子,我们用MySQL代替原来的Oracle数据库。当时MySQL有三个社区,我们都分别贡献了很多补丁和代码。

然后,我们也贡献了很多包括业务层面的经验、产品、博客、案例手册等。代码是一个方面,我认为开源社区要做得好,后面的最佳实践、案例是更重要的。那时候MySQL的国内社区变得非常火,因为大家看见了成功案例,都去跟进。因为看见了前人走的路,后面的发展就会更顺利些。

我们团队成员有的成为项目的Committer,会把社区没做到的特性推进去,更多去参与社区事务。

我们还建立了MySQL用户组,去培养MySQL人才。现在中国在MySQL的积累是非常深的,除了代码还有案例、有人才。有了人才后面的发展就会很自然地延伸过去。

这个过程中阿里巴巴贡献了很多开源项目,大家可以看见的,像Tengine就是基于社区Nginx版本的发布版,相信很多大的互联网公司都在用它的发布版。其他的开源项目,比如Jstorm等阿里巴巴开源项目在业界应用也非常普遍。

褚霸:阿里开源四部曲,从拥抱到回报

阿里部分开源项目

融合开源

褚霸:阿里开源四部曲,从拥抱到回报

走到第三步融合的时候,我们从一开始服务电商拥抱开源,到现在做云计算,我们开始输出了。这时候发生了更大的变化,因为做云计算以后需要的不仅是单个产品项目,用户需要的是一整个解决方案,比如说数据库,在Top20的数据库中用户需要的不只是一种,到今天Top20我们都基本覆盖了。并且用户使用数据库的过程中有很多短板,我们会帮用户填这个短板。比如原来独立的数据库中间,MySQL打包没有解决方案。我们会帮他做这个解决方案,让他顺利成长。

在这个层面,我们做了大量的事,整合产品,让产品的使用变得非常简单。这是跟社区融合的过程。比如说Hadoop,它原本支持亚马逊S3的,我们在它的开源生态底层加入阿里云的OSS;再比如Docker,用户在阿里云上创建Docker有很多不方便的地方,我们把它打通之后用户很容易就能在阿里云的虚拟机上创建Docker。事实上我们帮社区做了很多这种补短板的事情,看似很小但是事情变得方便了。

回报开源

褚霸:阿里开源四部曲,从拥抱到回报

第四个阶段,我们会跟学术界合作。比如MongoDB支持的地理位置定位功能,应用很广泛。但该功能用CPU算得很慢,我们就说用GPU去算。我们跟学术界合作然后把研究成果放在MongoDB里面,开源出去跟社区分享成果。

另外是和社区一起建立崭新领域。过去没有人做的事情,我们跟社区一起去完善,现在很容易得到一些服务。

并且我们会有产品级的开源。我们觉得是非常有价值的东西,看不清方向的时候就会开源出去,让整个社区一起参与建设。

最后一点,开源是非常重要的,需要从公司层面去决策。就像生孩子容易养孩子难,需要大量人力财力的投入。所以我们会从公司层面投入,来保证开源业务的连贯性,让社区更好。

以上就是阿里巴巴开源经历的四个阶段。

更多深度技术内容,请关注云栖社区微信公众号:yunqiinsight。

相关推荐