如此“封闭”的腾讯,这些年都开源了哪些项目?

         3Q大战,当年这场“明星产品”之间的“互掐”轰动了整个互联网,腾讯当时“一个艰难的决定”直到现在仍被网民乐此不疲地调侃。事实上,腾讯当时不止做了一个艰难的决定,这场3Q大战使得有着深入骨髓的“封闭”基因的腾讯选择了打开大门,拥抱“开放”战略。技术研发也是在这种环境和背景下,开始向共享、复用和开源迈进。本文将和大家一起看看腾讯的开源之路。

虽然腾讯的技术积累比较深厚,然而腾讯开源的起步却是十分艰难。因为腾讯由业务和产品驱动的研发模式,使得它在开源之路上走得并不平坦,从业务和产品,到 KPI,再到部门之间的壁垒,这些因素都构成了腾讯开源路上的“拦路虎”。

因此,从内部开源做起的腾讯,在其内部开源社区的定位和运营上,会更多地从工程师的角度去考虑问题,这样的方式给大家提供了从轻度到重度参与开源的途径。

有了内部开源基础的腾讯,开始尝试外部开源,但是发现外部开源同样比较困难。因为公司性质的对外开源需要把控的方面特别多,从对开源项目进行安全、商标、专利和协议等各方面的检查,到项目涉及到的部门和业务领域,可以看到,开源一个项目的投入是巨大的,这还不包括开源之后,项目团队投入的维护成本。因此,腾讯早期开源的节奏非常缓慢,截止到 2016 年底,腾讯正式发布的开源项目共计 36 个。

腾讯开源 6 年的发展历程

开源一个项目投入的工作

下面简单介绍一下截止到 2017 年腾讯正式发布的开源项目:

Blade:https://www.oschina.net/p/blade

一个现代构建系统,期望的目标是强大而好用,把程序员从构建的繁琐中解放出来。Blade 主要定位于 Linux 下的大型 C++ 项目,密切配合研发流程,比如单元测试,持续集成,覆盖率统计等。

Appecker:https://www.oschina.net/p/appecker

一款用于 iOS 系列系统的自动化测试框架。

QcloudMna:https://www.oschina.net/p/mna

追风移动加速是腾讯云平台为移动应用开发者提供的基于网络的加速服务。

Ctaxis:https://www.oschina.net/p/ctaxis

云排序用于提供海量数据排序服务, 采用可扩展的分布式存储方案。

APT:https://www.oschina.net/p/apt

安卓性能测试工具,安卓平台高效性能测试套件,用于安卓平台的基准测试、竞品测试。

Koala:https://www.oschina.net/p/tencent-koala

跨平台图形编译工具,用于快速生成前端 CSS 和 JS。

TDW:https://www.oschina.net/p/tdw

腾讯分布式数据仓库,用于帮助企业低成本构建大数据分析系统或数据仓库。

TscanCode:https://www.oschina.net/p/tscancode

静态代码扫描工具,针对 C/C++ 代码的静态代码扫描解决方案。

RapidJSON:https://www.oschina.net/p/rapidjson

一个 C++ 的高性能 JSON 解析器及生成器,同时支持 SAX/DOM 风格的 API。

Key-N-Value:https://www.oschina.net/p/knvprotoengine

KNV 是一个模式自由的高性能树型协议处理引擎,是对 Key-Value 的一个通用结构化扩展。

WeTest助手:https://www.oschina.net/p/wetest-assistant

基于手机端的辅助测试工具,包括性能测试和远程调试两大功能,并提供云端真机在线调试。

QT4i:https://www.oschina.net/p/qt4i

iOS 开发自动化测试工具,全面兼容 iOS 真机和模拟器,基于分布式技术,高效并发执行测试。

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

基于 QTA 提供面向 Android 应用的 UI 测试自动化测试解决方案。

Fanvas:https://www.oschina.net/p/fanvas

SWF 转 HTML5 Canvas 动画。Fanvas 可以把 SWF(包括矢量和位图)完美地转化为 Canvas 动画,让美术妹子一次制作,到处运行。

HaboMalHunter:https://www.oschina.net/p/habomalhunter

Habo Linux 恶意软件分析系统,用于在 Linux 平台下进行自动化分析、文件安全性检测的开源工具。

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

QTAF 是一个跨平台的测试自动化工具,适用于后台、原生或混合型客户端应用的测试。

WeDemo:https://www.oschina.net/p/wedemo

微信团队开源的项目,用于微信开发者进行微信登录、分享功能开发时的参考 Demo。

GAutomator:https://www.oschina.net/p/gautomator

针对 Unity 手游的 UI 自动化测试框架。

MSEC:https://www.oschina.net/p/msec

毫秒服务引擎是腾讯的一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务。

Behaviac:https://www.oschina.net/p/behaviac

