中国人霸榜GitHub Trending,国外开发者很无奈

2019 年 7 月 18 日

中国人霸榜GitHub Trending,国外开发者很无奈


如果你经常浏览GitHub Trending榜单,你就会知道,中文项目、拼音项目有多少。GitHub Trending页面是快速找到有趣新项目的地方,对于开发者来说,也可以在这里为自己的项目获得更多关注。但近年来越来越多的中国项目霸榜GitHub Trending,引起了一些国外开发者的抱怨和不满,本篇文章的主人公就是这样一个心情复杂的代表。


本文主人公Balazs Saros是一位坐标匈牙利布达佩斯的开发者,7 月 16 日,他在自己的博客上发表了一篇名为 “Chinese repos are ruining the Github Trending page”的文章,标题直指中文项目破坏了 GitHub Trending 的页面。文章开头 Balazs 写了份免责声明:


我并不反对外国repo,我认为非英语国家的人们在热门页面当中占有一席之地是GitHub运行活跃度的良好体现。我本人的母语同样并非英语,在刚刚进行贡献时也会使用自己的语言。本文的目的,在于指出GitHub趋势页面中的用户体验设计缺陷。GitHub应及时修复设计缺陷,而非指责使用这一机制的用户。


众所周知,Github 的趋势页面无疑是快速找到有趣新 repo 的好平台,开发者也能够在这里为自己的项目争取到更多关注。Balazs 表示自己的一个项目就曾经荣登趋势页面,访客的大量增加让他亲身体验到了这种效果。正因为如此,他养成了偶尔逛逛该页面以了解社区动态的习惯。在这里,他也确实见到了众多自己压根没想到过的有趣项目。


但现在,他表示自己逛趋势页面的频率越来越低,因为外国 repo——特别是中国 repo——开始占据统治地位。他给出的证据是以下截图:



在当天的十大趋势项目当中,有九个都是中文项目。他自称并没有刻意截取这样的“瞬间”,只是在撰写本文的同时随便上去看了看。为了印证他的说法,笔者在撰稿时也去GitHub Trending页看了看,截图如下:



可以看出,本周排行前 6 的项目全部为中文项目。


Balazs 表示,他的确可以用谷歌翻译粗略地查看自述文件内容,但翻译效果实在有点“捉急”,而且演示页面和截图无法进行翻译。同样让他难受的是,连代码中的注释使用的都是中文。让他崩溃的最后一击,在于其中大量内容存在着强烈的区域限定性(例如专门讨论他从未使用甚至听说过的中国服务,或者是希望在中国企业找工作的人们发布的面试材料等)。


找到问题,分析问题,解决问题一直是开发者们为人处世的原则和逻辑。


于是乎,他首先分析了 GitHub Trending 页面被中国人霸榜的原因,主要有以下几点:


  1. 中国在软件/技术方面正在快速追赶美国,并专注于扩大人才储备库;

  2. 软件开发是帮助中国人才摆脱贫困并实现自我发展的最佳方式之一(有时候甚至可以去掉「之一」);

  3. GitHub正在成长且非常强大,因此成为中国开发人员们的理想发布解决方案。


随后,他给出了自己的解决方案:


  1. Repo已经拥有“语言”这一属性,其基于项目当中包含的代码。同样的,GitHub也可以引入新的属性以检测自述文件/docs/其它文本中的自然语言,并将其分配给项目。在趋势页面当中,用户可以选择仅浏览特定编程语言的项目,自然也应该可以设置仅浏览特定自然语言的项目。默认选项可以是“全球”,以避免直接屏蔽那些外国项目;用户可以随后根据需要进行调整。

  2. Repo还能够从LICENSE文件当中读取许可属性。作者可以添加一个LANGUAGE文件,或者直接通过下拉菜单让用户以手动方式选择。列表选项可以与第一点中的描述相同。

  3. 也许将前两点融合起来才是最理想的解决方案。系统每一次都会自动检测,而作者能够对检测结果进行重写。这就同时解决了便利性与灵活性的问题。


文章发布后,部分躺枪的中国开发者们对 Balazs 进行了回复:


我想你会习惯的!(本条评论依旧是用中文写就)

我是一名每天使用GitHub的中国开发者,我完全同意GitHub在趋势页面和电子邮件中组织多语言内容方面做得很差。你的建议听起来像是解决问题的好办法。(本条评论是全英文的)


还有一位外国开发者表示 Balazs 文章的标题不妥:


也许你应该把文章的标题从“破坏页面”改为“Github应该在趋势页面上提供自然语言支持”。它带有负面情绪。我理解它会破坏页面的UI,因为我们习惯于阅读英文描述,但这不应该阻止中国开发人员创建如此惊人的存储库。


GitHub 有正确的使用姿势吗?


即便是在中文互联网并不算发达的年代,国内开发者们都很少有不知道 GitHub 的,何况是现在中国市场已经成为各大开源基金会眼中的世界第二大市场。随着中国开发者规模的持续膨胀,在可预见的未来,GitHub 的中文仓库会越来越多。根据 2018 年 GitHub 年度开发者报告,中国开发者的贡献从 15 年开始就稳居第二。



