GitHub的星級被高估了

聞數起舞 發佈 2020-05-14T14:29:39+00:00

直覺上,我們都知道GitHub明星並不是一個開源項目的成敗之舉。有了Cortex,我們驚訝地看到該項目在開發人員中的受歡迎程度,而不僅僅是數據科學家。

開源項目不只是其星級指標

直覺上,我們都知道GitHub明星並不是一個開源項目的成敗之舉。 點擊"星標"按鈕只是說:"我覺得很有趣。" 收集的信號不是一個壞信號,而是有關項目是否成功的最後決定。

儘管如此,星星還是誘人的。 它們簡單,可數且發出積極的反饋。 作為用戶,較高的星級數使您有理由在一個項目上籤出另一個項目。 作為維護者,恆星的每一次顛簸都會使您多巴胺有所提高-我是根據這裡的經驗講的。

我從事的是開放原始碼機器學習基礎設施Cortex的工作,儘管了解得更多,但是星空激增仍然讓我非理性地興奮。

顯然,我並不孤單。 有圍繞星構建的整個生態系統。 開源營銷已成為自己的利基市場。

開源團隊致力於通過公告來實現里程碑。 已經出現了一整套用於跟蹤和分析恆星生長的工具(請參見上圖)。

沿途的某個地方,明星從"支持項目的公共方式"變成了"開源軟體的流行",因此有必要重新評估明星的真正價值。

為什麼星級不像您想的那麼重要

明星確實具有價值-稍後會更詳細-但今天對它們的強調卻不成比例。 總的來說,由於某些原因,恆星並不像我們傾向於對待它們那樣有價值。

1.星級不等於用戶

您可以在不使用項目的情況下為項目加注星標。 您可以在不加注星標的情況下使用項目。 這聽起來似乎很明顯,但是必須強調一下,明星和用戶之間沒有必然的因果關係(當然,一個可以導致另一個)。

例如,在Cortex,尚未有大量用戶加入該回購協議。

我們評估Cortex是否健康的星是使用它在生產中部署模型的人數。 我們通過與實際用戶互動來進行衡量。 如果這個數字上升,我們知道我們做對了。 如果數量減少,即使星級增加了,我們也要解決一些問題。

2.明星高度依賴環境

星號並非始終如一的價值單位,並且比較項目之間的星數並非十分簡單。

項目社區的規模和活動,潛在用戶的數量以及維護人員的營銷工作對項目的星級影響很大。

例如,如果您是前端Javascript框架,並且有Facebook的營銷預算,那麼與DevOps工程師使用的工具相比,您將擁有更多的明星。 換句話說,React擁有148,000顆星,而Elasticsearch的49,000顆星這一事實並不能說明Elasticsearch是否成功(蘋果和橘子)。

3.從根本上說,星級仍然是社交媒體的參與

GitHub顯然不是Twitter,但明星仍然是社交媒體的參與對象,所有通常的警告都適用。

首先,一些GitHub用戶在社交方面比其他用戶更活躍。 一些用戶為2,000個項目加注星標,而其他用戶幾乎沒有注視。

同樣,許多GitHub用戶使用星號表示對項目的總體支持,即使他們從未打算使用它。 例如,當我們首次啟動Cortex時,我們獲得了Go社區的好評,甚至來自對機器學習不感興趣的人。 這沒什麼不對,我們非常感謝您的支持,它只是在加強星星與使用的聯繫。

星級不是萬能的,但它們仍然很有價值

儘管有上述警告,但獲得一顆星仍然是一件好事(實際上,如果您想給Cortex一顆星,請不要讓我阻止您)。

星號表示人們通常對某個項目感興趣,並且同樣可以在相似的項目之間提供有用的基準。 比較React和Elasticsearch可能沒有任何意義,但是React具有超過Angular兩倍星的事實可能是有意義的。

明星們還會就誰覺得項目有趣提供一些反饋。 有了Cortex,我們驚訝地看到該項目在開發人員中的受歡迎程度,而不僅僅是數據科學家。 這影響了我們如何開發該項目的許多決定。

最後,星星使項目更容易被發現。 除了明顯的高星數有助於項目脫穎而出這一明顯事實外,它們還影響GitHub的建議。 由於我曾出演過類似的項目,因此我通常會查找新的ML項目:

由於所有這些原因,星級很有價值-它們並不是評估開源項目的完整指標。

(本文翻譯自Caleb Kaiser的文章《GitHub stars are overvalued》,參考:https://towardsdatascience.com/github-stars-are-overvalued-15ba780b36)

關鍵字: