Arm、Macports、Docker、Nuxeo、NVidia、Yelp、Elastic、NYU、WSO2、Mesosphere 和 Inria:
Puppet、斯坦福(计算机科学)、DatadogHQ、Epfl、NTT Data 和 Lawrence Livermore Lab:
我进行了过滤。我只统计了 2017 年的星标。举个例子说,Apache 在 GitHub 上有跨越 1500 个仓库,然则本年只有 205 个项目获得了跨越 20 个星标。
我的分析办法
我是如何将 GitHub 用户接洽关系到其公司的
在 GitHub 上剖杜绫强个用户所属的公司并不轻易,然则我们可以应用其推送事宜的提交消息中展示的邮件地址域名来断定。
- 同样的邮件地址可以涌如今几个用户身上,所以我仅推敲那些对此时代获得了跨越 20 个星标的项目进行推送的用户。
- 我仅统计了在此时代推送跨越 3 次的 GitHub 用户。
- 用户推送代码到 GitHub 上可以在其推送中显示很多不合的邮件地址,这部分是由 GIt 工作机制决定的。为了剖杜绫强个用户的组织,我会查找那些在推送中出现更频繁的邮件地址。
- 不是每个用户都在 GitHub 上应用其组织的邮件。有很多人应用 gmail.com、users.noreply.github.com 和其它邮件托管商的邮件地址。有时刻这是为了保持匿名和保护其公司邮箱,然则如不雅我不克不及定位其公司域名,这些用户我就不会统计。抱歉。
- 有时刻员工会改换所任职的公司。我会将他们分派给其推送最多的公司。
我的萌芽语句
- #standardSQL
- WITH
- period AS (
- SELECT *
- FROM `githubarchive.month.2017*` a
- ),
- 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
- , REGEXP_WordStr(REGEXP_EXTRACT(email, r'@(.*)'), r'.*.ibm.com', 'ibm.com') 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
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 摘要:这篇文┞仿我们将对一些各类各样的博客的风行度相对于他们在谷歌上的排名进行一个分析。所有代码可>>>详细阅读
本文标题:2017年哪个公司对开源贡献最多?让我们用GitHub的数据分析下
地址:http://www.17bianji.com/lsqh/38843.html
1/2 1