Contributor 数量排名的前 20 位


随着 GitHub 在国内开发群体的流行度日渐提高,国内不少针对程序员的招聘、简历上也加上了 GitHub 方面的要求,更加速了中国开发者的 GitHub 使用率。当 GitHub 上的中国开发者样本足够多,中文就成了某种事实上的“官方使用语言”。


随之而来的,便是持续不断对于中国开发者使用 GitHub 的质疑:


  • 有在GitHub上刷面试题的;

  • 有在GitHub上共享各种资料的;

  • 有在GitHub上交流买房经验的;

  • 有在GitHub上追星办比赛的;

  • ……


不仅是国外开发者,国内许多重度 GitHub 用户也觉得受到了打扰。不少人认为 GitHub 是一个世界性的学习交流平台,中国开发者不应该只考虑自己,也得考虑别人。更进一步,有人尖锐地批评中国开发者都 2019 年了,还是没学会真正的开源精神,仍旧只知道在自己的一方天地里自嗨。


在你看来,GitHub 有正确的使用姿势吗?


你会怎么解决这样的问题?


你或许还想看:GitHub上的那些奇葩项目


参考链接:


https://medium.com/@balazs.saros/chinese-repos-are-ruining-the-github-trending-page-2eeda45ae1e0


2019 年 7 月 18 日 17:39 22608
用户头像
小智 InfoQ 主编

发布了 388 篇内容, 共 301.2 次阅读, 收获喜欢 1638 次。

关注

评论 8 条评论

发布
用户头像
哈哈,人才多
2019 年 07 月 22 日 10:03
回复
用户头像
中国开发者不应该只考虑自己,也得考虑别人
又是这一套,当初我们摸爬滚打的时候,你们没考虑过我们。现在我们一步步追上超过你们了,又开始指责我们不考虑别人了
2019 年 07 月 19 日 15:50
回复
用户头像
还有上传女装照的 repo... 确实有些滥用
2019 年 07 月 19 日 11:14
回复
女装梗是真的挺烂俗的
2019 年 07 月 19 日 13:55
回复
用户头像
中国开发者多啊,人一多就容易出现这种情况
2019 年 07 月 19 日 08:12
回复
用户头像
万物皆可GitHub?
2019 年 07 月 18 日 17:52
回复
君子报仇十年不晚,先git记下[/滑稽]
2019 年 07 月 18 日 21:21
回复
🐶
2019 年 07 月 19 日 09:49
回复
没有更多评论了
发现更多内容

架构师训练营第四周作业

听夜雨

架构师训练营第 1 期

WEEK4 学习总结

陈勇

架构师训练营第 1 期

训练营第四周作业 1

仲夏

架构师训练营第 1 期

大型互联网应用面对的挑战及应对方案和手段

张荣召

视读——沟通的艺术,看入人里,看出人外(第四章)

双儿么么哒

聊聊「测试分工和测试时间」

清菡

测试

WEEK4 一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述

陈勇

DDIA读书笔记(1)可靠性,可扩展性,可维护性

莫黎

读书笔记

系统架构:系统技术挑战与方案

张荣召

用Python绘制地理图

计算机与AI

Python 绘图

架构师训练营-week04-作业1

lucian

架构师训练营第 1 期

训练营第四周作业 2

仲夏

架构师训练营第 1 期

架构师作业 - 第四周 - 一个典型的大型互联网应用系统使用了哪些技术方案和手段

袭望

LeetCode题解:22. 括号生成,递归生成同时过滤,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

理解分布式一致性:Raft协议

程序那些事

分布式 raft 分布式一致性 raft协议

Paxos 的变种(一):Multi-Paxos 是如何劝退大家去选择 Raft 的

多颗糖

分布式 架构师 分布式架构 分布式一致性

为什么说 Python 内置函数并不是万能的?

Python猫

Python

Spring 事务,你真的用对了吗(上篇)?

双儿么么哒

Spring MVC

区块链助力政府建设高效政务能力

CECBC区块链专委会

区块链 政务

架构师训练营第 1 期 - 第四周作业提交

Todd-Lee

架构师训练营第 1 期

第四周-系统架构

Darnell

理解分布式一致性:Paxos协议之Basic Paxos

程序那些事

raft PAXOS raft协议 paxos协议 Basic paxos

极客时间架构师培训 1 期 - 第 4 周作业

Kaven

会用Docker的人都别装了,这多简单呐

MySQL从删库到跑路

MySQL Docker Linux yum redhat

架构师训练营第 1 期 - 第四周总结

Todd-Lee

架构师训练营第 1 期

架构师训练营第四周学习总结

听夜雨

架构师训练营第 1 期

架构师训练营 1 期 -- 第四周作业

曾彪彪

「架构师训练营第 1 期」

week04作业

追风

架构师一期

B站真题:如何判断括号是否有效?

王磊

Java 数据结构 算法

架构师训练营 1 期 -- 第四周总结

曾彪彪

「架构师训练营第 1 期」

week04总结

追风

架构师一期

中国人霸榜GitHub Trending,国外开发者很无奈-InfoQ