自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

衡量你的開源軟件使用情況的八個方法

開源
想知道如何為你的開源軟件項目收集使用指標?考慮一下使用這些替代方案的利弊。

我們這些支持開源項目社區(qū)的人經(jīng)常被問到很多有關使用指標的問題。這些指標通常是為了通過用戶量和知名度來衡量軟件的重要性。我們一般都想知道有多少人使用該軟件,有多少次安裝,以及有多少人生活接觸過它。

但簡而言之,我們尚無法直接回答上述問題。

如果你想要尋找一個明確的解決方案,那很抱歉要讓你失望了。有關使用指標的問題,沒有人有完美的答案,至少沒有準確的答案。

好消息是,有一些近似的和替代指標至少能夠部分地滿足你對軟件使用情況了解的渴求。本文探討了這些替代方案以及它們的優(yōu)點和缺點。

下載量

當你瀏覽提供軟件的網(wǎng)站時,你通??梢钥吹杰浖南螺d次數(shù)。映入我腦海的一個例子是 Firefox ,它曾經(jīng)有一個下載計數(shù)器。Firefox 的下載量是一個印象深刻的數(shù)字,給人的印象是 Firefox 是一個流行的瀏覽器,在一段時間內(nèi)確實如此。

然而,個人行為會直接影響這一數(shù)字的準確性。舉例而言,當一個人定期重置他們的設備時,每一次重建都會引發(fā)一次獨立的下載??紤]到這一現(xiàn)實,需要設計一種方法從下載量中去除幾十次(或許是幾百次)的下載次數(shù),因為那是一個人。

下載量不僅會高估使用量,還會低估使用量。例如,一個系統(tǒng)管理員可能會下載一個新版本的 Firefox 一次并將其拷貝到 U 盤上,然后安裝到數(shù)百臺設備上。

下載量指標是易于收集的,你可以在服務器上記錄每一個下載請求。問題在于你不知道在這些軟件下載以后會發(fā)生什么。下載它的人是否如預期的那樣使用軟件,還是遇到了問題而放棄了它。

對于開源項目而言,你可以考慮各種下載量指標,比如來自以下途徑的下載指標:

  • 項目官網(wǎng)
  • 包管理器,比如 npm、PyPi 和 Maven
  • 代碼倉庫,如 GitHub、GitLab、Gitee 等

你可能還對源代碼的下載量感興趣,因為下游項目更可能使用源代碼形式(參見 ??《如何衡量你的開源項目的影響》??一文)。相應的下載指標包括:

  • 從代碼倉庫克隆的數(shù)量,比如 GitHub、GitLab 和 Gitee
  • 從官網(wǎng)下載的歸檔文件(tar、zip)的數(shù)量
  • 通過像 npm、PyPi 和 Maven 這樣的包管理器下載的源代碼數(shù)量

源代碼的下載指標比二進制代碼的下載指標更不可靠(雖然尚無相關研究表明如此)。試想一下,一名開發(fā)人員想要你的最新版本的源代碼,并將他們的構建管道配置為每次構建都克隆你的倉庫。再想象一下,一個自動構建過程失敗了,它試圖重新構建而不斷地克隆你的版本庫。你還可以考慮這樣一個下載量低于預期的場景——源代碼倉庫在某些地方緩存了,下載來源是由這些緩存所提供的。

??相關閱讀:跟蹤你的開源社區(qū)的 5 個指標??

總而言之,下載量指標是用于提供當前使用情況和探測趨勢的很好的指征。我們無法明確地定義一次下載是如何轉化為使用的。不過我們可以認為增加的下載量是更多潛在用戶的標志。舉例而言,如果你為你的軟件做了廣告并在活動期間得到了更高的下載量,可以合理地假定廣告推動了更多人下載該軟件。下載行為的來源與元數(shù)據(jù)還可以提供額外的與使用行為相關的內(nèi)容。你的軟件的哪些版本仍在使用中?什么操作系統(tǒng)或者特定語言的版本更加流行?這有助于社區(qū)決定將哪個平臺的軟件作為支持與測試的優(yōu)先選項。

議題

作為一個開源項目,你可能有一個議題追蹤器。當某個人提出一個議題時一般有兩個目標,報告一個漏洞或者請求增加一項功能。提議者很可能已經(jīng)使用過你的軟件了。作為一名用戶,他可能發(fā)現(xiàn)了一個漏洞或者發(fā)現(xiàn)了對一個新功能的需求。

很明顯,大多數(shù)用戶不會執(zhí)行額外的步驟來提交議題。提議者是我們的忠實用戶,我們對他們表示感謝。此外,通過提出議題,他們已經(jīng)成為了非代碼貢獻者,他們也有希望成為代碼貢獻者。經(jīng)驗法則是大約每 10000 名用戶中,可能有 100 名提議者,以及 1 名代碼貢獻者。當然取決于用戶類型,上述比例可能有出入。