行为树(Behavior Tree)解决方案。该方案包括编辑器(Designer)和运行时库(Runtime)。

Blueking CMDB(蓝鲸配置平台):https://www.oschina.net/p/blueking-cmdb

一款面向应用的 CMDB,在 ITIL 体系里,CMDB 是构建其它流程的基石,而在蓝鲸智云体系里,配置平台就扮演着基石的角色,为应用提供了各种运维场景的配置数据服务。

GT(随身调):https://www.oschina.net/p/_gt

安卓/iOS 手机端调测组件,用于安卓平台的性能测试、竞品测试及仅凭一台手机进行 App 测试的场景。

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

WeUI for 小程序,为微信小程序量身设计。

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

WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。weui.js是 WeUI 的轻量级 js 封装。

Teaf:https://www.oschina.net/p/teaf

基于 ACE 的高性能服务端框架,单进程多线程,支持 select/epoll 等模型。

SQLCipher:https://www.oschina.net/p/sqlcipher

SQLCipher 提供了对 SQLite 数据库的传输层进行全面加密的工具,而通过使用 SQLCipher ,整个加密过程对客户端是透明的,无需改动应用程序。(该项目是腾讯 fork Zetetic 公司的开源项目)

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

基于名字服务使用 Tars 协议的高性能 RPC 开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。

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

微信官方的终端基础组件,是一个使用 C++ 编写的业务性无关、平台性无关的基础组件。目前已接入微信 Android、iOS、Mac、Windows、WP 等客户端。

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

一个高效、强大、跨平台(macOS & Win)的前端开发工作流工具,核心基于 tmt-workflow 工作流,代码开源可定制。

Pebble:https://www.oschina.net/p/pebble-rpc

分布式开发框架。基于该框架,可以让开发者只需专注于业务逻辑的实现,而不需要关注基础功能的开发,如网络通信,数据存储,集群管理等。

tmt-workflow:https://www.oschina.net/p/tmt-workflow

基于 Gulp(v4.0)、高效、跨平台(macOS & Win)、可定制的前端工作流程。

WeUI:https://www.oschina.net/p/weui

一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含

WCDB:https://www.oschina.net/p/wcdb

腾讯开源的一个高效、完整、易用的移动数据库框架,基于 SQLCipher,支持 iOS、macOS 和 Android。

xLua:https://www.oschina.net/p/xlua

xLua 为 Unity3D 增加 Lua 脚本编程的能力,进而提供代码逻辑增量更新的可能。

Tinker:https://www.oschina.net/p/tinker

微信开源的 Android 热修复框架,支持在无需升级 APK 的前提下更新 dex, library 和 resources 文件。

Libco:https://www.oschina.net/p/libco

协程组件,将现有多进程同步网络访问改造成协程的基础组件,是微信后台大规模使用的 C/C++ 协程库。

PhxRPC:https://www.oschina.net/p/phxrpc

微信后台团队推出的一个简洁小巧的 RPC 框架,编译生成的库只有 450K(编译只依赖第三方库 Protobuf)。

PhxPaxos:https://www.oschina.net/p/phxpaxos

微信后台团队自主研发的一套基于 Paxos 协议的多机状态拷贝类库。

PhxSQL:https://www.oschina.net/p/phxsql

PhxSQL 是一个兼容 MySQL、服务高可用、数据强一致的关系型数据库集群。

这些开源项目来自腾讯的各个部门,其中包括微信团队、蓝鲸平台和腾讯云平台等,项目的规模有像 weui.js 这样轻量的 JavaScript 库,也有像 MSEC、WCDB 等一些重量级的开源框架。其中有不少项目可以直接应用于类似的业务场景。

同时腾讯也在以其他三种方式参与开源,积极参与知名开源社区、运营自己开源项目的社区以及为开源项目贡献。

腾讯云在今年 5 月份,宣布加入 CNCF 和 Linux 基金会,在容器服务和 KVM 虚拟化方面贡献自己的力量。6 月,腾讯云加入 MariaDB 基金会,释放腾讯云数据库 CDB 的内核积累。

社区参与

除此之外,腾讯也在积极为一些开源项目做贡献,包括 Docker、Hadoop、Ceph 以及 Linux Kernel 等。

腾讯的未来开源计划

可以看到,腾讯未来的开源计划,与当下的技术趋势也是密切相关,涉及到机器学习和 AI 等方面。其中值得关注的一个项目是 SOTER,这是一个腾讯生物认证组件,应用于微信 Android 客户端的指纹支付业务,以及公众平台 H5 页面的指纹授权。除此之外,还包括小程序相关的一些项目。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,902评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,037评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,978评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,867评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,763评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,104评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,565评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,236评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,379评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,313评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,363评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,034评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,637评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,719评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,952评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,371评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,948评论 2 341

推荐阅读更多精彩内容