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

GitHub Trending被国人长期“霸榜”,国外开发者SAY NO-风君雪科技博客
乍一看还以为中国开发者开源的项目搞了个什么大新闻

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

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

GitHub Trending被国人长期“霸榜”,国外开发者SAY NO-风君雪科技博客

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

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

  对于这个现象的出现,Balazs 给出了自己的分析,原因有三(个人认为 Balazs 的认识还比较深刻):

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

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

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