近日一名國外開發(fā)者(Balazs Saros,下簡稱Balazs)在個(gè)人博客發(fā)表了一篇看似是在“聲討”中國開發(fā)者的文章,標(biāo)題起得有點(diǎn)唬人 —— "Chinese repos are ruining the Github trending page"(中國開發(fā)者創(chuàng)建的repo正在破壞GitHub Trending頁面)。
▲乍一看還以為中國開發(fā)者開源的項(xiàng)目搞了個(gè)什么大新聞
文章開頭處,作者寫了一個(gè)旨在避免引起誤會(huì)的聲明,他表示自己不反對(duì)GitHub Trending上語言為非英語的repo,因?yàn)檫@畢竟是一件好事,能保證英語水平欠佳的開發(fā)者也能在這個(gè)熱門頁面擁有一席之地。他主要是想指出GitHub Trending頁面的用戶體驗(yàn)設(shè)計(jì)存在缺陷,并希望GitHub能對(duì)此進(jìn)行修復(fù)。
Balazs說到,自己在任意時(shí)間打開GitHub Trending頁面,很大概率會(huì)看到許多由中國開發(fā)者創(chuàng)建的repo,甚至遇到過前10項(xiàng)目中有9個(gè)使用中文的情況,如下:
GitHub Trending原本是一個(gè)十分意義的功能,于開發(fā)者而言,這是一個(gè)發(fā)現(xiàn)有趣和優(yōu)秀開源項(xiàng)目的好地方,對(duì)開源項(xiàng)目來說,這也是曝光和獲取關(guān)注的一個(gè)有效渠道。但Balazs表示自己越來越不愿意打開這個(gè)頁面了,原因在于GitHub Trending基本是長期被中國開發(fā)者創(chuàng)建的repo “霸榜”。
Balazs表示雖然可以借助翻譯工具對(duì)這些repo的readme文件進(jìn)行翻譯以了解項(xiàng)目,但項(xiàng)目的演示頁面、截圖中出現(xiàn)的文字都不是英文,甚至代碼的注釋也沒有使用英語。此外,這些項(xiàng)目大多是面向部分特定群體而創(chuàng)建,例如為準(zhǔn)備求職的開發(fā)者而整理的“面經(jīng)”材料,或者是一些教程類的內(nèi)容。
對(duì)于這個(gè)現(xiàn)象的出現(xiàn),Balazs給出了自己的分析,原因有三:
中國在軟件開發(fā)/技術(shù)方面的實(shí)力正在追趕美國,并開始大力擴(kuò)充人才庫投身軟件開發(fā)行業(yè)是讓“那里的人”擺脫貧困并擁有更多機(jī)會(huì)的一個(gè)最好的途徑(有時(shí)甚至是唯一途徑)GitHub正在迅速擴(kuò)張市場并且在開發(fā)者群體中擁有非常大的影響力,所以這些人將GitHub視為一個(gè)獲取資料和解決方案的地方就不難理解了(中國人可無阻礙訪問GitHub也是重要的影響因素)最后,Balazs再次強(qiáng)調(diào)自己并非是在抱怨這些repo以及創(chuàng)建這些repo的用戶,他認(rèn)為總體來看這是一件好事,但卻破壞了GitHub Trending的使用體驗(yàn)。為此,他提出了自己的想法:
GitHub現(xiàn)在可通過repo包含的代碼來判斷項(xiàng)目使用的編程語言,然后在GitHub Trending提供依據(jù)語言來瀏覽項(xiàng)目的篩選項(xiàng)。因此,GitHub可考慮根據(jù)repo的readme/docs/etc文件使用的自然語言來對(duì)這些項(xiàng)目做出區(qū)分。同樣的,然后據(jù)此在GitHub Trending中提供一個(gè)與地區(qū)相關(guān)的篩選項(xiàng),默認(rèn)值當(dāng)然是 “worldwide” —— 避免對(duì)排行榜造成影響。參考repo的LICENSE文件,GitHub可以考慮給repo創(chuàng)建者提供添加LANGUAGE文件的選擇,這樣無疑比自動(dòng)判斷自然語言更準(zhǔn)確。將上述兩點(diǎn)結(jié)合起來是最佳的做法,也就是說在GitHub判斷項(xiàng)目使用的自然語言后,repo的創(chuàng)建者還能進(jìn)行修改。