新浪科技

GitHub的中国乱象:刷星、高仿、骂街和版聊

捕捉翻倍美股

关注

欢迎关注“创事记”的微信订阅号:sinachuangshiji

文/光谱

来源:硅星人(guixingren123)

不守规矩的玩家,污染的是整个环境,以及中国人的集体声誉。

大家好,硅星人又来揭黑打假了。

今天,我们关注一下人称全球最大程序员交友社区的GitHub

这两天有朋友问我:你有关注前端圈最近的娱乐大新闻吗?然后扔给我一个网站,名叫前端娱乐圈:

点进去看了下,是另一个程序员社区“掘金”的页面。ID名为“花裤衩”的用户放了一张截图:

虽然硅星人自己不是程序员,倒也还是对GitHub稍有了解的。

这个Trending是统计项目每日增加的星数(Star)得来的,而在GitHub上,星就和别处的收藏、按赞的意思差不多。

而截图显示,这个项目kui-vue的星数高达1,100多个,而且是在一天内就增加了超过1,000个星。

相信硅星人的工程师朋友们都知道:能登上GitHubTrending的项目,肯定都是很厉害的项目。

比如,某个行业从来没有人做过的重要功能组件,或者比之前最佳方案显著优秀的“轮子”*,抑或大公司开发的影响力比较大的项目开源,都有可能登上GitHubTrending。

比如Google的深度学习框架TensorFlow开源的时候,就上过Trending:

问题在于,这个kui-vue前端项目,并没有很厉害。不但PR和Issue**很少,也并不是来自什么大公司。

就跟微信公众号阅读量太高,赞数&留言太少一样,GitHub项目星数很多PR&Issue不成比例,也很蹊跷。

用户“花裤衩”没用多久就发现了kui-vue的问题所在:给这个项目按星的大量用户,都有明显的共同特征:

1.没有头像

2.都按星了相同的几个项目

谁都不傻:这不很明显的机器人吗!

现在基本可以确定,kui-vue是靠刷星在9月2日冲上的Trending。

(是的,我也是头一回知道,原来GitHub也可以刷…)

真的有很多用户(不少都是中国用户)上刷星。

多到有人在GitHub上专门做了个黑名单,记录有作弊行为的用户和项目:

https://github.com/cheathub/cheats

硅星人发现,很多举报刷星项目的朋友都提到过,在淘宝上有店铺专门做这种生意……

不是说说而已,下面这些截图显示,淘宝上还真有做这行生意的:

真是万能的淘宝……

这些截图也透露了几个比较重要的消息:

首先:用户刷星,违反GitHub的用户协议是淘宝商家或者提供这种服务的人,并不是用户本人。严格来讲,用户只是有不诚信行为而已;

其次,最后一张截图展示了很多用户刷星的动机所在:想让自己的努力更容易被别人看到。

和大部分职业一样,软件工程师入职前也得面试。

对于他们,GitHub就是简历。他们的企图很简单:当面试官看到库里有星数很高的项目,通常代表这个程序员有能力开发高质量的项目,在圈内有一定的影响力或者潜力。

招来这个人,不仅能让开发变快让业务更顺,还能让公司在开发者社群里提高存在感和地位,说出去都是“我们公司有GitHub上高星数的程序员”,挺有面子的。

然而问题在于:大部分程序员都是真的刻苦开发钻研技术,做出优秀的项目,却总是有人选择走捷径、耍小聪明。

最近几年来,随着中国科技互联网创新的加速,中国程序员也越来越多。需求也提高了,也就有了GitHub刷星这回事。

当然,也别全都当面试官是傻子嘛……

“感觉就是一点老鼠屎坏了一锅汤,”硅谷程序员小陈告诉硅星人,

“面试官以前会用星数来判断面试者的能力。现在知道原来这些也能买,就不考虑了。这样对真正有技术实力、靠自己本领攒了很多星的朋友很不公平。”

刷星只是GitHub上“中国乱象”的一小部分。

为了写这篇,硅星人查了查资料也问了身边的程序员朋友,发现中国人在GitHub上乱搞的能力远不止于刷星。

来,我们一起看看这些神奇的玩法:

1高仿

高仿是最近几年GitHub上特别猖狂的一种造假/不诚信行为。具体有这么几种体现形式:

1)用户高仿

用户高仿就是某些坏蛋把别的(通常比较优秀的)GitHub用户完全照搬过来,头像、地区、组织等用户信息和抄袭对象完全一样。

以下截图来自V2EXhttps://www.v2ex.com/t/342137

原主:

高仿:

这样做的效果就是高仿者自己的项目得到了很多用户关注、按星和PR;与此相对,正牌作者项目的关注、技术讨论和支持,甚至捐助都被分流走了。

这里面还有细节。观察了很多高仿者,发现他们repo里的项目都是差不多的……莫非都是一个地方出来的?

2)产品高仿

产品高仿就是完全仿照某些知名的移动互联网产品的外观开发一个项目。

去GitHub上搜一圈,你应该能找到一大堆高仿微信、高仿美团、高仿饿了么、高仿知乎之类的项目。

这种项目大多直接亮明了是高仿身份。