回到指標問題,你可以將提議者數(shù)量作為評估使用量的下界。相關的指標包括:

  • 提議者數(shù)量
  • 活躍提議者的數(shù)量(在過去 6 個月內(nèi)提出議題的提議者)
  • 同時有代碼貢獻的提議者的數(shù)量
  • 尚未解決的議題的數(shù)量
  • 對議題發(fā)布的評論數(shù)量

郵件列表、論壇和問答網(wǎng)站

很多開源項目都擁有用戶郵件列表、論壇,并且出現(xiàn)在類似 Stack Overflow 的問答網(wǎng)站上。與提問者一樣,在這些地方發(fā)帖的人可被視作用戶的冰山一角。與郵件列表、論壇和問答網(wǎng)站上的社區(qū)活躍程度相關的指標也可用于反映用戶數(shù)量的上升或下降。相關指標可以集中于以下地方的活動,包括:

  • 用戶郵件列表的訂閱量
  • 論壇用戶的數(shù)量
  • 問題的數(shù)量
  • 答案的數(shù)量
  • 發(fā)布信息的數(shù)量

上報功能

為了獲得精確的用戶數(shù)量,一個方案是讓軟件在使用時上報信息。

這是令人毛骨悚然的。想象一下,系統(tǒng)管理員的防火墻報告了一個非預期的到你的服務器的網(wǎng)絡連接,你不僅無法再收到軟件報告(被防火墻攔截了),恐怕連你的軟件也可能在未來被禁止使用。

負責任的設置上報功能的方式為設置一項可選服務來檢查更新并讓用戶知道使用最新版本。另一項可選功能可以集中在使用遙測上,你可以通過該功能詢問用戶是否允許匿名上報軟件使用情況。如果經(jīng)過深思熟慮的實施,這種方式可以允許用戶通過他們使用軟件的方式幫助優(yōu)化軟件。用戶可以持有這樣的意見:我一般不允許這種使用信息的分享;但對于一些軟件,因為希望開發(fā)人員在長期內(nèi)將軟件優(yōu)化得更好,我愿意這樣做。

星標與復刻

星標與復刻是如 GitHub、GitLab、Gitee 等社交化編程平臺的功能。這些平臺上的用戶可以給一個項目加星標。為什么他們要給項目加星標呢?GitHub 的文檔作出了解釋:你可以給一個倉庫和主題加星標,以跟蹤感興趣的項目,和在你的新聞訂閱中發(fā)現(xiàn)相關的內(nèi)容。給一個項目加星標與將其加入書簽的效果一樣,并且還提供了一種向項目倉庫的維護者展示贊賞的方式。星標的數(shù)量已經(jīng)成為了項目流行程度的標志。當一個項目發(fā)布重大公告并獲得相當?shù)年P注時,項目的星標數(shù)量會呈上升趨勢。星標的數(shù)量指標并不反映軟件的使用量。

在社交化編程平臺上的復刻Fork是將項目倉庫復制一份在自己名下。倉庫的非維護者可以在他們自己的克隆倉庫中做修改,并將修改通過拉取請求pull request(PR)的方式提交審核。復刻比星標更能反映軟件社區(qū)的規(guī)模。開發(fā)者也可能為了保存一份代碼副本而克隆一個項目,以便在原始倉庫消失后他們?nèi)阅茉L問代碼。因為復刻功能在代碼貢獻工作流中的應用,復刻量是衡量開發(fā)社區(qū)的良好指標。復刻量通常也不反映非開發(fā)人員的使用,因為非開發(fā)人員一般不創(chuàng)建復刻。

社交媒體

包括 Facebook、Instagram、LinkIn、Reddit、Twtter 等社交媒體平臺提供了相同興趣的人們聚集的平臺。采用社交媒體策略,開源項目可以通過在平臺上設置相應的聚集空間來吸引對項目感興趣的人們。通過這些社交媒體途徑,開源項目可以分享項目新聞、更新,指出貢獻者和用戶。這些社交媒體途徑還可以用于認識那些本不會通過其他途徑與項目互動的人。

我在猶豫是否建議關注以下指標,因為它與軟件的真實使用量沒有清晰的聯(lián)系,并通常需要分析其中的積極、消極和中性的情緒。人們可能因為很多不同的原因對你的項目感到激動而關注它,但并不實際使用它。然而與之前已經(jīng)討論過的指標一樣,能夠在社交媒體上吸收人群本就是項目受關注的整體指標。不同社交媒體平臺的指標包括:

  • 關注者與訂閱者的數(shù)量
  • 消息的數(shù)量
  • 活躍的消息作者的數(shù)量
  • 喜歡、分享、回復以及其他交互的數(shù)量

網(wǎng)站分析與文檔

