前言
2018年2月9日,Apache 基金会的邮件列表上发起了讨论是否接纳阿里的 Dubbo 项目进入 Apache 孵化器的投票。
2018年2月15日,邮件列表显示,Dubbo 获得了 14 张赞成票,在无弃权和反对票的情况下,正式通过投票,顺利成为 Apache 基金会孵化项目。
(本文同步发布于:http://www.52im.net/article-288-1.html)
Apache开源孵化器
Apache 的顶级项目往往都需要经过孵化器孵化,满足一系列质量要求之后才可毕业。2016 年 12 月 15 日,阿里巴巴曾宣布将移动开源项目 Weex 捐赠给 Apache 基金会开始孵化,目前尚未毕业。Dubbo 是否能正式成为 Apache 的顶级项目,还有一段路要走。社区的加入,能否让 Dubbo 的实用性再上一层楼,我们拭目以待。
关于Dubbo
说起 Dubbo 框架,可能很多后端开发者都有所了解,它是国内比较早的、影响较大的开源项目,包括阿里巴巴、京东、当当网、去哪儿网、网易考拉、微店等电商平台都有其成功应用案例。
Dubbo 于 2011 年开源,之后就迅速成为了国内该类开源项目的佼佼者。可以想象,2011 年时,优秀的、可在生产环境使用的 RPC 框架很少,Dubbo 的出现迅速给人眼前一亮的感觉,而同时它又有阿里巴巴背书,所以也迅速收到了开发者的亲睐。Dubbo 目前在 GitHub 上有超过 16000 个 star 和超过 12000 的 fork 数,绝对是国内影响力最大的开源项目之一。
但奇怪的是,在 2014 年 10 月 30 日发布 2.4.11 版本后,Dubbo 突然停止更新,当时社区一片哗然(其实是在 2012 年 10 月之后就基本停止了重要升级,改为阶段性维护)。具体原因现在也不得而知,知乎上也有一些讨论,包括团队调整、内部主推 HSF 等。不过可以确认的是,在 4 年前,国内企业对于开源的重视程度都远远没有今天高。
而在官方停止更新 Dubbo 之后,当当网(Dubbox)、网易考拉(Dubbok)都有维护自己单独的分支,这也可以从另外一个侧面证明 Dubbo 确实应用到了这些企业的重点业务,并且规模不小。
随着阿里巴巴对于开源的逐步重视,2017 年 9 月 7 日,Dubbo 悄悄的在 GitHub 发布了 2.5.4 版本。随后,没过多久,又迅速发布了 2.5.5、2.5.6、2.5.7 等版本。在 10 月举行的云栖大会上,阿里宣布 Dubbo 被列入集团重点维护开源项目,这也就意味着 Dubbo 起死回生,开始重新进入快车道。
阿里巴巴为何重启Dubbo
而对于为什么要重新启动维护 Dubbo,以及 Dubbo 和 HSF 的关系,Dubbo 未来的计划,当时聊聊架构也采访了 Dubbo 负责人、阿里巴巴中间件高级技术专家罗毅,感兴趣的读者可以点击阅读原文《阿里重启维护Dubbo了》。
这次采访中,令我印象深刻的是罗毅提到了 Dubbo 的愿景,他说开源就阿里巴巴集团在技术层面赋能的重要领域,阿里巴巴中间件团队今后不仅要聆听社区的声音,及时修复问题,及时合并优秀的 pull request,还会力争将 Dubbo 打造成有国际影响力的 RPC 框架。国际影响力,让人一下子沸腾。
而对于 Dubbo 和 Spring Cloud 的区别,罗毅也做了总结,一针见血:
需要强调的是 Dubbo 未来的定位并不是要成为一个微服务的全面解决方案(Spring Cloud 是),而是专注在 RPC 领域,成为微服务生态体系中的一个重要组件。至于大家关注的微服务化衍生出的服务治理需求,我们会在 Dubbo 积极适配开源解决方案,甚至启动独立的开源项目予以支持。
Dubbo的未来
这一次,Dubbo 进入 Apache 孵化器。也就是说,Dubbo 将不再是阿里巴巴的 Dubbo,而是开源社区的,它未来的走向以及规则将会像其他的 Apache 项目一样。
不过,从孵化项目到正式的开源项目,Dubbo 其实还有一段路要走。知乎上,昵称为二货的用户对这一流程做了详细解释,以下为摘录:
Apache 项目有多个阶段,第一个阶段是进入孵化器。在进入孵化器前会有诸多审核流程,通过后进入 Apache Incubator。此时成员需要签一个协议,完成后获赠 Apache 账户(Apache 邮箱可以免费使用 intellij 哦,这也是 jetbrains 对开源贡献者的鼓励呐~)。
在这个阶段会有 mentor 进行社区化指导,包括 PR 流程,包括 license 检查,包括 mail list 的回复,等等等。除了项目保持活跃外,还需要有外部 commiter。当项目在孵化器中持续一段时间满足毕业条件后便可以走正式毕业流程了。
毕业后,项目移出 incubator,成为正式开源项目。项目更新流程不会有什么变化。另一种情况是项目失活,缺少社区支持与维护。那么就会被移出(不多见)。这里需要注意的是,社区活跃度是一个培养的过程。并不是说你一来就社区全是人的,这也正是孵化阶段的目的。
最后,祝 Dubbo 能有一个更好的未来,就像其使命一样,成为有国际视野的顶级开源项目。同时,也祝各位开发者新年快乐,狗年旺旺旺!
(本文同步发布于:http://www.52im.net/article-288-1.html)