长跑11年,腾讯开源的变与不变

CSDN云计算 CSDN云计算     2023-02-05     200

关键词:


作者 | 贾凯强

出品 | CSDN云计算(ID:CSDNcloud)

在中国,开源产业的发展就像是一个美丽的童话故事。

90年代,开源如一无所有的灰姑娘,仰望着海外梦幻般的舞会,自己却很难融入其中;而世纪初,国内开源得到了自己的水晶鞋,世界给予舞台,自当展现绝佳的舞蹈天赋,国内开源产业的发展苗头逐渐加快;如今,灰姑娘已经得到了王子的青睐,国内开源的使用量已经跻身全球顶尖。

不仅如此,国内开源产业在生态、贡献以及参与度等各个方面都在奋起直追,国内在政策层面给予了开源更多的帮助,大企业不断的为开源输送技术和人才。近日GitHub发布2021年度报告:在GitHub 全球7300万的开发者中,中国开发者无论是数量还是开源项目的贡献上,均已名列第二。

腾讯开源是世界开源舞台上不可或缺的重要力量。在今年11月3日和4日于武汉举办的腾讯数字生态大会中,腾讯公司副总裁王巨宏对外首次披露了腾讯在5大技术领域的开源新进展,围绕项目开源、社区治理和生态共建三个方向,腾讯在过去的十余年中取得了令人瞩目的成绩。为了进一步了解时代开源发展趋势,腾讯开源的具体发展,在大会的现场,CSDN采访了王巨宏并听她讲述了腾讯开源与国内开源发展的那些故事。

开源多元化,国产开源的变局与发展

开源是软件产业的一大创举,也是软件理念的一大发展。以往的硬件时代,所有产品都是一种资源,用则少,不用则不变。而软件则在理念上存在巨大差别,软件的价值在于使用,使用的人数越多,软件的生态就越健康,软件本身就越有价值。开源社区便是在这种情况生根发芽,开源产业也随之不断壮大。

开源的价值有很多,一套完整的生态体系可以帮助全球开发者像一个大家庭一样聚集在一起。王巨宏介绍了开源生态的三大发展阶段,在第一个阶段,用户参与开源的理由是使用的需求,当项目的特性不能满足使用需要时,就需要参与进社区为项目打patch,从使用开源软件到解决开源软件的问题;第二阶段是基于整个开源模式进行开发,这一阶段开发者会更多的在开源社区进行编程,不仅仅在打造一款产品,也是在以工作之外的技术身份进行自我技术的提升;第三阶段会让开发者的内心获得更多的自豪,在开源社区得到更多荣誉,在解决问题之外还能达到自我价值的实现。

从解决问题,到完成自我实现,三个阶段对于开发者在开源项目建设过程中都非常重要。

王巨宏表示,近几年国内开源产业热度逐渐提升,优质项目不断涌现,但参与贡献者与开源用户相比仍然偏少,而这与国内整体开源产业的发展历程息息相关。以腾讯为例,当企业在发展还在开源发展初期时,注定了只能是开源的使用者;但是当技术发展之后,企业就会自然向开源的贡献者和推动者的角色转型。

这一过程中,中国开源的力量在逐步增强,腾讯也围绕项目开源、社区治理、生态共建三个方向推进并取得引人瞩目的成果。在项目开源上,腾讯是Github全球企业开源贡献榜中TOP8的企业,开源了超过130个项目,累计获得了超过38万开发者的关注和Star;社区贡献方面,腾讯持续贡献着超过30个主流开源社区,并加入了Linux 基金会、Apache 基金会等十余个国际开源基金会,也是开放原子开源基金会最早的发起单位之一;生态共建方面,腾讯云将物联网操作系统TencentOS Tiny和企业级容器编排引擎TKEStack均捐赠给了开放原子开源基金会,并即将捐赠第三个云原生操作系统项目。

