近日,GitHuber.info 以 GitHub API 为基础,结合 GitHub 用户的地理位置信息,整理发布了《2014 年GitHub 中国开发者年度报告》。报告中分析了GitHub 中国用户的比例、活跃用户数、活跃时间段、仓库数量、PR 数量、项目Star 数量、组织等信息,并就相关指标与美国开发者做了对比。同样,GitHub 官方也会发布年度的用户报告,InfoQ 编辑结合官方与社区发布的数据,对GitHub 上的中国开发者情况做了一个简单的回望。
1. GitHub 用户数
GitHub 成立于 2008 年,是一个社区型的代码协作平台。根据 2012 年的报告显示,GitHub 在 2008 年就有 4 万多的用户,在 2009 年迅速增长为 16 万,根据官方发布的增长数据可以推断出 2013 年已经有近 600 万(具体数字是 5843193)用户,新增用户有 300 万之多。GitHuber.info 社区通过 API 计算得出,截止到 2015 年 1 月 20 日,GitHub 用户数已经超过千万(10475867)。如果这个数据准确,那 2014 年 GitHub 的用户增长就有 400 万。
从 2012 年的报告中得知,GitHub 中用户数最多(官方给出的数据是访问量最多,这里姑且认为访问量和用户数成正比)的五个国家分别是美国、德国、英国、中国和日本,2013 年是美国、德国、中国、英国、印度,而据微博上一位GitHub 员工透漏,2014 年中国已经成为GitHub 用户数最多的第二大国家。2013 年官方公布的数据显示,所有的注册用户中中国用户占5.8%,如果以此比例来计算,那现在GitHub 上的中国开发者大概有60 万。
2. 开发语言
2014 年 5 月就曾有分析机构利用GitHub 来统计分析编程语言的发展趋势,分析结果显示GitHub 上主流的五种开发语言分别是JavaScript、Ruby、Java、PHP 和 Python,其中CSS 占的比例也比较大,C 和C++ 处于中等水平,Go 之类的新型语言体量还是比较小。GitHuber.info 对中美开发者的语言情况做了对比,其中JavaScript 和CSS 占绝对优势,两者加起来接近1/3,这也不难理解,JavaScript 和CSS 是前端开发的必备语言,更何况还有Node.js 之类的服务器端JavaScript 语言。而排名第三的语言中美国和中国分别是Ruby 和Java,紧接着是Shell 和Python。值得注意的是,PHP 并没有进入前五,这也可能和该语言的使用场景有关(见过最多的PHP 类开源项目就是各类CMS)。两个国家的开发者中使用.NET 的用户都比较少,这和微软一直不鼓励开源的社区生态有关,随着新一年微软在开源方面的投入,相信.NET 相关的开源项目会逐渐增多。
需要注意的是,由于GitHuber.info 统计国家时只能根据用户的Location 信息识别,而很多用户都没有填写Location 信息,所以文中涉及到GitHuber 方的数据时均指带有Location 信息的用户。
3. 项目情况
从仓库数来看,大多数开发者(75%)都拥有 0-5 个仓库,中美开发者差别不大。由于统计的是去除 Fork 的仓库,所以 0-5 个也属于正常情况,一个用户能玩转属于自己的几个开源项目,已经非常不错了。
而考量项目的质量可以从项目的 Star 数量来看,同样,绝大多数的项目都只有 0-5 个 Star,其中中国开发者的比例为 67%,美国开发者为 80%。如果以 Star 大于 1 万的标准来衡量优质项目,那中国没有,Star 数量最高的是 awesome-python ,有 9393 个 Star。
从项目的代码量来看,中美开发者悬殊比较大,GitHuber.info 统计到的数据中美国用户的代码数量(字节)大多在 1 万到 10 万之间,而中国用户大多在 0 到 1000 之间(也就是基本为 0),美国开发者的代码量远大于中国。从分支数来看,美国和中国的对比相差不多,大多项目的分支数量都在 3 个以下,这也反映出⼤部分项目还是纯个人业余开发, 并没有达到需要规范分支的程度。但同样由于美国开发者基数比较大,所以总体来看,美国开发者好于中国开发者。另外,90% 的项目的贡献者不超过 5 个人,90% 的项目几乎没有 PR 和 Issue,所以在人力投入比较少,且没有反馈的情况下,大多数的项目都没有长远的发展。
4. 活跃时间
GitHuber.info 官方没有列出美国开发者的活跃时间,这里将官方 2013 年的数据作为对比,与美国开发者一样,一周中中国开发者最活跃的是周二和周三,最不活跃的是周六。比较有意思的是,周末两天美国开发者的活跃度都比较低,而中国开发者周日非常活跃,甚至比周五的还要高。细化到每天,更是伤人心。中国开发者每天最活跃的时间是凌晨 0 点到 2 点之间,而美国开发者是上午 9 点左右和下午 1 点左右。总体来看,代码推送的活跃度上午明显高于下午,美国开发者是白天明显高于晚上,而中国开发者是晚上明显高于白天。
5. 组织
组织是 GitHub 新的账号管理模式,旨在满足大型开发团队的需求。组织是非登录账号,需要以 GitHub 用户身份登录,然后再创建自己的组织。截止 2015 年 1 月 20 日,GitHuber.info 根据 API 统计到一共有 2500 个中国区组织和约 25000 个美国区组织,GitHub 的用户数美国是中国的 4 倍,但是组织数美国却是中国的 10 倍,看来中国使用者并不喜欢团队协作。
组织部分总体的分布趋势和项目很类似,不过各项统计按比例来算要比项目信息稍差一些。按理说组织中的项目应该更容易吸引成员参与,从而在 PR、Issue 上有更好的表现。反过来说,目前中国的组织并没有充分发挥组织的作用,对开源项目的发展推动不大。目前国内的优秀开源项目主要还是依靠线下团队的合作开发,距离美国开源项目的众包模式还有些差距。
刚刚从 GitHub 官方邮件中得知,GitHub 今年不会再发布 Octoverse 报告,不过感兴趣的读者可以邮件 press@github.com 获取一些官方可以公布的数据,InfoQ 正在与官方联系,希望获取一些中国开发者的详细报告,我们也会及时公开各项数据。从 GitHub 用户增长数量也可以看到开源的趋势,随着国内开源环境的成熟,优质的国产开源项目也越来越多,InfoQ 也会全程跟踪报道国内的开源状态,敬请关注。
感谢 GitHuber.info 的梁杰对本文的贡献。
评论