GitHub上各大公司的开源投入排名分析
GitHub 是全球最大的程序员聚集地,你一定对程序员的社交感兴趣。
你以为本文介绍的是爬虫 No No No,授人以鱼不如授人以渔
本文将介绍获取GitHub全量数据的四种方法,通过这些方法对于Github做整体的分析,如下:
- GitHub 中哪种语言以及 License 的项目最多
- 你的母校在 GitHub 贡献排名
- 中国在 GitHub 贡献排名
- 哪些公司的开源贡献最多,你的公司排名如何
- 程序员背后的黑话都有哪些 -996.ICU上的issue都有哪些讨论
- 伊朗开发者如何被 GitHub 移除
- GitHub 上有多少独立仓、多少独立提交、多少独立开发者
- 哪些大神在 GitHub上的贡献最多
- 哪些项目被 Fork 的次数最多
在学习完本文方法之后,你也可以像一些公众号那样定期发布 GitHub 的一些趋势走向了以及关于 GitHub 的各种挖掘。
现在有越来越多的公司都参与了开源,其背后有各自的目的所在,姑且不予讨论。
本文是从多个方面分析各大公司在开源上的投入情况。
由于全世界绝大多数的开源项目都有发布到Github上,因此本文将会基于GitHub的数据进行分析。
2019还没有结束,本文先回顾一下2018年的各项指标,从以下几个方面进行分析:
- 2018哪些主要的公司参与了GitHub开源贡献
- 2018这些主要的公司分别有多少人参与了GitHub开源贡献
- 2018这些主要的公司分别参与贡献了多少个开源项目
- 2018年这些主要的公司贡献的开源项目中,有哪些是比较有代表性的
- 2018年这些主要的公司在的开源项一些代表性的项目中,都有多少人参与
- 2018这些主要的公司参与贡献的所有项目累计star数量是多少
相信通过以上的这些指标,就能够大致大判断出每个公司在GitHub上的贡献情况。
OK,关于如何获取Github上所有相关仓库数据,相信看过我一系列分析GitHub开源文章的同学都已经知道。
当然自己可以写SQL语句查询,但是发现fh大神已经将这些数据过滤存储到2018_top_contributors数据表中。
站在巨人的肩膀上,没有必要再重复的查询,我们直接分析一下该表即可,如下图是我截取的表中包含国内BAT三家公司排名的部分数据,作为概览:
当然其编写的SQL语句(Details部分)还是有点小复杂,感兴趣的可以自行学习下,具体的SQL过滤语句我就不多说的。
原理背景知识
如果你使用过git的话,一般会要求你配置用户名和邮箱,做为commit提交时候的用户记录。
因此可以根据邮箱名统计该用户属于哪个公司。比如microsoft.com可以作为微软公司内部邮箱标识,google.com可以标识谷歌,amazon.com可以标识亚马逊,国内例如alibaba-inc.com可以标识阿里,baidu.com可以标识百度。
因为公司参与开源项目也是有目的,有的是未来的一个布局,有的可能仅仅是公司内部的KPI考核。
因此以公司邮箱提交的代码往往表示的是这个公司支持的开源,也可以看做该公司的在开源的贡献。
但是有的大公司所推出的公共邮箱服务需要注意,往往是以个人名义参与项目时候的用户信息会填写如gmail.com,outlook.com,yahoo.com,hotmail.com,qq.com,163.com,foxmail.com,126.com这些公共邮箱,不能作为公司的统计。
大公司有多少人参与了GitHub开源的贡献
下图是2018年度公司GitHub上贡献人数超过30人的前20名。
哪些主要的公司参与了GitHub开源贡献
可以看到上表一共统计出了95个公司,业界知名的公司都有包括
以下是这95个公司按照员工投入数量的排名词云图:
如果按照员工数量的排名,2018自微软员工参与GitHub开源的最多,共计1717名用户参与了push活动。当然还包括谷歌,redhat,ibm等诸多公司。
可以看到前二十名的公司都有超过100人参与了2018年年度的GitHub开源贡献,说明在开源上各大公司还是投入了相当多的人力。
百度,阿里,腾讯,在Github开源中投入了100+的人力,排名也很接近,不排除各家之间暗自竞争。
在我以前的文章中也总是提到伯克利这个学校在所有的教育机构中,github上的投入排名位居榜首。
这些主要的公司分别参与贡献了多少个开源项目
投入的人力是一方面的指标,参与项目的数量也可以作为一个参考,如下表:
如果按照每个公司参与的项目数量排序的话,谷歌公司共计参与了1543个项目,微软参与了1295个项目,远远领先于其他公司。
dependabot出现在了前十名,并且员工个数如此至少,基本上平均每个人参与了很多的项目。
如果计算每个项目上各个公司平均投入了多少人力,会发现基本都是1。也就是说每个项目都是一个人在维护。
但是如果按照每个人平均参与的项目数量进行排名,则会得到下图所示的结果:
可以发现,排名靠前的都是一些不太出名的机构和公司。这个指标是否可以说明一个问题:
虽然像google这样的大公司参与了很多的开源项目,但是很多的项目可能并没有参与实质性的贡献,可能只是提交了一些注释等方面的解释性信息。
这些主要的公司贡献了哪些比较出名的开源项目
由于每家公司都参与了很多的开源项目,比如微软和谷歌2018年度都参与了上千个开源项目,不可能罗列出所有的项目。同时上述分析了,其参与的很多项目有的并不是主要贡献人员。因此需要选取一些比较具有代表性项目。统计每个公司参与的所有项目2018年度star数量,用以表征这个项目的火爆程度,并选取star数量最多的前三名,如下图:
通常来说这种火热的项目背后都是某个大公司支持的,如果某个公司的员工参与进来,说明该项目对于该公司具有一定的价值。
比如微软2018参与的所有项目中,最火的包括了自家的vscode以及TypeScript。
google参与的项目中也有自家的tensorflow,以及目前主推的flutter等,投入人力数量可见其重视程度。
rehat参与的kubernetes虽然不是自家的产品,但是rehat在kubernetes的贡献仅次于其发布者google,只有两个人倒是出乎意料。
FB的react以及pytorch都是当下火热的项目,也是其当家开源产品,而且都投入了不少的人力。
其实你会发现一个现象,就是各个公司前三的项目,重合的概率非常的小,说明各公司还都是专注自己的领域。因为一旦一个微软帐号贡献了tensorflow,那么top3中就有tensorflow,因为该项目的star数是很多的。
由于篇幅有限,无法将每个公司参与的具有代表性的开源项目一一列举,
我这里面绘制了这95家公司每一家所贡献项目中star数排名前3名的项目词云,并按照2018年的star数量统一排名,如下图:
可以看到上述词云基本能够反映出时下火热的技术方向,包括可以flutter、react、tensorflow、pytorch、kubernetes、vscode、node等项目,
其实也是说明了技术的导向基本是这些大公司推动的。
如果按照每个项目各公司参与人数排名,绘制得到的词云图如下:
1,可以看到很多项目投入的人数基本相差不大,因为投入最多的edx-platform项目为66人,其他的主流项目基本都在20+。
2,投入的人数较多可以说明的是该项目目前还在频繁迭代中已经公司的重视程度。更多内容可以查看2018_top_contributors数据表。
2018这些主要的公司参与贡献的所有项目累计star数量是多少
每家公司参与项目所有累计的star数量前20如下表:
95家公司每家公司参与项目在2018年度所有累计的star数量排名词云:
因为star数量表示的是一个项目的火爆程度,这个排名我觉的可以用来衡量一家公司在开源领域的影响力。
像google在2018年贡献的所有项目star总量为858566,微软为418351,FB为298144,数量非常之大,是否可以说明这些公司在引领开源。
国内的BAT也都排进前20,说明国内企业的影响力在进一步提高。
综上来说,目前开源领域还是以微软,谷歌,Rehat等公司贡献较多,这些贡献也意味着未来一些领域的话语权。
本文转自:各大公司在GitHub上开源投入排名分析 (CSDN)
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2020-02-11 05:59:27
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!