首页 存档 技术 查看内容

观察:阿里巴巴的开源战略究竟怎么样?

2018-3-30 13:00 |来自: 互联网 290 0

摘要: 为了对中国企业在开源方面的情况进行深入的了解,从而对开源和企业之间的关系做一些定性、定量的分析,那么,让我们来具体分析一下阿里高调开源几年以来的开源项目的发展情况。-- wxy 本文导航 -背景00% -GitHub 上 ...

为了对中国企业在开源方面的情况进行深入的了解,从而对开源和企业之间的关系做一些定性、定量的分析,那么,让我们来具体分析一下阿里高调开源几年以来的开源项目的发展情况。
-- wxy


本文导航

 作者 | wxy


背景

开源目前已经成为全球IT 界和互联网界一致推崇的文化和战略,而阿里巴巴作为国际**的互联网企业之一,在开源方面也一直秉持坚定而热忱的态度,积极地将其一些成熟或发展中的产品和技术以开源、开放的态度回馈到社区。

据目前已知的数据,阿里巴巴(以下简称阿里)已经贡献了上百款软件项目,其中去年到现在就开源了三十个左右的项目,得到了开源界和业界积极关注和参与,其中不乏重量级的开源项目。

不过,对于阿里的开源举措,业界也有一些不同的声音,比如有人认为阿里的开源项目虎头蛇尾,往往开源后就置之不理,活跃度走低,缺乏进一步的维护;也有人认为阿里的开源项目实际并没有得到社区的广泛参与和认可,更多还是阿里自身的员工在进行维护,社区并没有对这些项目提供有力的贡献,也没有衍生出重要的分支项目。

为了对中国企业在开源方面的情况进行深入的了解,从而对开源和企业之间的关系做一些定性、定量的分析,那么,让我们来具体分析一下阿里高调开源几年以来的开源项目的发展情况。

说明:我们本次的分析仅以阿里在 GitHub 上的开源项目的公开数据为基础,并不涉及到阿里在其它开源社区和代码托管网站的情况。

首先,我们在 GitHub 上找到阿里的开源团队,其在 GitHub 以团队形式出现的有几个,这里我们主要分析https://github.com/alibabahttps://github.com/ant-design两个团队的情况。

在上述的 alibaba团队中,我们可以发现,其名下的代码库repository截止至本文写作时多达 133 个。但是有些项目仅仅是对上游项目的复刻fork,并无或甚少进行修改提交,也有一些项目无实际意义,因此经过筛选后,我们得到了大约110 个项目。

而在 alibaba 团队中正式公开登记的成员(员工和前员工)有101 个,有不少参与贡献的成员没有公开登记,但是我们在做数据分析时,将邮件后缀域是 alibaba-inc.com、alipay.com、taobao.com、aliyun.com 的贡献者也归类为阿里员工。

阿里团队在 GitHub 旗下的项目数量和登记成员数在国内互联网公司来说,已经不算少了,虽然据统计[1],阿里团队所获得的星标star数全球排名第12位,国内排到了第一,但是和国际上的一些开源领袖公司相比,还有较大距离。(注:如果累计 ant-design 团队项目的星标数,由于该团队旗下的开源项目包括了去年的一个重点项目 ant-design,其排名应该可以更高一些。)

在本文中,我们将从这些开源项目的各个维度的数据来进行分析,主要关注于以下两个方面:

  • 项目的活跃程度

  • 社区的参与程度

在分析之前,我们需要先了解哪些数据对我们来说是重要的,以及其背后反映的意义。

GitHub 上的开源项目指标

在 GitHub 上开源的项目有那些指标呢?可以反映出什么信息?

我们认为可以从以下几个指标进行分析:

1、项目的提交commit数量、分支branch数量、发布release数量。

这代表了项目代码的活跃程度,其中提交数量是主要指标,而分支数量和发布数量虽然也可以侧面反映出代码的活跃程度,但是更多是不同的相关项目管理方式导致的。

2、项目的拉取请求pull request(PR)数量、贡献者contributor数量、问题issue数量。

这代表了项目参与者的参与程度,其中拉取请求数量是主要指标,而贡献者数量和问题数量与之正相关,可以反映出贡献者分布密度和项目反馈速度。

3、项目的复刻fork数量、星标star数量、关注watch数量。

这代表了项目的受关注程度,其中复刻数量是主要指标,因为复刻一个项目往往代表了社区更多的参与意愿,并进而通过提交拉取请求、问题等进行参与,这也是社区生态发展不同的下游衍生版本的必由之路。而星标数量和关注数量,现在由于逐渐蔓延的 GitHub 营销潮流,其水分比较大,可以作为辅助指标参考。

4、项目的持续时长和最后更新时间。

项目的持续时长是从项目建立开始到最后更新时间之间的时长,这代表了项目的生存时间。如果最后更新时间是很久以前,则代表该项目已经陷入消亡中。

项目的提交数量

阿里开源的项目很多,但如同大多数企业组织一样,各个项目的活跃程度大相径庭。有的活跃项目得到了来自社区上万的星标star、数千的复刻fork乃至上千的拉取请求pull request,项目本身也拥有数万的提交commit乃至几十个分支branch;而有的项目则数据寥寥,基本上陷入沉寂,其中有一半数量的项目最后提交于一年前,甚至还有 5 个项目的最后更新于 5 年前基本上可以判定已经停止维护。

在统计时,我们发现一种情况,复刻或衍生的上游项目,会将上游的提交数量、分支数量等数据继承下来,因此在针对阿里对该项目的贡献和发展方面进行分析时,应该将这部分数据减去。这样的话,在阿里团队名下列出的一些知名项目,如复刻自 CocoaPods/Specs 的 Specs 项目拥有 14 万之多的提交数,但是阿里本身并没有对其复刻的版本进行任何提交;又比如阿里的重点项目 AliSQL 是基于 MySQL 官方版本的一个衍生版,因此其近 10万的提交数中绝大部分是 来自MySQL 发展多年来积累下的提交数量,本身阿里在将其衍生为 AliSQL 之后,只有 52 个提交数;同样 AliSQLBackup 的 10 万多个提交数也是来自于上游项目,阿里几乎没有做过更新提交,并且也停止维护两年了;因此,这些项目在统计时,我们会从阿里复刻或衍生该项目时开始计数提交数量。

当然,我们知道,仅仅以提交数来评估一个项目的活跃度是片面的,比如说,上述的 AliSQL 虽然只有 52 个提交,但是其由于开发模式和审慎态度的缘故,往往一次提交的代码量比较多,其中某次提交行数高达 5 万多行,而对上游 MariaDB 的贡献虽然只有三次提交,但是已经占到了总代码量的 1%。鉴于此,我们会不仅仅从提交数,还从复刻数、问题数等多个方面来综合进行观察。

下表是阿里旗下开源的提交数前十的项目:


声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部