近日一名国外开发者(Balazs Saros,下简称Balazs)在个人博客发表了一篇看似是在“声讨”中国开发者的文章,标题起得有点唬人——”Chinese repos are ruining the Github trending page”(中国开发者创建的repo正在破坏GitHub Trending页面)。

微软GitHub Trending趋势长期被国人“霸榜”,国外开发者打开即见中文-玩懂手机网 - 玩懂手机第一手的手机资讯网(www.wdshouji.com)

▲ 乍一看还以为中国开发者开源搞了个什么大项目

文章开头处,作者写了一个旨在避免引起误会的声明,他表示自己不反对 GitHub Trending上语言为非英语的repo,因为这毕竟是一件好事,能保证英语水平欠佳的开发者也能在这个热门页面拥有一席之地。他主要是想指出GitHub Trending页面的用户体验设计存在缺陷,并希望GitHub能对此进行修复。

Balazs说到,自己在任意时间打开GitHub Trending页面,很大概率会看到许多由中国开发者创建的repo,甚至遇到过前10项目中有9个使用中文的情况,如下:

微软GitHub Trending趋势长期被国人“霸榜”,国外开发者打开即见中文-玩懂手机网 - 玩懂手机第一手的手机资讯网(www.wdshouji.com)

GitHub Trending原本是一个十分有意义的功能,于开发者而言,这是一个发现有趣和优秀开源项目的好地方,对开源项目来说,这也是曝光和获取关注的一个有效渠道。但 Balazs表示自己越来越不愿意打开这个页面了,原因在于 GitHub Trending基本是长期被中国开发者创建的repo“霸榜”。

Balazs表示虽然可以借助翻译工具对这些repo的readme文件进行翻译以了解项目,但项目的演示页面、截图中出现的文字都不是英文,甚至代码的注释也没有使用英语。此外,这些项目大多是面向部分特定群体而创建,例如为准备求职的开发者而整理的“面经”材料,或者是一些教程类的内容。

对于这个现象的出现,Balazs给出了自己的分析,原因有三:

  • 中国在软件开发/技术方面的实力正在追赶美国,并开始大力扩充人才库
  • 投身软件开发行业是让“那里的人”摆脱贫困并拥有更多机会的一个最好的途径(有时甚至是唯一途径)
  • GitHub正在迅速扩张市场并且在开发者群体中拥有非常大的影响力,所以这些人将GitHub视为一个获取资料和解决方案的地方就不难理解了(中国人可无阻碍访问GitHub也是重要的影响因素)

最后,Balazs再次强调自己并非是在抱怨这些repo以及创建这些repo的用户,他认为总体来看这是一件好事,但却破坏了GitHub Trending的使用体验。为此,他提出了自己的想法:

  • GitHub现在可通过 repo包含的代码来判断项目使用的编程语言,然后在GitHub Trending提供依据语言来浏览项目的筛选项。因此,GitHub可考虑根据repo的readme/docs/etc文件使用的自然语言来对这些项目做出区分。同样的,然后据此在GitHub Trending中提供一个与地区相关的筛选项,默认值当然是“worldwide”——避免对排行榜造成影响。
  • 参考repo的 LICENSE文件,GitHub可以考虑给repo创建者提供添加 LANGUAGE文件的选择,这样无疑比自动判断自然语言更准确。
  • 将上述两点结合起来是最佳的做法,也就是说在GitHub判断项目使用的自然语言后,repo的创建者还能进行修改。