八年耕耘,腾讯在开源之路上越走越稳

BackendDev
• 阅读 7188

在昨天进行的 2019Techo 开发者大会上,腾讯公司副总裁、腾讯云总裁邱跃鹏表示,技术的发展离不开广大开发者的推动,而腾讯云为帮助开发者们创造更多价值,未来将坚持以「开源、共享、创新」为理念,与开发者们共同探索、建设全新的技术生态。

腾讯云希望通过这些理念,向开发者们表达友好、开放的态度,鼓励开发者与开发者之间保持共享、合作的状态,并以此来建立一个以创新为驱动的开发者生态体系。

八年耕耘,腾讯在开源之路上越走越稳

开源之路始于危机

实际上,腾讯倡导开源由来已久,但其对开源态度的变化则是一个循序渐进的过程。早在 2010 年末的「3Q大战」结束之后,腾讯内部就开始意识到开放对于产品与技术创新的重要性。

在此之前,腾讯内部的技术研发虽然已经有了一定的积累,但也面临着愈发严重的技术孤岛、重复建设、缺乏融合的问题,技术支撑体系的不统一,也使得技术团队之间的产生了不少隔阂。而这些问题在外部所产生的最直观的体现,就是没人能感受到腾讯的真实技术实力。

所以从 2011 年开始,腾讯在技术研发上逐渐从独立封闭转向内部的共享、复用、开源、协同。腾讯开始鼓励工程师多交流,多共享,实现对内开源,甚至是对外开源。最初,这种自下而上非强制性的,由工程师自愿参与支持的开源模式,确实让腾讯在技术研发与项目运营的成本上有了一定的改善。

在 2012 年至 2014 年期间,腾讯开始尝试推出对外的开源项目,并着手完善对外开源的具体流程,加强推动开源的落地实施。2015 年,腾讯成立开源联盟,负责管理、协助开源相关的工作。

八年耕耘,腾讯在开源之路上越走越稳

到了 2016 年、2017年,腾讯开始显著提高其对外开源的速度,并在 GitHub 上公开了很多自研的优质项目。腾讯随着业务体量的不断扩大,其战略也在发生着转变。腾讯的目标,已经变成了整个开发者技术服务生态,但腾讯不可能只靠自身的能力去覆盖每一项开发者服务,而开源则是一个可以让更多合作伙伴与开发者加入到生态建设行列中的好方法。

但很快,「自下而上」所造成瓶颈出现了。自下而上的模式通常比较适合仅涉及少数团队、资源等体量较小的开源项目,想要推动涉及范围大、体量很大的开源项目则比较困难。

为解决这一问题,腾讯终于在 2018 年第三次大规模组织架构调整之后,由腾讯高级执行副总裁、技术工程事业群总裁卢山,与腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生两人牵头,正式成立了腾讯技术委员会以及腾讯开源管理办公室,分别从对内、对外两个方向上固化开源管理机制,建立开源生态。这也成为了腾讯在开源上的一个非常重要的转折点。

腾讯开始以自上而下的开源协同机制推动技术研发工作,很多与核心业务连系紧密的关键开源项目得以顺利推进,项目中技术创新的周期被大大缩短。

全面开放协作共赢

八年耕耘,腾讯在开源之路上越走越稳

在今年 6 月进行的云原生技术大会上,腾讯首次对外公布了整体的开源战略路线图。腾讯开源路线将通过「三步走」计划,持续深化已有的技术能力:

第一步是内部开源协同。在内部先梳理项目,通过部门小团队或跨部门大团队协同推进,集中优势能力与资源快速实现技术突破。然后,建立筛选机制将代码开放出来。

第二步是外部代码开放。不断优化代码结构,借助来自社区的代码贡献者资源的帮助,构建技术影响力。

第三步是社区开放治理。进行大规模技术推广及应用,构建开发者生态体系,培养社区领袖与领导力,优化研发资源配置。

「三步走」计划实际是同步推进,类似于开发中迭代的概念,腾讯已在第一步中投入了较多资源,而在第二、三步上也已有了不少产出。

腾讯技术委员会对外开源管理办公室执行总监许勇在此前接受媒体采访时表示,腾讯拥抱开源,是随着腾讯自身战略的转变与发展应运而生的。腾讯依靠开放合作的形式,在内部开源与外部开源的共同支持下,希望与开发者、合作伙伴一起建立共享、共赢的生态环境。

今年 8 月,腾讯董事会主席、首席执行官马化腾,在 2019 中国国际智能产业博览会上首次对外谈到腾讯开源时提到,腾讯将通过内外部开放源代码等方式,积极参与到全球科技共同体的建设中。

如今,随着腾讯开源联盟主席、腾讯开源管理办公室委员堵俊平在 2019Techo 开发者大会上正式宣布开源分布式 HTAP 数据库 TBase 与企业级容器平台 TKEStack 两个重要项目,腾讯在开源之路上又再次迈入了新的阶段。

