2019 GitHub 开源贡献排行榜新鲜出炉!微软谷歌领头,阿里跻身前 12!

640?wx_fmt=png

数据来源

基础数据来自:https://www.gharchive.org

统计方法

获取 GitHub 2019 年的 PushEvent,通过分析 GitHub 用户提交记录中的邮件地址,分辨其所属组织。

具体方法参考:https://www.freecodecamp.org/news/the-top-contributors-to-github-2017-be98ab854e87

分析工具

•Google Big Query•Data Studio

SQL 语句

由于 Google Big Query 每月只能免费获取 1TB 的数据处理量,因此,为了充分利用它,我们将数据查询限制在一定的日期范围(20190301-20191001)内,确保数据处理量接近而不超过 1TB。

此日期范围内的数据可大致反映 2019 全年 GitHub 各组织开源贡献度情况。

SELECT *	
FROM `githubarchive.month.2019*` a	
WHERE _TABLE_SUFFIX BETWEEN '0301' AND '1001'

完整的 SQL 语句编写如下:

#standardSQL	
WITH	
period AS (	
  SELECT *	
  FROM `githubarchive.month.2019*` a	
  WHERE _TABLE_SUFFIX BETWEEN '0301' AND '1001'	
),	
repo_stars AS (	
  SELECT repo.id, COUNT(DISTINCT actor.login) stars, APPROX_TOP_COUNT(repo.name, 1)[OFFSET(0)].value repo_name 	
  FROM period	
  WHERE type='WatchEvent'	
  GROUP BY 1	
  HAVING stars>20	
), 	
pushers_guess_emails_and_top_projects AS (	
  SELECT *, REGEXP_EXTRACT(email, r'@(.*)') domain	
  FROM (	
    SELECT actor.id	
      , APPROX_TOP_COUNT(actor.login,1)[OFFSET(0)].value login	
      , APPROX_TOP_COUNT(JSON_EXTRACT_SCALAR(payload, '$.commits[0].author.email'),1)[OFFSET(0)].value email	
      , COUNT(*) c	
      , ARRAY_AGG(DISTINCT TO_JSON_STRING(STRUCT(b.repo_name,stars))) repos	
    FROM period a	
    JOIN repo_stars b	
    ON a.repo.id=b.id	
    WHERE type='PushEvent'	
    GROUP BY  1	
    HAVING c>3	
  )	
)	
SELECT * FROM (	
  SELECT domain	
    , githubers	
    , (SELECT COUNT(DISTINCT repo) FROM UNNEST(repos) repo) repos_contributed_to	
    , ARRAY(	
        SELECT AS STRUCT JSON_EXTRACT_SCALAR(repo, '$.repo_name') repo_name	
        , CAST(JSON_EXTRACT_SCALAR(repo, '$.stars') AS INT64) stars	
        , COUNT(*) githubers_from_domain FROM UNNEST(repos) repo 	
        GROUP BY 1, 2 	
        HAVING githubers_from_domain>1 	
        ORDER BY stars DESC LIMIT 3	
      ) top	
    , (SELECT SUM(CAST(JSON_EXTRACT_SCALAR(repo, '$.stars') AS INT64)) FROM (SELECT DISTINCT repo FROM UNNEST(repos) repo)) sum_stars_projects_contributed_to	
  FROM (	
    SELECT domain, COUNT(*) githubers, ARRAY_CONCAT_AGG(ARRAY(SELECT * FROM UNNEST(repos) repo)) repos	
    FROM pushers_guess_emails_and_top_projects	
    #WHERE domain IN UNNEST(SPLIT('google.com|microsoft.com|amazon.com', '|'))	
    WHERE domain NOT IN UNNEST(SPLIT('gmail.com|users.noreply.github.com|qq.com|hotmail.com|163.com|me.com|googlemail.com|outlook.com|yahoo.com|web.de|iki.fi|foxmail.com|yandex.ru', '|')) # email hosters	
    GROUP BY 1	
    HAVING githubers > 30	
  )	
  WHERE (SELECT MAX(githubers_from_domain) FROM (SELECT repo, COUNT(*) githubers_from_domain FROM UNNEST(repos) repo  GROUP BY repo))>4 # second filter email hosters	
)	
ORDER BY githubers DESC

从下图中可以看到,本次查询统计将会处理 918.4GB 的数据。

640?wx_fmt=png

统计结果

点击运行,经过 17.8s,我们可以看到查询结果。

640?wx_fmt=png

顶级组织比较

640?wx_fmt=png

从上图我们可以看出:

•微软谷歌在开源贡献度上遥遥领先,位列 3-5 位的分别是 redhat、intel 和 amazon;•微软谷歌均有超过 1000 名员工(githubers)向多个 GitHub 仓库(repos_contributed_to) push 代码;•对于微软,2019 Top3 仓库分别是 Terminal、vscode 和 TypeScript,而谷歌则是 flutter、tensorflow 和 kubernetes。

排在 6-10 位的分别是 Pivotal、Facebook、Apache、SAP 和 Shopify。

640?wx_fmt=png

国内大厂比较

国内大厂开源贡献度最高的当属阿里员工,排在第十二位,top3 仓库分别是 flutter-go、nacos 和 sqlflow,所有项目共获得 stars 数超过 90000。

640?wx_fmt=png

百度和腾讯则分列 21、23 位。

640?wx_fmt=png

总览

开源贡献度前 38 位名单如下:

640?wx_fmt=png

有什么想法,欢迎留言区与我互动。

640?wx_fmt=gif

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub中文排行榜是一个展示使用GitHub平台的中文开发者在开源项目方面的活跃程度和贡献度的榜单。在GitHub中文排行榜中,会列出一些在代码托管、版本控制、项目协作等方面表现出色的开发者和项目。 这个榜单的目的是为了鼓励中文开发者积极参与开源项目,同时也是为了宣传和推广那些在开源社区中有着重要贡献的项目。通过这个排行榜,我们可以了解到中文开发者在哪些领域有着突出的贡献,以及他们所使用的开源工具、编程语言和技术。 在GitHub中文排行榜中,可以看到一些热门的开源项目,例如各种编程语言的框架、数据库、工具库等。这些项目通常是受到很多开发者关注和使用的,也代表着中文开发者在该领域的技术实力和影响力。通过查看排行榜,我们可以发现一些有趣的项目和技术趋势,了解到业界的最新动态。 GitHub中文排行榜还提供了一些统计数据,例如某个项目的星标数、fork数、贡献者数量等。这些数据可以帮助我们判断一个项目的受欢迎程度,并了解到该项目的发展情况和社区活跃度。 总之,GitHub中文排行榜是一个有益于推动中文开发者参与开源项目的平台,通过展示开发者的贡献和项目的活跃度,促进了技术交流和资源共享,也使得中文开发者在全球开源社区中得到了更多的关注和认可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值