網(wǎng)站流量也是一個有用的指標。這一指標主要受到你的服務范圍以及市場營銷活動影響,而不是用戶量。然而,我們還有一張王牌:我們的用戶文檔、教程、手冊以及 API 文檔。我們可以發(fā)現(xiàn)我們的網(wǎng)站以及文檔中的什么主題更引人注意。文檔的訪問者數(shù)量應當大致隨著軟件的使用者數(shù)量增長而增長。因此我們可以通過網(wǎng)站的訪問量探知對項目的普遍興趣,并進一步通過觀察文檔的訪問者來觀察用戶風向。這些指標包括:

  • 網(wǎng)站訪問者數(shù)量
  • 文檔訪問者的數(shù)量
  • 訪問者在你的網(wǎng)站與文檔上所花的時間

活動

活動的指標可以在你主持與項目相關的活動時使用。這是建立社區(qū)的很好的方式。有多少人提交摘要想要在你的活動中發(fā)言?有多少人出席你的活動?不論是在線下活動還是線上活動這可能都很有趣。當然,你如何推廣你的活動在很大程度上決定有多少人到場。同時你可以將自己的活動與人們出行的大型活動放在一起以方便人們參加你的活動。只要你使用一貫的活動策略,你可以通過演講者提交的材料與參會者注冊的增加來表征軟件受歡迎程度與用戶群的增加。

你并不需要舉辦你自己的活動來收集有用的指標。如果你在開源活動中主持有關你項目的討論,你可以衡量有多少人出席主要關注你的項目的會議。像 ??FOSDEM?? 這樣的活動,一些討論特別聚焦于開源項目的更新與發(fā)布,會議室中都擠滿了人(像 FOSDEM 的所有會議一樣)。

你可以考慮如下指標:

  • 以你的項目為中心的活動的出席人數(shù)
  • 提交到以你的項目為中心的活動的演講數(shù)量
  • 以你的項目為中心的演講的出席人數(shù)

關于估算開源軟件使用的結論

正如我們已經(jīng)如上展現(xiàn)的,有很多指標可以反映軟件使用的趨勢,沒有一個指標是完美的。在大多數(shù)情況下,這些指標可能被個人行為、系統(tǒng)設計和噪音所嚴重影響。因此,考慮到每一個指標的相對不確定性,我們建議你不要孤立地使用任何一個指標。但是如果你從不同的來源收集了一系列的指標,你應當能夠探測到用戶行為與軟件使用的趨勢。如果你有辦法在多個具有共性的開源項目中比較同一組指標,例如類似的功能、強大的相互依賴性、在同一基礎設施上托管,以及其他特征,你就可以提升你對用戶行為基線的感知。

需要注意的是,在這篇概述中,我們選擇突出能夠評估直接使用情況的指標。而大多數(shù)軟件都依賴于其他各種軟件包,如果我們不提及作為軟件依賴鏈的一部分而被間接使用的嚴重影響,這就是我們的疏忽。因此,我們建議將上下游依賴的合計數(shù)量作為你的分析中的另一層內(nèi)容。

最后,作為數(shù)據(jù)與指標的使用者,我們鼓勵你認識到你的利益相關方的權利與責任。你發(fā)布的任何指標都有可能影響用戶行為。最好的做法是經(jīng)常一同分享你的背景信息——基礎、來源、估算方法和其他關鍵上下文信息,這有助于其他人解釋你的結果。

感謝 ??CHAOSS?? 社區(qū)在愛爾蘭都柏林舉行的 CHAOSScon EU 2022 上的富有洞察力的對話,上述對話激發(fā)這篇博文的想法。我們還要感謝 CHAOSS 社區(qū)的成員審閱并幫助優(yōu)化本文。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2010-05-12 15:14:59

subversion管

2017-01-18 21:57:14

2015-11-09 15:32:34

TorTor網(wǎng)絡隱私網(wǎng)絡

2010-10-14 16:10:28

MySQL排序

2009-06-30 14:11:00

Hibernate緩存

2022-07-13 14:26:26

Linux

2022-09-26 09:44:10

Linux

2021-03-26 07:17:38

Linux命令磁盤

2010-04-16 10:00:06

Oracle查看表空間

2009-06-16 09:18:26

Linux系統(tǒng)管理系統(tǒng)資源

2018-12-20 08:42:59

安全投資ROSI安全工具

2020-06-17 14:10:01

Python內(nèi)存程序

2018-07-06 14:52:49

Docker容器云服務

2021-03-01 13:11:20

duf終端工具Linux

2021-12-22 15:13:03

iOS 15Swift二進制

2009-10-21 12:42:20

Linux系統(tǒng)資源操作系統(tǒng)

2023-08-21 14:18:48

操作系統(tǒng)Linux

2010-04-09 13:17:32

2020-08-15 07:30:58

Linux命令匯總

2022-02-10 10:23:48

軟件開發(fā)商技術債務記錄數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號