APP下载

Apache开源项目带来的变化

2019-06-20冯嘉

软件和集成电路 2019年4期
关键词:极客开发者开源

冯嘉

200多人同场竞技,经过一轮轮的答题淘汰,最终决出闯关成功的胜者。这是Apache RocketMQ Meetup现场的暖场游戏SuperCoder挑战赛。这种带有显著技术特征的游戏,不仅是工程师文化的延伸,也是Apache RocketMQ Meetup不同于其它开发者活动的地方。

RocketMQ自进入Apache基金会以来,无论是技术研发,还是社区生态,都取得了飞速发展。今天,我和大家分享三个关键词—创新、变化与社区。在我看来,这几个关键词一定意义上体现了Apache RocketMQ社区的极客文化,也是我们一直追求的、有别于国际上其它开源项目的不同之处。

创新

第一个关键词是创新。

Apache RocketMQ是在阿里巴巴“双11”的场景下沉淀出来的,是一款经过大规模生产检验的分布式消息引擎,相比于国际上同类的开源项目,我认为,它的最大特性是稳定和可靠,因此非常适合金融行业的场景。开源后,我们基于稳定可靠,做了非常多的技术升级与创新,并把应用场景从金融行业扩展到面向整个基础设施,包括云端、互联网、流计算、数据处理和AI,这是RocketMQ社区未来技术演进和创新的方向。

另一项创新体现在社区运营层面,自从RocketMQ捐献给Apache基金会后,我们便开始采用Apache Way来运营社区,随着社区理念的加深,RocketMQ也积累了自己的运营经验,并以RocketMQ Way的形式反哺给社区。

创新是开源项目能够持续发展的原动力。在产品同质化越来越严重的情况下,如何让用户选择你,并且是坚定不移的支持你,是我们一直在思考的问题。我认为,创新是其中最为关键的因素。因此,你会看到RocketMQ的新技术、新特性以及新的生态产品都会有别于传统做法,这些都是我们的工程师与用户进行不断交流讨论得来的最真实的需求与痛点。

同时,这也是我们举办Meetup的重要使命之一。我们还特意组织了一个环节,叫做“Meet with Apache RocketMQ Committers”,希望社区的专家能够近距离倾听我们客户的心声,接受来自用户的输入。

创新一方面来自客户的真实需求,另外一方面则来自学术圈。这是Apache RocketMQ社区一个重要的努力方向,也是我们团队重要的工作方向之一。比如,最近我们在跟伯克利的一些顶尖实验室进行技术交流与合作,今年即将发布的Apache RocketMQ 5.0会是一个重量级的架构演化,届时我们会提供一些新颖的特性出来。

社区变化

第二个关键词是社区变化。

在创新理念的影响下,我们看到了社区的变化,变得更开放和更包容,社区的工程师也更具工匠精神。

RocketMQ自进入Apache孵化以来,社区对内核代码等做了大量的优化,局部做了不少重构。社区最近发起的RIP(RocketMQ Improvement Proposal)改进计划,便体现了社区协作上的变化。

以前,开发者都是通过issue来提交疑似bug,同时也会将feature request提交到issue列表里。然后,我们通过issue列表来跟踪和管理feature request。但这种方式对于feature request的管理并不高效,所以我们开始把feature request的提交、跟进和管理拆分出来,以RIP项目的形式来运营,开发者使用社区的template来提交feature request,经过[DISCUSS]和[VOTE]的流程后,进入社区开发流程,即将发布的4.4.0版本里面的ACL和轨迹消息的产品特性就是源自社区的RIP。当然,还有我们最近非常火热的多语言SDK(C++、 Python、Go、NodeJs等)和Spring集成。

另外一个变化来自我们社区的组织形态。大家知道,在Java领域有非常多的标准,这些标准绝大多数是被称之为JCP这样的专家组织提出来的,但有一部分是由JUG这样的民间开发者组织发起的,为此还有一个和它匹配的专有名词。在美国被称之为DevRel,翻译过来就是开发者关系。这样的组织对社区的发展至关重要,像一个JUG的组织者就来自巴西,每次Java One基本上都会来分享她们的经验,怎么维护这个组织,为JCP贡献了哪些技术标准等。

Java语言是我个人非常喜欢的语言之一,我也特别希望亚洲范围内有这样一个JUG组织,推进Java的发展与新标准的落地。另外,我们也都看到,早期很多开源项目的发展,都是依赖于某一家或某几家企业。如,Facebook和Twitter,我认为是当时最具开源极客文化的两家公司。

今天,大家有机会聚在一起,是因为Apache软件基金会,因为背后有来自阿里巴巴、中国移动、滴滴出行、平安银行等上百家企业的真实案例与贡献支持。当然,我们也非常高兴地看到,社区在自发的组织一些线下活动,以更高的频率下沉到更多的城市,让国内更多城市的开发者也可以参与线下互动。这也是RocketMQ社区的一个巨大变化:现在有了更多的来自社区的自发组织,就像JUG这样的组织一样,后面我们也会邀请相关的同学来给大家分享社区里的一些趣闻。

最后一个变化,也是我重点想提的,人的变化。

开源是一个全球性的经济活动,在开源领域,我们有机会接触到那些受人尊敬但距离看似遥远的技术大牛。但开源为我们提供了一个途径,如果大家能够参与到社区,无论是使用开源项目,还是以contributor的身份参与社区贡献(架构演进、功能完善、体验优化和文档建设),都有机会和技术大牛一起协作,进行更多的交流。从中你会发现,不仅仅自己的技术实力发生了变化,视野格局也會有很大的提升。

以我自己为例,在毕业那会儿,JavaEE和Spring基本上是Java领域的一个技术标配,那个时候给我留下深刻印象的两个技术牛人,一个是Spring的缔造者Rod Johnson,一个是Hibernate的作者Gavin King,不管是代码,还是从他们在社区的activity来看,都有很强的极客范,对我本人的技术发展也提供了很多学习借鉴的地方。

猜你喜欢

极客开发者开源
校园武术“学、练、赛”一体化实践探索
五毛钱能买多少头牛
2019(第十四届)开源中国开源世界
2019开源杰出贡献奖
“85后”高学历男性成为APP开发新生主力军
16%游戏开发者看好VR
当极客成为潮流
每个极客都是极品
让人惊叹的极客好点子
极客们的极生活