据腾讯开源官网以及 GitHub 上的数据显示,腾讯目前已在 GitHub 上开放了 89 个项目,拥有 1073 名贡献者,累计获得了 259812 个 Star 以及 53524 次 Fork,至少有 7 个项目得到了超过 1 万个 Star。

八年耕耘,腾讯在开源之路上越走越稳

优秀项目层出不穷

腾讯在推进开源事业的过程中,向社区贡献了很多优秀的项目。而这些开源项目的出现,有效地推动了不同应用场景下的技术变革,同时也引导着开源社区更高效地针对某些技术难点进行深入探讨,并解决实际的问题。以下将列举部分比较受关注的腾讯开源项目。

1、WeUI(23.5k Stars)

WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、icon等各式元素。

2、WePY(19.2k Stars)

WePY 是一款让小程序支持组件化开发的框架,可通过预编译的手段让开发者能够按照个人喜爱的开发风格来进行开发。WePY 借鉴了一些优化前端工具及框架的设计理念与思路,其框架的细节优化,以及Promise、Async Functions 的引入都是为了能让小程序的开发变得更简单、高效。

3、Tinker(14.4k Stars)

Tinker 是微信官方的安卓热补丁解决方案,也是最早的腾讯开源项目。Tinker 支持动态下发代码、So库及资源,让应用无需重新安装就可实现更新。

市面上的热补丁方案有很多,但大都存在着无法解决的问题,这实际也是 Tinker 被开发出来的原因之一。

八年耕耘,腾讯在开源之路上越走越稳

4、TubeMQ(1.3k Stars)

腾讯在今年 9 月举行的 ApacheCon 上宣布 TubeMQ 开源,并在2019Techo 开发者大会上进行了正式发布。

TubeMQ 是腾讯在 2013 年自主研发的分布式消息中间件系统,可支持海量数据的高性能存储与传输,吞吐率高,延迟可低至 5 毫秒。经过近 7 年时间上万亿的数据沉淀,目前每天支撑的数据量超过了 30 万亿条。

5、Tencent Kona(63 Stars)

Tencent Kona JDK 于 2019Techo 开发者大会举行前夕宣布开源,并在大会上进行了正式发布。

Kona JDK 是基于 OpenJDK8 进行了具有针对性地优化后而开发,并由腾讯提供技术维护、优化及安全保障的 JDK 产品。Kona JDK 引入了高版本 JDK 特性,能够帮助用户无感知地使用共享核心类信息以提高启动速度,在云场景下 JVM 的启动速度最高能够提升 40% 左右。

为了增强线上诊断能力,Kona JDK 还引入了 JFR 以及活页图等功能,可帮助 Java 用户获得从系统到应用的 Profiling 信息,增强运行时的诊断以及热点分析与指导优化能力。目前,Kona JDK 已在腾讯上万台服务结点上进行了大规模部署,为云上 Java 场景提供服务。

6、TBase(78 Stars)

TBase 在 2019Techo 开发者大会上进行了正式发布,它是腾讯基于 PostgreSQL 开发的分布式 HTAP 数据库,其在兼容 SQL 标准,提供完整的分布式事务能力的同时,还保证了金融级数据容灾能力,此外还在数据安全、分布式执行器优化以及读写分离等方面也做了很多工作。TBase 不仅在腾讯内部得到了大规模应用,同时也在HTAP、地理信息系统,以及实时高并发等场景被很多外部客户所采用,目前线上运行超过 200 个集群实例,节点规模突破 1000,单日请求量超过 10 亿次。

7、TKEStack

TKEStack 在 2019Techo 开发者大会上进行了正式发布,它是腾讯推出的企业级容器平台。腾讯从 2009 年开始开发容器编排平台,到 2013 年已经在内部维护了上万台服务器,支撑着很多业务的平稳运行。当 Docker 和 Kubernetes 开源并成为事实标准之后,腾讯将内部平台切换到了这两个项目上,并在公有云和私有云上为大量客户提供着服务。这些开发经验和改进工作最终被整合在了一起,形成了 TKEStack。

开源革命任重道远

据 Gartner 的调查报告显示,99% 的企业在其 IT 系统中使用了开源软件。来自 GitHub 2019 年度报告上的数据显示,中国已经成为 GitHub 上仅次于美国,贡献量排名第二的国家。而腾讯,从开源项目的数据量上看,在国内企业中排在阿里巴巴与华为之后,位列第三。

腾讯目前已加入 Linux、Apache 等 9 大开源基金会,成为最高级别会员,并持续地向这些开源基金会捐赠优秀的开源项目。在贡献项目的同时,腾讯也在参与建设已有的开源项目。

在腾讯的开源理念与众多项目的背后,其实是对代码文化的执着追求。腾讯副总裁姚星曾经在腾讯内部对这种代码文化做过解释,他认为开源是手段而协同是结果。腾讯一直在做的,就是想办法在「去中心化」与「重复造轮子」之间找到平衡点。而开源协同就是有效的解决方案之一,腾讯努力将技术理念沉淀为一种文化,再通过文化解决实际问题。

不论是推出开源激励计划,鼓励开发者积极参与开源项目的开发,还是举办 2019Techo 开发者大会,为开发者提供了解的最新趋势与前沿概念的机会,腾讯不仅在以发起者、贡献者的身份参与开源,还在鼓励、促进更多的开发者加入到开源事业中,通过这种包容开放的态度,腾讯将得以更快地将开发者、社区、企业紧密维系在一起,同时其开发者生态体系的建设也将持续得到完善。

点赞
收藏
评论区
推荐文章
Effective HPA:预测未来的弹性伸缩产品
作者胡启明,腾讯云专家工程师,专注Kubernetes、降本增效等云原生领域,Crane核心开发工程师,现负责成本优化开源项目Crane开源治理和弹性能力落地工作。余宇飞,腾讯云专家工程师,专注云原生可观测性、成本优化等领域,Crane核心开发者,现负责Crane资源预测、推荐落地、运营平台建设等相关工作。田奇,腾讯高级工程师,专注分布式资源管
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Stella981 Stella981
3年前
Cocos Creator v2.3.4 正式接入云开发CloudBase
在激烈的市场环境下,很多游戏都有对云服务的需求。2019年底,Cocos与腾讯云正式宣布达成战略合作,双方聚势共赢,共同探索提升游戏开发工作流的效率,把游戏开发门槛降到极致。今日腾讯云的游戏相关服务已正式接入CocosCreator,各位开发者可以通过CocosService服务面板,一键开通腾讯云云开发CloudBa
Easter79 Easter79
3年前
TVP两周年:携手同行,让未来可见
!(https://oscimg.oschina.net/oscnet/8349ab8d9e8b4061a87a6343c5787c6e.png)TVP两周年2018年12月15日,在北京的腾讯云社区开发者大会上,作为腾讯云构建开发者生态的重要战略,TVP计划正式发布。2020年12月15日,不知不觉,腾讯云
Stella981 Stella981
3年前
Cocos Creator v2.3.4 正式接入腾讯云服务
在激烈的市场环境下,很多游戏都有对云服务的需求。2019年底,Cocos与腾讯云正式宣布达成战略合作,双方聚势共赢,共同探索提升游戏开发工作流的效率,把游戏开发门槛降到极致。今日腾讯云的游戏相关服务已正式接入CocosCreator,各位开发者可以通过CocosService服务面板,一键开通腾讯云服务。
腾讯发布 K8s 多集群管理开源项目 Clusternet
11月4日,在腾讯数字生态大会上,腾讯宣布了云原生领域一项重磅开源进展——K8s多集群管理项目Clusternet正式开源。Clusternet由腾讯联合多点生活、QQ音乐、富途证券、微众银行、酷狗音乐、三七互娱等共同发起,专注K8s多集群管理和应用治理方向,希望让管理多集群就像上网一样简单。作为未来分布式云的技术基石,Clusternet通
Stella981 Stella981
3年前
AnalyticDB for MySQL:PB级云数仓核心技术和场景解析
2019阿里云峰会·上海开发者大会于7月24日盛大开幕,本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货,共同探讨前沿科技趋势。本文整理自数据库专场中阿里云智能高级技术专家南仙的精彩演讲,本文为分享了阿里云PB级云数据仓库AnalyticDBforMySQL的核心技术以及其应用场景。数据
Easter79 Easter79
3年前
Tim Wagner:Serverless 是云计算的第三次浪潮
受腾讯云Serverless团队之邀,TimWagner在Techo开发者大会上为中国开发者发表了Keynote演讲,演讲中Tim发表了对Serverless技术的最新洞见和趋势解读。TimWagner是AWSLambda的创始人,作为业界最早的Serverless实践者,他无愧于Serverless教父之位。!(
Wesley13 Wesley13
3年前
TARS与中国信通院制定微服务行业标准
在开源领域,腾讯可以说是一支低调务实的队伍。自2010年以后,腾讯开始全面拥抱“开放”战略,技术研发也在这种环境下,开始向共享、复用和开源迈进。截止到2018年1月,正式发布的腾讯对外开源项目共计49个,开源项目累计在Github获得了11万Star数,在国内和国际社区收获了理解与认可。!(https://static.oschina.net/upl
魔乐开发者社区正式上线,AI开发者快来撩!
近日,由天翼云与华为联合打造的魔乐(Modelers)开发者社区,在天翼云中国行·贵州站活动现场上线发布。依托全场景开源模型资源、易用的模型开发套件,以及强大的共建共享生态系统等优势,社区将使能开发者高效进行AI应用创新,促进国产AI生态繁荣!目前,社区已面向广大开发者正式开放注册。
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
BackendDev
BackendDev
Lv1
等待着大雪的纷纷扬扬,把每一个梦筑成洁白的巢。
文章
4
粉丝
0
获赞
0