腾讯的开源策略
极客时间编辑部
讲述:杜力大小:827.72K时长:03:32
在今年的腾讯“云 + 未来”峰会上,腾讯研发管理部总监许勇首次对外公开了腾讯的开源理念。许勇坦言道,曾经的腾讯确实比较保守,喜欢关起门来自己做事情,内部的技术研发也是如此,各业务和产品都会重复开发很多类似的功能,比如 5~6 个不同版本的二维码扫描,7~8 个功能类似的热补丁组件等等。
但是随着 2010 年 3Q 大战的爆发,腾讯开始反思和警醒,紧接着就确定了破局的“开放”战略,同期,Google 的一批工程师加入腾讯做搜索,虽然搜索没有做起来,但他们带来的 Google 的工程师文化却得到了腾讯的认同,正是在这种大环境和背景下,腾讯的技术研发开始由封闭向共享,复用和开源迈进。
腾讯从 2011 年开始,逐步在内部提倡以公共组件的形式共享和复用代码,然后在 2012 年正式对外发布第一个开源项目 BLADE。截止到 2016 年底,他们正式发布的开源项目已经有 36 个。在这 6 年的时间里,腾讯确立了自己的开源策略和开源流程,并且成立了腾讯开源联盟,正式走向了开源开放之路。
然而腾讯开源的起步还是比较艰难的,即使是先从内部开源做起也是如此。公司是希望通过开源,减少内部消耗,更多的复用同事的工作成果,这样不仅能提高代码质量和效率,还可以为外部开源积累经验。
然而腾讯的研发模式是业务和产品驱动,这里会存在三个方面的问题。第一,工程师会先去考虑能更快的满足业务需求,因此代码的实现与业务耦合性很强,这样好处就是对业务和产品侧的反应会很快、很到位,但很难复用到别的类似业务和场景中去,解耦的难度大。第二,就是每个大公司都会遇到的 KPI 问题,做开源不是 KPI 的内容,那么时间投入和对工程师的重要性方面就会弱很多。第三,就是部门墙,有些业务甚至存在内部竞争的问题,比如最初做类似微信类产品的团队就有 3~4 个,竞争很激烈,这样去开源代码的阻力更大。
对应这三个难题,腾讯是这样解决的。首先,现有代码开源比较困难,但是如果从分享一段代码片段开始呢?于是微码这种低门槛的代码分享方式就应运而生了,这让工程师很快感受到了用代码交流的魅力,吸引和培养了内部开源社区的第一批用户,至今,微码分享的活跃度还是非常可观。
其次,突破 KPI 的难题,如果把开源当做是一个好玩,很酷或者是情感诉求的事儿,那么是不是能够吸引到工程师去积极参与和贡献呢?于是腾讯就通过各种各样的活动和策划来激起工程师的兴趣,比如乐高 EV3 机器人编程大赛,基于 AI 预测 2016 年欧洲杯等等活动,让工程师以码会友,同场 PK,感受到了技术社区可以很酷,很好玩。
最后,对于部门墙的问题,许勇认为当工程师对于分享和开源有了认识和实践以后,那么他们就会追求更高的技术价值和成就感。这个时候突破部门业务的局限性就会比较容易,也比较自然。另外技术社区必须靠开源项目和贡献说话,而非职级或者资历,因此腾讯保持了社区草根化的特质,社区优秀项目的评选完全由项目的客观数据、工程师的票选和一部分专家评选三者结合的总成绩来决定,这也获得了工程师的极大认可。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论