腾讯的开源有着诸多的推进方式,去年TARS的开源便是一次成功的尝试。目前,TARS基金会开源项目达30个,活跃开发者达12000人,贡献者超300人,TARS基金会的管理模式完全遵循Linux基金会章程,由董事会对整个基金会的事务进行管理,并通过投票进行决策,与国际更好的接轨。当然,开源多元化趋势已经出现,腾讯面向开源也有了更多的方法与实践,比如由腾讯在内的20多家操作系统生态厂商和用户共同倡议发起的OpenCloudOS项目,即将成为开放原子开源基金会开源项目的一员,就是希望聚集国内外操作系统研发力量、共识决策、产学研一道,以完全中立的方式共建开源生态。当然,对于一些成熟的项目也会在其他基金会及社区进行开源和治理,多种模式并行,探索开源的更多可能。

从开源习惯,到开源文化

今年,“十四五”规划纲要首次明确指出应完善开源知识产权和法律体系,这足以说明开源的价值,也带动了开源在国内新的风潮。产业整体态势向前发展,而技术热点又层出不穷,当热点出现后,由于每个公司和开发者个人的理解及优势点不同,就很容易出现扎堆现象,使得诸多项目共同进入,为开发者提供更多选择。

在开源理念不够成熟,国内标准和经验普遍不足的情况下,项目水准未免良莠不齐。但对于热点的竞争最终必然会优胜劣汰后形成漏斗效应,海量项目中选出精华项目,再从其中产生全球顶级项目,开源的流程便是如此。而这一过程也是全球开源项目众多,但顶级项目却凤毛麟角的原因之一,国内开源发展起步较晚,情况自然也是如此。

开源想要做大难,想要实现其商业价值也难。王巨宏介绍称,当开源成为天下大势,也就意味着很难有单纯的产品能够独打天下,甚至像腾讯会议这种垂直且热度颇高的产品,都需要与企业微信、腾讯文档等产品结合,打造整体解决方案,应对复杂的场景化问题。在数字化经济发展的过程中,综合性解决方案占据了行业主流,如果不能抱以开源之姿,迎接各种生态合作伙伴,发展必将落后于人。因此,开源是一种必然,把自身的服务能力,专业化的解决方案能力,综合性地保障开源产品,提升生态项目体系,共建开源生态价值,这样无疑将会更有利于品牌商业与生态价值的全方位打造。

以腾讯自身来看,王巨宏认为开源工作是一项长跑,可能会在长时间内都是默默无闻和孤独的。而腾讯是一个长跑型公司,在很多项目的开源之初很难预期其未来的发展方向,更多的是在考虑技术能否支撑起某一领域的业务未来的发展,而其发展的高度最终依然取决于业务和技术本身突破。所以开源不仅仅意味着要开放现有的技术,还要不断的在相关领域进行钻研,以避免从根本上落后于人。

长跑与短跑不同的地方在于,长跑不能仅仅只是一个人的狂奔。在腾讯内部,开源的流程非常明晰。最初是需要技术团队将某一技术开放出来,作为一种公共组件提供给整个腾讯公司,然后在公司内部共同建设,共同维护,在公司内完成开源协同。而后,重要的便是保护积极建设者的热情。腾讯内部对于开源贡献多的人,会在激励、晋升等配套政策方面提供帮助和奖励。当开源文化逐渐形成,每个人都会因参与、贡献、评论了某一开源项目而形成了个人的技术名片,最终从简单做事情转向工程师文化。

从竞技场到百花丛,国内开源产业腾飞时

对于开源,腾讯的变化有目共睹。

从2018年的腾讯930变革至今,腾讯内外部的开源治理便走上了快车道。当开源协同成为了公司技术战略之一,腾讯蜕变的速度随之而加速。腾讯参考开源社区的组织方式,将同类项目的不同技术团队聚合在一起,开源共建,诸多核心的技术代码在公司内部完全开放。如今,腾讯内部开源率达到了85%,并已经进入到各个领域,如多媒体、DevOps、设计等。王巨宏表示,腾讯希望在各个领域都有内部的统筹和孵化,在内部产出优秀的开源项目,在生态上与基金会和开源社区共同努力,推进整体开源生态发展。

