一個 Github Star 值多少錢?
大家好,我卡頌。
當我們看一個開源項目時,基本都會看下他有多少star。雖然Github Star是一個虛榮指標,但卻有實際意義,比如:
- 很多開發(fā)者會關注Github Star增長趨勢,更多的star會獲得更多關注
- star數(shù)量往往是技術選型的一個依據(jù)。即使你的團隊最終沒有使用一個star很多的開源庫,但通常也不會使用一個star很少的庫
換個思路來看也許更能體現(xiàn)Github Star的價值 —— 「軟件開源」并不意味著不賺錢,這只是一種產(chǎn)品開發(fā)策略。star數(shù)一定程度上反映了這種策略執(zhí)行的是否成功。
而「策略執(zhí)行是否成功」又會影響投資人的投資決策,以及團隊能否以更低成本(甚至白嫖)招募優(yōu)秀的開發(fā)人員。
有利益驅(qū)動就會有刷量、造假行為出現(xiàn)。既然微博僵尸粉都能影響廣告主的投放決策,那Github Star造假就不足為奇了。
那么,一個Github Star值多少錢?
Star的售價
網(wǎng)上已經(jīng)有公開渠道購買Github Star,比如:GitHub24或Baddhi Shop[1](在這個網(wǎng)站,你能花錢刷各種網(wǎng)站的行為數(shù)據(jù),甚至能刷IMDb電影評分)。
Star的售價差異很大,比如:
- 64刀可以買到1000個三無賬號的star。
- 要買到100顆有活躍行為賬號的star,可能得85刀。
如何識別刷Star
之所以兩者差異巨大,是因為鑒別難度不同。
對于這個zadahmed/music_recommender[2]倉庫,可以明顯看到有部分點贊者的賬號是同一天注冊的:
再深究的話,會發(fā)現(xiàn)這些點贊賬號還有很多共性,比如:
- Followers < 1。
- Following < 1。
- 個人公開倉庫數(shù)量 < 4。
- 很多個人信息(比如郵箱、簡介)為空。
這類共性讓這些假賬號很容易被識別,Github官方會定期清理這些賬號。所以,如果你花錢刷了1000star,可能過一個月就都消失了。
除了Github官方以外,還有些工具可以識別假賬號,比如:
- astronomer[3]
- fake-star-detector[4]
想想,如果自己的項目好不容易做出點名氣,但被人扒出曾經(jīng)刷star,那就尷尬了。
識別高端造假
但對于那些高價刷的star,這類檢測機制就不太好用了。因為這類賬號會模仿正常開發(fā)者的行為,光從行為數(shù)據(jù)上,很難將他們和正常開發(fā)者區(qū)分。
這里開源編排平臺dagster[5]提供了一個檢測思路 —— 他們使用一種被稱為unsupervised clustering(無監(jiān)督聚類)的機器學習技術。簡單來講,我們可以用一組行為特征來描述一個Github賬號,比如:
- 提交代碼。
- 給其他倉庫提PR。
- star某個項目。
- 修改個人簡介。
這樣就能將這個Github賬號表示為高維向量空間中的一個點。那些向量空間中相近的點對應的Github賬號,可以被歸類為同類賬號。
基于以上原理,dagster成員新建了個倉庫,并高價刷了star:
這么做的目的是用那些點star的Github賬號做聚類分析,標記出一個類。當完成聚類后,如果發(fā)現(xiàn)某個Github賬號也屬于這個類,那就可以懷疑這個賬號也是假賬號。
那么,為什么假賬號能夠聚類呢?這是因為這些賬號雖然在模仿正常開發(fā)者,但他們之間也有很多類似行為,比如:
- 他們的行為可能都是同一個腳本在操作,那么在行為邏輯、行為執(zhí)行的時間上比較類似。
- 他們都會給同一批倉庫(服務的買主)點star。
舉個例子,有兩個Github賬號,雖然他們之間并無交集(倉庫的編程語言不同、開發(fā)者國籍不同...),但他們都在某幾天做著同類的事(比如先瀏覽一些倉庫,再發(fā)表評論,最后給某個倉庫star),那么他們會被劃分為同類。
如果他們的同類中有實錘的假賬號,那么他們大概率也是假賬號。
在下面的圖表中,衡量了上述刷star的倉庫(100% star都是刷的)中,點了star的那些Github賬號的行為,其中:
- 橫軸是日期跨度。
- 縱軸是賬號交互的倉庫總數(shù)。
- 藍色部分是所有用戶。
- 紅色部分是明確的假Github賬號。
- 黃色部分是根據(jù)聚類,被懷疑的假賬號。
由于已知這個倉庫的所有star都是刷的,所以其實黃色部分的賬號也都是假賬號,通過聚類的方式他們被很好的識別出來了(和紅色部分同類)。
而對于完全沒有刷star的項目(這里以dagster[6]為例),點star的用戶行為基本不會與假賬號有交集:
對于一個刷了star,同時又有實際參與者的項目,分析結(jié)果如下圖:
總結(jié)
雖然star數(shù)是虛榮指標,但由于他是很多決策的參考依據(jù),這就誕生了「刷star」的需求。
比如,okcash[7]是一款開源的加密貨幣,有578star。
但是,經(jīng)過上述dagster的方式檢測后會發(fā)現(xiàn),所有為okcash點star的賬號中,疑似虛假刷star的賬號占比達到97% 。相信這一結(jié)果會對這款加密貨幣的市場信心造成一定影響。
如果你也想用dagster的方式檢測其他開源庫,可以參考這里[8]。
參考資料
[1]Baddhi Shop:https://baddhi.shop/shop/。
[2]zadahmed/music_recommender:https://github.com/zadahmed/music_recommender/stargazers。
[3]astronomer:https://github.com/Ullaakut/astronomer。
[4]fake-star-detector:https://github.com/dagster-io/fake-star-detector/blob/main/fake_star_detector/assets/simpler_model.py。
[5]dagster:https://dagster.io/blog/fake-stars#lets-go-star-shopping。
[6]dagster:https://github.com/dagster-io/dagster。
[7]okcash:https://github.com/okcashpro/okcash。
[8]這里:https://github.com/dagster-io/fake-star-detector/blob/main/fake_star_detector/assets/complex_model.py。