一位在掘金工作的朋友表示,GitHub上的高仿项目,大多都是社会上的软件开发培训班产物。

他说,有些培训班的学员还会去抄袭掘金上别人的文章,在简历里说是自己写的;最不要脸的是发了高仿的项目到掘金上,然后截图说被社区推荐,还说掘金跟这些培训机构有合作。

“我们之前是收到很多高仿的投稿,例如使用vue高仿饿了么,高仿美团,都是培训班搞的幺蛾子。”

2、垃圾项目刷版

培训班除了喜欢做高仿之外,还特别喜欢做一件事:让学员把GitHub当网盘,把作业——通常都是垃圾项目——放到GitHub上刷版。

截图来自掘金:

项目基本就是贪吃蛇、象棋、京东之类的:

我终于知道淘宝上消失的那些“GitHub代练”都跑哪儿去了。

现在,培训班都把这些业务托管了:从建立个人网站,到包装GitHub账号,包括刷星、关注、优先客户的PR等,应有尽有,一站解决……

培训班为什么这么做,就是因为现在的科技公司招人都很看重候选人在GitHub这样的程序员社区里面的表现。

3、版聊

本质上,GitHub是个使用Git技术进行版本控制的软件源代码托管服务。

GitHub同时也代表一个开源的社区。但在一切之前,它本身应该是一个严格的、没有bullshit的工具。

然而如果你把GitHub只看作是一个社区的话,就很容易滥用它的一些功能。

下面这几张截图,出自前端圈一个比较有名的事件。今年,Node之父RyanDahl(ry)开发了一个新项目deno,在GitHub上开了源。

结果,有大量中文用户跑到这个项目上版聊:

版聊里甚至出现了下面这种神奇的中式英文:

这些版聊,是通过项目的Issue形式发布的,然而Issue的本来作用是让用户举报bug、对项目提交技术上的建议和意见用的。

遗憾的是,这些中国用户根本没有掌握GitHub的正确用法,还以为它是天涯……

4、明哥事件

如果ry/denoIssue版聊把GitHub变成了天涯,那么明哥已经把GitHub变成了QQ空间。

明哥(MingGe)以项目描述README文风嚣张,和项目实际代码质量极低,在GitHub上特别出名……

让我们看一下明哥的项目MingGeJS的项目描述:

继优秀作品shearphoto截图插件,本人又再推出国产山寨JQUERY,为什么我要开发一个山寨JQUERY?老实说我从来没用过JQUERY,正因为我反感JQUERY。

为什么我反感,因为我完全有开发JQUERY的能力,JQUERY的底层我都了如指掌。

它的名字叫MingGeJs,MingGe就是我的大名,一看到插件名字,就知道作者是我,知道它是国产的,让别人知道国产类库一样做得很出色,出众

本人文化程度不高,初中毕业!半句英文都不会,但是我相信只要肯努力一样可以实现自己的梦想。

MingGeJS的梦想有点大胆,就是在全球范围内,占据jQuery百分之50以上的用户份额。

(千真万确都是他自己写的)

是不是特别的霸气!

然而知乎网友鲁小夫看了代码发现,明哥的这个项目代码质量是真的差,不但里面英文拼写有一大堆错,还把抄袭对象JQuery里面很多好的地方全都改的更烂了……

https://www.zhihu.com/question/38537088/answer/76997255

就是这样一个神奇的项目,在GitHubTrending上一度追赶苹果Swift:

明哥就这样出名了。在项目的一个更新文档里,他分享了自己的经历:

怎么讲,明哥你赢了!

这些中国乱象,已经在GitHub上引起了公愤。

deno项目Issue被中文刷屏,导致作者ry苦不堪言。他不得不自己也写了一条Issue,告诉所有人:如果没有正经事,请保持安静。

其他英文用户也看不下去了,纷纷要求ry关掉无意义的Issue:

事情大到了ry一度不得不关掉Issue功能(后来打开了)。

当然,最看不下去的,还是中国自己的开发者。

因为这些乱象虽然猖狂,总体上GitHub的大部分中国用户,还是很遵守这个开源社区的规矩的。

这也是为什么在知乎、V2EX、掘金和其他平台上,能够看到大量对高仿、刷星和版聊的声讨。

一位硅谷程序员小魏也关注过GitHub上的中国乱象,他表示,这些行为极大地影响了用户使用GitHub的效率,扰乱视听。

他说的没错:高仿项目分流了真实项目的关注度;刷星的项目容易导致新手用户误入歧途;使用Issue版聊严重干扰了项目作者的工作和生活。

不守规矩的玩家,污染的是整个环境,以及中国用户的集体声誉。

还GitHub一片净土吧。

*轮子:梗来自“重复发明轮子”,可以指程序、工具、库、之类的实现方式。很多GitHub用户热衷造轮子,但这并不是错误,因为新的轮子可能比旧轮子更好用。

**PR:PullRequest,即其他用户向原项目提交自己的修改,要求项目所有者批准。由于GitHub的开源项目库属性,PR是项目改进的实现方式,是GitHub的重要功能之一;Issue:允许其他用户向项目所有者提交自己发现的bug以及改进的意见和建议等,也是GitHub的重要功能之一。

加载中...