在这一过程中,腾讯开源管理办公室扮演着重要的治理角色。腾讯开源管理办公室隶属腾讯技术委员会旗下,整体负责传递腾讯的开源战略与落地技术生态。该机构成立以来,持续对外注重社区治理,推动重点项目的捐赠,打造开发者共建的生态,形成腾讯特色的开源管理机制。此外,其另一个重要的职能还在于建立开源管理流程,包括安全审核、法律审核、合规审核等流程机制的设定。在今年,腾讯开源还成立了腾源会,对全球优秀的开源项目进入基金会进行孵化指导与支持。腾源会还将建立一套完善的社区治理模式,由理事会和委员会共同为社区壮大、社区运营等提供指导建议或管理支持。

对于世界,腾讯的坚持也始终未熄。开源意味着付出,也意味着对过往和现在的梳理,初心未改,投入开源发展的方向就不会偏离。王巨宏表示腾讯会继续聚焦于社区开放治理,尤其是在大规模技术推广与应用、开发者生态体系构建、社区领袖与领导力培养、研发资源的优化配置这四个方面持续投入。而近期,腾讯将其持续投入超过10年,与合作伙伴经过1000多万节点大规模场景验证的云原生操作系统OpenCloudOS,完全捐赠给了开放原子开源基金会。王巨宏希望作为一个普通的生态建设者,投入资金和资源,与行业的从业者共同将其生态构建完善。

当越来越多的企业选择拥抱开源以后,开源已经从竞技场变为了百花丛,竞争不再是唯一的主旋律,更多场景化、针对性、高效的开源项目逐渐出现,为用户提供了便捷也让更多企业见证了开源的力量。国内开源近20年来,发展十分迅速,如腾讯等国内开源的领头羊也在不断的将自己深厚的技术积累开放出来,推动国内开源产业腾飞,也在帮助更多开发者,更加简单的获取前沿科技发展成果。

前端之变:技术的变与不变

...技术之变做的一些思考记录下来。这是第一篇:技术的变与不变变与不变首先,做为一个技术人员,你要明白一个道理:对技术而言:唯一不变的事情就是变化所以,想要成为一个优秀的程序员,你不... 查看详情

移动端跨平台技术之下的变与不变

一.跨平台,是想跨哪些平台?目前(2020/7/18)来看,移动端跨平台需求主要集中在:跨PC端与移动端:PC向无线过渡的早期,希望PCWeb与移动Web复用同一套代码跨Native与Web:商品详情页等要求有一套功能差不多的Web页能够在端外... 查看详情

虚拟主播也带货?直播电商的变与不变

5月6日晚,海外虚拟主播vox在B站开启了中国直播首秀。从最终数据来看,直播1.7小时,营收111万人民币,当晚还登上平台热门首位,这样的直播吸金能力,让不少明星都望尘莫及。更值得关注的是,直... 查看详情

腾讯王巨宏:开源是一项长跑,与开发者共赢开源未来

11月4日,2021腾讯数字生态大会TechoDay技术峰会在武汉召开,腾讯首次披露了在5大技术领域的开源新进展,并回顾了腾讯开源的四大变化。腾讯公司副总裁王巨宏表示,云与开源共生共荣、相互支撑,共同为用... 查看详情

开源项目的5年长跑,runcv1.0终于正式发布!(代码片段)

...基础项目runc是如何自2016年发布了v1.0.0-rc1到现在历经5年长跑,从rc1一直到rc95,如今终于正式发布v1.0版本的过程,及这中间的故事。大家好,我是张晋涛。在2018年11月底时,我写了一篇文章《runc1.0-rc6发布之际》,那应该是我第一... 查看详情

