APP下载

腾讯披露开源协同成果

2020-08-10路通

计算机与网络 2020年6期
关键词:代码开源协作

路通

2020年3月9日,腾讯公司正式对外发布了《腾讯研发大数据报告》。在这份报告中,腾讯披露了2019年公司在产品及技术研发方面的重要数据,这也是腾讯自技术委员会成立以来第一次主动对外披露研发相关大数据,是腾讯对自身技术研发层面的一次阶段性总结。

该报告是由腾讯旗下敏捷研发协作平台TAPD、腾讯代码托管平台工蜂与腾讯集成交付系统腾讯CI联合出品,这3款平台支撑了腾讯几乎全量业务的研发全流程。

报告显示,腾讯在研发投入上持续加码。2019年,腾讯研发人员占比高达66 %,在中国诸多科技公司中位居前列。同时,腾讯2019年新增研发项目超过3 500个。随着腾讯全面拥抱产业互联网的战略推进,2019年To B项目数量比2018年增长了77 %。

在代码数量上,2019年腾讯新增代码行数高达12.9亿,相比2018年增长了30 %。

在研发效能方面,腾讯同样表现亮眼。自2006年起,腾讯就开始推动研发模式的敏捷进化,在长期的敏捷研发实践中,腾讯开发人员构建了腾讯敏捷协作平台TAPD和腾讯工蜂这两大工具,可实现对用户需求的快速响应。

TAPD提供产品研发全生命周期解决方案,支持敏捷需求规划、迭代计划跟踪、测试与质量保证、持续构建交付、研发效能度量及研发知识沉淀等全过程研发实践,助力研发团队敏捷高效协作与高质量交付。2017年TAPD对外开放,腾讯将宝贵的研发模式、实踐及工具对外输出,助力企业提升研发效能,目前已服务数10万家企业。

而腾讯工蜂是腾讯历时4年打造的分布式企业代码管理协作解决方案。具备代码检视、分支管理、会话式开发、集成定制、审查和监控等企业级研发管理系统特性,助力企业贯穿研发流程,让开发和研发管理更加敏捷高效。值得一提的是,与腾讯TAPD一样,腾讯工蜂也已经对外开放使用。

数据显示,腾讯60 %的项目团队规模在20人以下,47.8 %的项目迭代周期在1周之内,平均每天完成用户需求3 802个,28 %的需求可以在1天内得到响应。另外在Bug处理方面,46 %的Bug在1天内得到解决,82 %的Bug在1周内得到解决。

在研发的持续交付方面,腾讯平均每周构建次数达80万次,项目年均产物大小600 G,年均交付次数3 000次,推动修复代码Bug和安全漏洞14万个,编译加速累计节省编译耗时1.9万个小时。

随着腾讯云计算和大数据相关业务的迅速发展,Go语言首次跻身腾讯编程语言排名TOP5;整个2019年,腾讯内部使用最多的5种编程语言分别是:C++,JavaScript,Go,Java,Python。

在技术管理人员的研发参与度上,腾讯保持着强大的活力。腾讯74 %的技术Leader仍在持续输出代码,2019全年,平均每人输出代码3万行,参与140次代码评审;38 %的12级及以上技术专家潜心编码,平均每人输出代码3.3万行,参与155次代码评审。

开放协作,腾讯技术大变身

对于腾讯来说,上述成果的取得,离不开腾讯2019年对优化技术研发环境、提升研发效能的重视。

2019年1月4日,腾讯技术委员会正式成立,由腾讯高级执行副总裁、技术工程事业群总裁卢山和腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生两名腾讯总办成员亲自牵头,下设“开源协同”和“自研上云”2个项目组和对外开源管理办公室,以此来促进内部代码的开放共享和协同共建,在内部开源基础上加码对外开源,并推动业务在云上全面整合。

在开源协同理念提出之后,腾讯从各个事业群梳理出了一些相对基础性的技术版块,率先进行了开源协同的实践,其中腾讯CI就是一个较为典型的例子。腾讯CI Oteam是腾讯内部的一个跨团队虚拟组织,由互动娱乐事业群(IEG)的蓝鲸团队牵头,组织相关团队和个人共同进行腾讯统一的持续集成交付系统———腾讯CI的开发建设及运营,旨在减少重复劳动、提升研发效能。

经过一年时间,腾讯在内部的代码开放和技术协同方面已经取得一定进展。

目前,腾讯CI的Oteam中,共有来自全腾讯的303名开发人员提交了自己开发的插件,用于对接各个事业群在CI流程中会用到的内部系统。

报告数据也显示,在技术协同方面,腾讯内部参与最多跨团队研发项目的人,为24个协作项目贡献了力量;涉及部门最多的研发协作项目,凝聚了12个部门的智慧;跨团队协作参与度最高的部门,加入了113个研发协作项目的建设。

在过去一年,通过开源协同,腾讯各个事业群最底层和共性的技术能力进行梳理和拉通,建立筛选机制,推动优质开源协同项目对外开源。改变了原来“自下而上”纯自发开源的路径,采取“自下而上”与“自上而下”相结合,自发与自觉相结合的开源新模式。

在内部开源方面,腾讯内部整体代码开源率由2019年年初的20 %增长至年底的70 %,代码协同共建已成为一种趋势。其中,2019年腾讯内部新增协同代码库超过4 400个,Q4较Q1增长了56.3 %。其中包含53个公司内部重点开源项目(涉及400多个代码库)在进行协同。

在外部开源方面,截至2019年年底,腾讯在Github自主开源项目数为92个,贡献者超过1 000个,获得Star数超过27万,在Github全球公司贡献榜上的排名稳居前十。

2019年全年,腾讯开源超过22个项目,包括TubeMQ亿万级分布式消息中间件、TencentOS tiny自研轻量级物联网操作系统、TKE腾讯云容器服务和TBase企业级分布式HTTP数据库管理系统都在2019年接连开源。

2019年,腾讯和开源社区的合作也发展到了新的阶段,Angel项目完成了从单一的模型训练平台到全栈机器学习平台的技术演进,成功从LF AI基金会毕业;TARS项目成为开源社区仅有支持5种开发语言并有完善服务治理和运营平台的微服务开发框架。此外,腾讯还作为创始会员,加入了LF Edge基金会,和业界合作伙伴一起推动边缘计算软硬件开源技术的发展。

开源协同,腾讯新代码文化形成

2019年,腾讯不仅通过开源协同实现了技术研发环境的优化,更是形成了一种全新的代码文化。

實际上,腾讯代码文化的诞生,可以追溯到2013年;当时,在公司“开放”战略升级的背景下,腾讯提出了代码的“开放、复用和合力开发”。以往腾讯的开源文化更多是自下而上的,而在2019年腾讯技术委员会成立后,自上而下的开源协同机制建立,以“开源、协同和云上生长”为核心的腾讯新代码文化快速成长。

2019年1月,在腾讯技术委员会的指导下,腾讯技术社区“码客”和“技术图谱”上线。在近一年的时间内,每个月有超过

80 %的技术人员访问码客社区和技术图谱进行技术讨论和协同,社区上提问数量近3 000个,回答与评论达15万次,94 %的技术难题都得到了回复。

2019年11月11日,腾讯在成立21周年之际宣布企业文化3.0,其中将“合作”升级为“协作”。这一改变实际上具有明确的价值导向,就是要“开放协同,持续进化”———从某种意义上,这也充分契合了腾讯内部的技术和代码文化:对内要大家放大格局、打开边界,以开源的心态与各组织协同,用符合互联网思维的方法和工具进行协作。

值得一提的是,腾讯内部的技术文化,也充分体现在腾讯对2020年新冠疫情的抗击之中。

报告显示,在2020年新冠肺炎疫情期间,腾讯迅速出击,在智慧教育、智慧医疗、远程办公和智慧政务等各个领域推出相应服务,腾讯会议、企业微信、TAPD、腾讯工蜂和腾讯乐享等多款To B产品全面升级功能、免费开放,支撑抗击新冠肺炎疫情工作。

春节期间,腾讯有8 000多名研发人员通过远程研发协作方式投入抗疫战斗,为了给社会提供更好的服务,各领域产品及时响应、快速迭代,共提交代码14.7万次,52 %的需求在1小时内就能得到响应。各领域产品全力抗疫的背后,是腾讯研发能力多年的沉淀,也是腾讯新代码文化的外在彰显。

而在未来,腾讯希望打造出更加优秀的代码文化。正如卢山此前在腾讯内部所言:希望今后的新员工会觉得,在腾讯做开发是很幸福的事情,能学到很多东西,能看到很多优秀的代码。人们不仅谈论硅谷文化,也谈论我们中国开发人员的代码文化。

猜你喜欢

代码开源协作
创新协作的四个阶段
校园武术“学、练、赛”一体化实践探索
五毛钱能买多少头牛
2019(第十四届)开源中国开源世界
2019开源杰出贡献奖
粤桂扶贫协作成效显著 天等脱贫号角铿锵嘹亮
广西壮族自治区副主席方春明在2018年粤桂扶贫协作工作推进会上的讲话(摘录)
协作
神秘的代码
一周机构净增(减)仓股前20名