编者按:本文来自微信大众号“InfoQ”(ID:infoqchina),作者万佳,36氪经授权发布。
在国内开源之路上,BAT 这些大型互联网科技公司走在前列。
有数据为证:到 2019 年 3 月 22 日,阿里开源的总项目数为 1243 个,百度开源的总项目数为 746 个,腾讯开源的总项目数为 131 个。在阿里和腾讯的开源官网上,咱们看到更详细的数据。阿里开源项目总 Star 数是 667107,Contributor(奉献者)数是 18902 人;腾讯开源项目总 Star 数为 251445,Contributors(奉献者)数为 1009。
能够说,BAT 们扛起了国内开源的大旗。
在此前 InfoQ 策划的《 我国互联网公司开源项目调查报告:BAT 们谁是开源王者? 》一文中,记者梳理了国内一线互联网大公司的开源状况。其时,InfoQ 计算了国内涵 GitHub 上较活泼的 7 家互联网公司 50 多个账号的 2800 多个项目,这些公司分别是百度、阿里、腾讯、华为、美团、360、小米。
在 GitHub 上,开源项目被树立,后续还要不断更新。假如一个开源项目仅仅是被树立,后期却没有更新,这阐明它很可能现已不再保护。说直白点,这个开源项目现已被“抛弃”。
这次,咱们相同聚集互联网大厂,以 BAT 三家公司为代表,看看那些被它们抛弃保护的开源项目。
注 1:饿了么和优酷现已被阿里收买,故归入阿里旗下。
注 2:在本文中,一个开源项目最近一年半时刻(即 545 天)没有更新,笔者即将其视为被抛弃保护。因而,计算的开源项目,最终一次 Push 时刻在 2018 年 3 月。
咱们先来看看基本状况
(一)BAT 抛弃保护的开源项目数和占比
到 2019 年 3 月,百度开源项目数 746 个,抛弃保护的为 414;阿里开源项目总数 1243,抛弃保护的 761;腾讯开源项目 131,抛弃保护的 37。从份额来看,百度、阿里抛弃保护的开源项目份额较高,超越 50%,而腾讯份额较低,只要 28%。
这一数字,并不能阐明腾讯比百度和阿里在更新保护开源项目上更活跃。
有个基本状况需注意:
阿里开源项目总数 1243 个,百度为 746 个,腾讯是 131 个。咱们注意到,GitHub 上最早创立的开源项目时刻,阿里是 2010 年 7 月,百度是 2012 年 11 月,腾讯是 2011 年 12 月 22 日。时刻相隔不远,可是开源项目数却相差悬殊。这意味着,阿里、百度从 2010 年和 2012 年开端,对开源十分活跃,所以才有很多的开源项目。
一起,咱们注意到,腾讯开源官网说到,“从 2016 年末开端,腾讯对外开源开端进入了快节奏年代。”能够这么了解,腾讯开源项目在最近一两年脚步提速,十分活跃。
(二)BAT 抛弃保护的开源项目(按编程言语)从言语方面来看,BAT 抛弃保护的开源项目触及各种言语,规模较广。不过,绝大多数开源项目是 Javascript 言语,占比超越 80%,其他占比较大的言语还有 C++、Java、C、Python 等。
(三)奉献者最多的被抛弃开源项目 TOP 10Contributor 数越多,标明项目越敞开。在 BAT 抛弃保护的开源项目 Contributor TOP10 中,最高是阿里 alibaba/docker 容器项目,421 的奉献者。其他的开源项目,Contributor 几乎在 180-400 左右。
奉献者数量是表现一个项目是否敞开的重要方针之一。项目越敞开,它就会接收更多来自社区的奉献。而由公司推出的开源项目特别需求重视这一方针,由于有些公司开源项目仅仅将源码敞开出来,但详细开发和道路演进并不答应它人插手。
(四)Commits 数最多的被抛弃开源项目 TOP 10commits 提交数越多,标明项目越杂乱,开发周期较长,协作者数量更多。在 BAT 抛弃保护的开源项目中,commits 的 TOP 10 均是阿里的开源项目。其间,阿里的 Specs 排名榜首,commits 数 140490,遥遥领先。排名第二的是阿里 mongo 开源项目,commits 数 36375。
BAT 抛弃保护的 TOP10 开源项目
众所周知,一个开源项目在 GitHub 上 Star 数越多,标明该项目越受欢迎。它有点相似交际媒体上的“点赞”。在被抛弃保护的 Star 数 TOP10 开源项目中,阿里有 7 个,百度有 2 个,腾讯只要 1 个。
1. 阿里:Weex其间,Star 数最高的是阿里 weex 项目,Star 是 17408。2016 年 3 月 11 日,阿里 Weex 开源,在 GitHub 上树立。Weex 是跨渠道移动开发东西能够完美统筹功用与动态性,让移动开发者经过简捷的前端语法写出 Native 等级的功用体会,并支撑 iOS、安卓、YunOS 及 Web 等多端布置。
Weex 的技能关键词:
阿里巴巴出品、Javascript 言语、JS V8 引擎、Vue 规划形式、原生烘托
在 GitHub 上,Weex 最终一次更新时刻是 2017 年 10 月 19 日。Weex 官方消息:Weex 现已于 2017-02-24 迁移至 Apache 基金会,咱们都会根据 Apache 的基础设施持续迭代。因而,创立者启用了新的 GitHub 库房。
全新的地址中,incubator-weex 正常更新和保护,而且 Star 数现已到达 12965。
2. 阿里:AndFix排名第二的是阿里 AndFix 开源项目,Star 数 6470。据悉,Andfix 是 "Android hot-fix" 的缩写。它是阿里巴巴开源的 Android 运用热修正东西,协助 Anroid 开发者修正运用的线上问题。
AndFix 支撑 Android 2.3 - 6.0,ARM 和 x86 架构,dalvik 运转时和 art 运转时。AndFix 的分支是 .apatch 文件。阿里 AndFix 在 GitHub 上创立于 2015 年 9 月 15 日,最终一次更新时刻是 2017 年 10 月 18 日。如此算下来,这个开源项目现已近 2 年未更新。
3. 阿里:dexposed排名第三的是阿里 dexposed 开源项目,Star 数 4073。Dexposed,是一个 Android 渠道下的无侵入运转期 AOP 结构。旨在处理像功用监控、在线热补丁等移动开发常见难题,典型运用场景为:AOP 编程、插桩 (如测验、功用监控等)、在线热补丁、SDK hooking 以供给更好的开发体会。
阿里 dexposed 开源项目于 2015 年 6 月 30 日在 GitHub 上创立,最终一次更新时刻是 2017 年 3 月 29 日。
4. 百度脑图:kityminder排名第四的是百度 fex-team/kityminder,Star 数 2936。
据官方介绍,KityMinder 是百度 FEX 团队的 f-cube 小组(原 UEditor 小组)的又一力作。作为一款在线的脑图修改东西,它有着不亚于 native 脑图东西的交互体会。一起,它充分发挥了 Web 云存储的优势,能够直接将修改中的脑图同步到云端。
此外,借由首创的 “云盘同享”功用,用户能够一键将当时修改的脑图直接生成在线链接同享给其他用户,完成无缝交流。百度 Kityminder 在 GitHub 上创立于 2013 年 12 月 16 日,最终一次更新时刻是 2015 年 8 月 12 日。
5. 阿里:kissy阿里的 kissy 开源项目排名第五,Star 数 2651。
Kissy 是一款跨终端、模块化、高功用、运用简略的 Javascript 结构。除了齐备的东西调集如 DOM、Event、Ajax、Anim 等,它还供给了经典的面向对象、动态加载、功用优化处理方案。
作为一款全终端支撑的 Javascript 结构,kissy 为移动终端做了很多适配和优化,运用户的程序在全终端均能流通运转。阿里 kissy 开源项目于 2010 年 7 月 10 日在 GitHub 上创立,最终一次更新时刻是 2016 年 6 月 13 日。
6. 腾讯:AlloyImage腾讯的 AlloyImage 开源项目排名第六,Star 数 2311。
据悉,该开源项目来自腾讯的 Alloy Team 团队,AlloyImage 是一款根据 HTML5 的专业级图画处理开源引擎。它运用 Javascript 言语开发,根据 Web 的在线图画处理引擎。除中心底层图画处理引擎,它还一起集成了一些方便快捷的图画处理 API。一句话,它具有强壮的功用,能够快捷开发,具有丰厚的扩展特性。
该开源项目 2012 月 11 月 11 日创立于 GitHub,最终一次更新时刻是 2017 年 4 月 17 日。
趁便提一下这个开源项目背面的团队——Alloy Team ,腾讯 Web 前端团队,来自腾讯 SNG(交际网络工作群)。这个团队的方针是成为地球杰出的 Web 团队。AlloyTeam 的涵义是:像合金相同将各种技能,以及各个成员的聪明才智聚合在一起,然后发生更强的合金特性,未来咱们也期望经过聚合业界的各大前端牛人,来一起推进 Web 前端技能在我国的开展。
7. 腾讯:tsf腾讯的 tsf 开源项目排名第七,Star 数 2156。
TSF 是腾讯开源的一套根据协程和 Swoole 驱动的高功用 PHP 结构,能够协助开发者快速开发和布置具有高 IO 吞吐才能的 HTTP/TCP/UDP 服务。
TSF 具有以下特色:
根据 PHP,比较 C++ 等言语具有更高的开发功率
根据 Swoole 强壮的异步 IO 、定时器才能,极大的扩展了结构才能
完成了 PHP 协程才能,经过同步的开发方式就能够完成异步 IO 的才能
支撑服务监控恢复才能
腾讯 tsf 于 2015 年 7 月 3 日创立于 GitHub,最终一次更新时刻是 2017 年 10 月 24 日。
8. 阿里 - 饿了么:cooking阿里的 cooking 开源项目排名第八,Star 数 1872。
cooking 是由饿了么前端团队开源的根据 webpack 的构建东西。官方称其为“更易上手的前端构建东西”,cooking 根据 webpack,具有项目零开发依靠、装备简略、脚手架、插件机制和个性化设置特色。
cooking 开源项目 2016 年 3 月 10 日在 GitHub 上创立,最终一次更新时刻是 2017 年 11 月 14 日。
9. 阿里:wax阿里的 wax 开源项目排名第九,Star 数 1732。
据官方介绍,wax 是一个结构,能够让你运用 Lua 言语编写原生 iPhone 运用程序。Wax 把 Lua 脚本言语与原生 Objective-C 底层 runtime 结合起来,使得你能够在 Lua 里边运用任何 Objective-C 类及结构。
现在,wax 在 GitHub 上创立于 2015 年10月 14 日,最终一次更新时刻是 2017 年 3 月 30 日。
10. 百度:interview-questions百度的 interview-questions 是百度 Fex 团队的面试问题,这个无需多讲。