马化腾加持开源,参与构建全球科技共同体

  • 时间:
  • 浏览:8

“我们将通过内外部开放代码的方式,积极参与全球科技共同体的构建。”

“今天没有哪个国家能够完全拥有全球新一轮科技和产业所需要的全部资源技术能力,产业割裂和技术脱钩将会损害整个人类长远的利益。”

  8 月 26 日,在重庆召开的 2019 中国国际智能产业博览会(简称智博会)高峰论坛上,腾讯公司董事主席首席执行官马化腾做了演讲,他提到,腾讯愿意内外部开放源代码,积极参与全球科技共同体的构建

  腾讯开源文化:三步走

  腾讯开源始于 2010 年,于 2016 年开始快速发展,在近两年间逐步迈入正轨,建立起了良好的开源文化。2010 年,在腾讯的开放战略指导下,“开放、共享、合力开发”的研发模式开始在技术团队内部推行

  腾讯以其鼓励内部竞赛、提倡产品导向为业界所知,但这背后折射的,是腾讯在技术研发方面重复造轮子、资源使用率低等问题。技术团队习惯于先扛住、再优化,技术更多业务用户服务,这开源文化之间其实存在一些背离

  2010-2015 年,腾讯首先在内部倡导开源,提倡“开放、共享、合力开发”的研发模式,可靠组件公司内部实现复用,减少重复造轮子,提升效率,这是对外开源的基础

  时间再往后拉近,腾讯也总结出了自己三步走的“开源路线”

第一步,加强内部开源协同,主要是通过拉通组织,推动跨部门的协作;同时优化内部资源配置,在重点技术方向上集中优势,寻求技术突破;第二步,通过对外开源引入外部资源,优化设计与代码、拓展应用场景,并且加强与外部贡献者的联系,构建起技术影响力;第三步,通过社区开放治理,将一些有广阔前景的项目进行大规模的技术推广以及应用,在这个过程中培养有领导力与影响力的社区技术领袖,构建起开发者生态体系,从而实现全社会研发资源的优化配置。

  更进一步,2018 年下半年,腾讯宣布调整组织架构正式成立了技术委员会,由总办成员牵头,推进开源协同。从组织架构层面强调开源,这在中国互联网科技公司里都是十分罕见的决断,也不难看出腾讯发力开源的坚定决心。正是这样战略层面的重视,自上而下地推动,才有腾讯开源在近年来的飞速发展。

  Talk is cheap,show me the code

  近两年,腾讯频繁地出现在各个开源组织、基金会名单上,在各大开源峰会与论坛上也总能看到腾讯的身影。但这些,只能说明腾讯开源的活跃,不能说明腾讯开源的成绩。

  程序员的世界里,代码说话。

  截至 2019 年 8 月,腾讯一共拥有 82 个开源项目,涵盖了云、游戏、大数据、AI 和小程序多个领域。若干年前远远落在后面的腾讯开源,目前贡献排行已经逼近了世界前十包括微服务框架 Tars、人工智能计算平台 Angel、微信视觉样式库 WeUI 等明星项目在开发者群体都有不错的口碑与广泛的采用。

  Tars:海量服务,一种框架

  https://www.oschina.net/p/tars

  Tars 是由腾讯开发的成熟 RPC 框架,能快速搭建系统及自动生成代码,兼顾易用性与高性能。同时,Tars 支持 C++、Golang、Java、Node.js、PHP 与 Python 在内的多种编程语言,可以帮助开发者及企业以微服务的方式快速构建自己稳定可靠的分布式应用,让开发聚焦业务逻辑,有效提升运营效率。Tars 是腾讯十年微服务的结晶,腾讯系数百个产品,世人所周知的海量服务,都跑在这个自研的微服务框架上。2018 年 6 月 25 日,腾讯宣布将 Tars 项目贡献给 Linux 基金会。

  WeUI:Web 开发基础样式库

  https://www.oschina.net/p/weui-wxss

  WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。以其开发友好的特性,WeUI 成为了不少计算机专业学生毕业设计常用的工具,并获得了广泛认可。

  Angel:基于参数服务器架构的分布式计算平台

  https://www.oschina.net/p/tencent-angel

  Angel 由腾讯和北京大学共同开发,兼顾工业的高可用性和学术界的创新。它通过腾讯的大数据进行性能调整,具有广泛的适用性和稳定性,在处理更高维度模型方面表现优势明显。Angel 采用 Java 和 Scala 编写而成,支持在 Yarn 和 Kubernetes 上运行。通过 PS Service 抽象,它提供了两个模块,可以集成 Spark/PyTorch 和 Parameter Server 的功能用于分布式训练未来将支持图形计算和深度学习框架。

  Mars:微信官方终端基础组件

  https://www.oschina.net/p/wechat-mars

  Mars 是微信官方的终端基础组件,是一个结合移动应用所设计的基于 Socket 层解决方案,在网络调优方面有更好的可控性,采用 C++ 开发而成。目前 Mars 已接入微信 Android、iOS、Mac、Windows、WP 等客户端。在设计上,Mars 以跨平台、跨业务为前提,遵从高可用、高性能负载均衡的设计原则。

  开源是作秀、KPI 工程?

  在中国,开发者们常被诟病“拿来主义”,只知道伸手用开源项目,却很少回馈社区。在世界范围内,云厂商们常被定义为开源的“吸血鬼”,拿开源软件赚得盆满钵满,却没有对开源做出任何贡献。

  国内的科技公司,也常常被批评“开源是作秀、KPI 工程”。但其实,开源是一种潮流,更是一种责任与担当

  为什么要做开源?理由至少有三点:  

一是开源能够帮助他人更快地开发软件,促进世界创新,主要是社会价值层面的考虑。二是开源能够倒逼工程师写出更好的代码。三是开源能够更有效利用社区的力量,一起解决难题。

  若干年前,中国的科技巨头如 BAT 等,在开源社区上都是吊车尾的存在。那时候,Facebook、Google、Microsoft 与 Amazon 等美国公司牢牢占据着头部位置,开源了许多流行工具,回馈着社区,同样也把持着话语权。

  但今天,包括腾讯在内的众多中国公司,已经从拿来主义,转向了开放、共赢,腾讯更是从组织架构层面下决心投身开源。这不管是对开发者、对社区,还是对这些科技公司本身来说,都是值得欣喜的局面。

  正如马化腾所言,未来世界将是一个科技共同体,“没有哪个国家能够完全拥有全球新一轮科技和产业所需要的全部资源、技术和能力,产业割裂和技术脱钩将会损害整个人类长远的利益。”

  这就是开源的意义。