今天,我們關(guān)注一下人稱全球最大程序員交友社區(qū)的 GitHub。
這兩天有朋友問我:你有關(guān)注前端圈最近的娛樂大新聞嗎?然后扔給我一個(gè)網(wǎng)站,名叫前端娛樂圈:
點(diǎn)進(jìn)去看了下,是另一個(gè)程序員社區(qū) " 掘金 " 的頁面。ID 名為 " 花褲衩 " 的用戶放了一張截圖:
雖然硅星人自己不是程序員,倒也還是對(duì) GitHub 稍有了解的。
這個(gè) Trending 是統(tǒng)計(jì)項(xiàng)目每日增加的星數(shù) ( Star ) 得來的,而在 GitHub 上,星就和別處的收藏、按贊的意思差不多。
而截圖顯示,這個(gè)項(xiàng)目 kui-vue 的星數(shù)高達(dá)1,100多個(gè),而且是在一天內(nèi)就增加了超過1,000個(gè)星。
相信硅星人的工程師朋友們都知道:能登上 GitHub Trending 的項(xiàng)目,肯定都是很厲害的項(xiàng)目。
比如,某個(gè)行業(yè)從來沒有人做過的重要功能組件,或者比之前最佳方案顯著優(yōu)秀的 " 輪子 "*,抑或大公司開發(fā)的影響力比較大的項(xiàng)目開源,都有可能登上 GitHub Trending。
比如 Google 的深度學(xué)習(xí)框架 TensorFlow 開源的時(shí)候,就上過 Trending:
問題在于,這個(gè) kui-vue 前端項(xiàng)目,并沒有很厲害。不但 PR 和 Issue** 很少,也并不是來自什么大公司。
就跟微信公眾號(hào)閱讀量太高,贊數(shù) & 留言太少一樣,GitHub 項(xiàng)目星數(shù)很多 PR & Issue 不成比例,也很蹊蹺。
用戶 " 花褲衩 " 沒用多久就發(fā)現(xiàn)了 kui-vue 的問題所在:給這個(gè)項(xiàng)目按星的大量用戶,都有明顯的共同特征:
1. 沒有頭像
2. 都按星了相同的幾個(gè)項(xiàng)目
誰都不傻:這不很明顯的機(jī)器人嗎!
現(xiàn)在基本可以確定,kui-vue 是靠刷星在 9 月 2 日沖上的 Trending。
(是的,我也是頭一回知道,原來 GitHub 也可以刷 …)
真的有很多用戶(不少都是中國(guó)用戶)上刷星。
多到有人在 GitHub 上專門做了個(gè)黑名單,記錄有作弊行為的用戶和項(xiàng)目:
硅星人發(fā)現(xiàn),很多舉報(bào)刷星項(xiàng)目的朋友都提到過,在淘寶上有店鋪專門做這種生意 ……
不是說說而已,下面這些截圖顯示,淘寶上還真有做這行生意的:
真是萬能的淘寶 ……
這些截圖也透露了幾個(gè)比較重要的消息:
首先:用戶刷星,違反 GitHub 的用戶協(xié)議是淘寶商家或者提供這種服務(wù)的人,并不是用戶本人。嚴(yán)格來講,用戶只是有不誠(chéng)信行為而已;
其次,最后一張截圖展示了很多用戶刷星的動(dòng)機(jī)所在:想讓自己的努力更容易被別人看到。
和大部分職業(yè)一樣,軟件工程師入職前也得面試。
對(duì)于他們,GitHub 就是簡(jiǎn)歷。他們的企圖很簡(jiǎn)單:當(dāng)面試官看到庫(kù)里有星數(shù)很高的項(xiàng)目,通常代表這個(gè)程序員有能力開發(fā)高質(zhì)量的項(xiàng)目,在圈內(nèi)有一定的影響力或者潛力。
招來這個(gè)人,不僅能讓開發(fā)變快讓業(yè)務(wù)更順,還能讓公司在開發(fā)者社群里提高存在感和地位,說出去都是 " 我們公司有 GitHub 上高星數(shù)的程序員 ",挺有面子的。
然而問題在于:大部分程序員都是真的刻苦開發(fā)鉆研技術(shù),做出優(yōu)秀的項(xiàng)目,卻總是有人選擇走捷徑、耍小聰明。
最近幾年來,隨著中國(guó)科技互聯(lián)網(wǎng)創(chuàng)新的加速,中國(guó)程序員也越來越多。需求也提高了,也就有了 GitHub 刷星這回事。
當(dāng)然,也別全都當(dāng)面試官是傻子嘛 ……
" 感覺就是一點(diǎn)老鼠屎壞了一鍋湯," 硅谷程序員小陳告訴硅星人,
面試官以前會(huì)用星數(shù)來判斷面試者的能力。現(xiàn)在知道原來這些也能買,就不考慮了。這樣對(duì)真正有技術(shù)實(shí)力、靠自己本領(lǐng)攢了很多星的朋友很不公平。
刷星只是 GitHub 上 " 中國(guó)亂象 " 的一小部分。
為了寫這篇,硅星人查了查資料也問了身邊的程序員朋友,發(fā)現(xiàn)中國(guó)人在 GitHub 上亂搞的能力遠(yuǎn)不止于刷星。
來,我們一起看看這些神奇的玩法:
一、高仿
高仿是最近幾年 GitHub 上特別猖狂的一種造假 / 不誠(chéng)信行為。具體有這么幾種體現(xiàn)形式:
1)用戶高仿
用戶高仿就是某些壞蛋把別的(通常比較優(yōu)秀的)GitHub 用戶完全照搬過來,頭像、地區(qū)、組織等用戶信息和抄襲對(duì)象完全一樣。以下截圖來自 V2EX
原主:
高仿,看 ID 多了一個(gè) "i":
這樣做的效果就是高仿者自己的項(xiàng)目得到了很多用戶關(guān)注、按星和 PR;與此相對(duì),正牌作者項(xiàng)目的關(guān)注、技術(shù)討論和支持,甚至捐助都被分流走了。
這里面還有細(xì)節(jié)。觀察了很多高仿者,發(fā)現(xiàn)他們 repo 里的項(xiàng)目都是差不多的 …… 莫非都是一個(gè)地方出來的?
2)產(chǎn)品高仿
產(chǎn)品高仿就是完全仿照某些知名的移動(dòng)互聯(lián)網(wǎng)產(chǎn)品的外觀開發(fā)一個(gè)項(xiàng)目。
去 GitHub 上搜一圈,你應(yīng)該能找到一大堆高仿微信、高仿美團(tuán)、高仿餓了么、高仿知乎之類的項(xiàng)目。
這種項(xiàng)目大多直接亮明了是高仿身份。
一位在掘金工作的朋友表示,GitHub 上的高仿項(xiàng)目,大多都是社會(huì)上的軟件開發(fā)培訓(xùn)班產(chǎn)物。
他說,有些培訓(xùn)班的學(xué)員還會(huì)去抄襲掘金上別人的文章,在簡(jiǎn)歷里說是自己寫的;最不要臉的是發(fā)了高仿的項(xiàng)目到掘金上,然后截圖說被社區(qū)推薦,還說掘金跟這些培訓(xùn)機(jī)構(gòu)有合作。
" 我們之前是收到很多高仿的投稿,例如使用 vue 高仿餓了么,高仿美團(tuán),都是培訓(xùn)班搞的幺蛾子。"
二、垃圾項(xiàng)目刷版
培訓(xùn)班除了喜歡做高仿之外,還特別喜歡做一件事:讓學(xué)員把 GitHub 當(dāng)網(wǎng)盤,把作業(yè)——通常都是垃圾項(xiàng)目——放到 GitHub 上刷版。
截圖來自掘金:
項(xiàng)目基本就是貪吃蛇、象棋、京東之類的:
我終于知道淘寶上消失的那些 "GitHub 代練 " 都跑哪兒去了。
因?yàn)榕嘤?xùn)班都把這些業(yè)務(wù)托管了:從建立個(gè)人網(wǎng)站,到包裝 GitHub 賬號(hào),包括刷星、關(guān)注、優(yōu)先客戶的 PR 等,應(yīng)有盡有,一站解決 ……
培訓(xùn)班為什么這么做,就是因?yàn)楝F(xiàn)在的科技公司招人都很看重候選人在 GitHub 這樣的程序員社區(qū)里面的表現(xiàn)。
三、版聊
本質(zhì)上,GitHub 是個(gè)使用 Git 技術(shù)進(jìn)行版本控制的軟件源代碼托管服務(wù)。
GitHub 同時(shí)也代表一個(gè)開源的社區(qū)。但在一切之前,它本身應(yīng)該是一個(gè)嚴(yán)格的、沒有 bullshit 的工具。
然而如果你把 GitHub 只看作是一個(gè)社區(qū)的話,就很容易濫用它的一些功能。
下面這幾張截圖,出自前端圈一個(gè)比較有名的事件。今年,Node 之父 Ryan Dahl ( ry ) 開發(fā)了一個(gè)新項(xiàng)目 deno,在 GitHub 上開了源。
結(jié)果,有大量中文用戶跑到這個(gè)項(xiàng)目上版聊:
版聊里甚至出現(xiàn)了下面這種神奇的中式英文:
這些版聊,是通過項(xiàng)目的 Issue 形式發(fā)布的,然而 Issue 的本來作用是讓用戶舉報(bào) bug、對(duì)項(xiàng)目提交技術(shù)上的建議和意見用的。
遺憾的是,這些中國(guó)用戶根本沒有掌握 GitHub 的正確用法, 還以為它是天涯 ……
四、自以為能上天
如果 ry/deno 上的 Issue 版聊把 GitHub 變成了天涯,那么明哥已經(jīng)把 GitHub 變成了 QQ 空間。
明哥 ( MingGe ) 以項(xiàng)目描述 README 文風(fēng)囂張,和項(xiàng)目實(shí)際代碼質(zhì)量極低,在 GitHub 上特別出名 ……
讓我們看一下明哥的項(xiàng)目 MingGeJS 的項(xiàng)目描述:
繼優(yōu)秀作品 shearphoto 截圖插件,本人又再推出國(guó)產(chǎn)山寨 JQUERY,為什么我要開發(fā)一個(gè)山寨 JQUERY?老實(shí)說我從來沒用過 JQUERY,正因?yàn)槲曳锤?JQUERY。
為什么我反感,因?yàn)槲彝耆虚_發(fā) JQUERY 的能力,JQUERY 的底層我都了如指掌。
它的名字叫 MingGeJs,MingGe 就是我的大名, 一看到插件名字,就知道作者是我,知道它是國(guó)產(chǎn)的,讓別人知道國(guó)產(chǎn)類庫(kù)一樣做得很出色,出眾
本人文化程度不高,初中畢業(yè)!半句英文都不會(huì),但是我相信只要肯努力一樣可以實(shí)現(xiàn)自己的夢(mèng)想。
MingGeJS 的夢(mèng)想有點(diǎn)大膽,就是在全球范圍內(nèi),占據(jù) jQuery 百分之 50 以上的用戶份額。
(千真萬確都是他自己寫的)
這種罵街式的 README,是不是特別的霸氣!
然而知乎網(wǎng)友魯小夫看了代碼發(fā)現(xiàn),明哥的這個(gè)項(xiàng)目代碼質(zhì)量是真的差,不但里面英文拼寫有一大堆錯(cuò),還把抄襲對(duì)象 JQuery 里面很多好的地方全都改的更爛了 ……
就是這樣一個(gè)神奇的項(xiàng)目,在 GitHub Trending 上一度追趕蘋果 Swift:
明哥就這樣出名了。在項(xiàng)目的一個(gè)更新文檔里,他分享了自己的經(jīng)歷:
怎么講,明哥你贏了!
這些中國(guó)亂象,已經(jīng)在 GitHub 上引起了公憤。
deno 項(xiàng)目 Issue 被中文刷屏,導(dǎo)致作者 ry 苦不堪言。他不得不自己也寫了一條 Issue,告訴所有人:如果沒有正經(jīng)事,請(qǐng)保持安靜。
其他英文用戶也看不下去了,紛紛要求 ry 關(guān)掉無意義的 Issue:
事情大到了 ry 一度不得不關(guān)掉 Issue 功能(后來打開了)。
當(dāng)然,最看不下去的,還是中國(guó)自己的開發(fā)者。
因?yàn)檫@些亂象雖然猖狂,總體上 GitHub 的大部分中國(guó)用戶,還是很遵守這個(gè)開源社區(qū)的規(guī)矩的。
這也是為什么在知乎、V2EX、掘金和其他平臺(tái)上,能夠看到大量對(duì)高仿、刷星和版聊的聲討。
一位硅谷程序員小魏也關(guān)注過 GitHub 上的中國(guó)亂象,他表示,這些行為極大地影響了用戶使用 GitHub 的效率,擾亂視聽。
他說的沒錯(cuò):高仿項(xiàng)目分流了真實(shí)項(xiàng)目的關(guān)注度;刷星的項(xiàng)目容易導(dǎo)致新手用戶誤入歧途;使用 Issue 版聊嚴(yán)重干擾了項(xiàng)目作者的工作和生活。
不守規(guī)矩的玩家,污染的是整個(gè)環(huán)境,以及中國(guó)用戶的集體聲譽(yù)。
還 GitHub 一片凈土吧。
【來源:品玩】