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

简介: 6月24日至25日,“第十一届开源中国开源世界高峰论坛”在北京成功召开。阿里云研究员余锋 (花名:褚霸)受邀参加了本次活动,褚霸代表阿里巴巴集团为大家介绍了阿里巴巴与开源的故事。阿里巴巴与开源的关系,褚霸总结为四个阶段,分别是拥抱开源、回馈开源、融合开源和回报开源四个阶段。

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里面,开源出去跟社区分享成果。

 

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

 

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

 

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

 

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

 

相关资料


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Kubernetes Java Docker
【K8S系列】Pod重启策略及重启可能原因
【K8S系列】Pod重启策略及重启可能原因
1984 0
|
12月前
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
339 58
|
监控 安全 Linux
centos7安全防护配置
centos7安全防护配置
266 6
|
机器学习/深度学习 人工智能 搜索推荐
智能教育
【5月更文挑战第18天】智能教育
702 2
|
机器学习/深度学习 自然语言处理
解析GPT-3、GPT-4和ChatGPT关系-迈向自然语言处理的新高度“
解析GPT-3、GPT-4和ChatGPT关系-迈向自然语言处理的新高度“
638 1
|
弹性计算 关系型数据库 Apache
使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问
使用阿里云ECS和RDS部署WordPress,搭建个人博客并使用域名访问,积累了宝贵的经验。这个过程不仅让我更加了解了云计算和服务器管理,还提升了我解决问题的能力。我将继续努力改进博客,分享我的思考和经验,希望能够对其他人有所帮助!
807 7
使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问
|
Web App开发 数据安全/隐私保护
文献管理Zotero使用方法介绍
本文介绍文献管理软件Zotero的基础使用方法,包括软件下载与安装、文献与PDF导入、在Word中插入参考文献等的方法~
923 1
文献管理Zotero使用方法介绍
蚂蚁金服褚霸:敲最牛的代码,骑最野的车
他说,一个人变成熟的标志是要更加包容,接纳这个世界除了有黑有白,还要有灰的过渡。
4791 0
蚂蚁金服褚霸:敲最牛的代码,骑最野的车
|
C语言 芯片
51单片机入门 第一篇:LED灯
51单片机入门 第一篇:LED灯
680 0