分层自动化测试模型变与不变

分层自动化测试模型变与不变最近在思考自动化分层模型,多少有些相关,所以就赶紧总结出来。分层自动化测试模型的发展分层自动化测试模型最早是由MikeCohn在2009年出版的《SucceedingwithAgile》书中的第十六章进行阐述的,他... 查看详情

分层自动化测试模型变与不变

分层自动化测试模型变与不变最近在思考自动化分层模型,多少有些相关,所以就赶紧总结出来。分层自动化测试模型的发展分层自动化测试模型最早是由MikeCohn在2009年出版的《SucceedingwithAgile》书中的第十六章进行阐述的,他... 查看详情

网络-数据包在路由转发过程中mac地址和ip地址,变与不变

关于MAC地址和IP地址在传输过程中变与不变的问题:  结论:MAC地址在同一个广播域传输过程中是不变的,在跨越广播域的时候会发生改变的;而IP地址在传输过程中是不会改变的(除NAT的时候),总结为路由转发MAC不变,IP变... 查看详情

前端之变:王者归来

...,前四篇为:前端之变(一):技术的变与不变前端之变(二):不变的前端前端之变(三):变革与突破前端之变(四):进击的前端前面几篇文章我已经分析过前端的变 查看详情

前端之变-“不变“的前端

...;本系列其它文章:前端之变(一):技术的变与不变不变的核心前端技术不管如何改变,但是支撑前端的最核心的 查看详情

java中的协变与逆变

JAVA中的协变与逆变首先说一下关于Java中协变,逆变与不变的概念比较官方的说法是逆变与协变描述的是类型转换后的继承关系。定义A,B两个类型,A是由B派生出来的子类(A<=B),f()表示类型转换如newList();协变:当A<=B时,f(... 查看详情

15年后我仍是it界的好汉!

1张图,带你看看IT界/互联网这15年来翻天覆地的变化与进程!从2001年开始到2016年为止,那些我们曾经熟悉的场景将会一一再现!看完后,您有什么感慨和想法呢?欢迎在下方留言,一起聊聊这15年来&#x... 查看详情

serverless开源架构方案

...自己的CloudFunction服务,2017年国内公有云提供商阿里云和腾讯 查看详情

15年后我仍是it界的好汉!

1张图,带你看看IT界/互联网这15年来翻天覆地的变化与进程!从2001年开始到2016年为止,那些我们曾经熟悉的场景将会一一再现!看完后,您有什么感慨和想法呢?欢迎在下方留言,一起聊聊这15年来&#x... 查看详情

怎样才能使excel里面字体颜色随系统时间的变而变化

...再举个例:表里有个数据年份一列显示为98年,随着时间的变化,到了2001年、2004年、2007年……(98+3)!年,符合这一条件的数据字体变为红色,而不符合(98+3)!年则保持原来的颜色不变,只要电脑系统时间为(98+3)!年时... 查看详情

2020年腾讯c++面试题和答案持续更新中(11)

...,今天不能落下咯~~更多学习资料,请到文末获取~2020年腾讯C++面试题第一面2020/3/20C++的malloc和new的区别虚函数的作用如何实现虚函数的Linux程序突然core掉,如何处理2020年腾讯C++面试题第二面2020/3/20vector实现原理链表和数组的区... 查看详情

2020年腾讯c++面试题和答案持续更新中(11)

...,今天不能落下咯~~更多学习资料,请到文末获取~2020年腾讯C++面试题第一面2020/3/20C++的malloc和new的区别虚函数的作用如何实现虚函数的Linux程序突然core掉,如何处理2020年腾讯C++面试题第二面2020/3/20vector实现原理链表和数组的区... 查看详情

通用程序的特点的总结

...是可扩展的,接口的调动方式是支持多种协议的4.系统中的变与不变的地方一定是分离的5.代码的组织结构或者逻辑结构至少有一个是可扩展的; 查看详情