Ricerca nel sito web

8 idee per misurare l'utilizzo del software open source


Ti chiedi come raccogliere le metriche di utilizzo per il tuo progetto software open source? Considera i pro e i contro dell’utilizzo di queste alternative.

A quelli di noi che supportano le comunità di progetti open source vengono spesso chieste informazioni sulle metriche di utilizzo: molto. L'obiettivo di questi parametri è solitamente quello di dimostrare l'importanza del software misurata dalla base di utenti e dalla consapevolezza. In genere vogliamo sapere: quante persone utilizzano il software, quante installazioni ci sono e quante vite vengono toccate.

Per farla breve: non possiamo rispondere direttamente a queste domande.

Mi dispiace deluderti se speravi in una soluzione definitiva. Nessuno ha le risposte perfette alle domande sulle metriche di utilizzo. Almeno, nessuna risposta precisa.

La buona notizia è che esistono approssimazioni e metriche alternative che possono soddisfare la tua sete di conoscenza sull'utilizzo del software, almeno in parte. Questo articolo esplora queste alternative compresi i loro vantaggi e svantaggi.

Download

Quando visiti siti Web che offrono software, spesso puoi vedere quante volte il software è stato scaricato. Un esempio che mi viene in mente è Firefox, che aveva un contatore di download. Era un numero impressionante e dava l'impressione che Firefox fosse un browser popolare, cosa che è stata per un po'.

Tuttavia, il comportamento individuale può avere un impatto diretto sulla precisione di questo numero. Ad esempio, quando una persona pulisce regolarmente il proprio computer, ogni ricostruzione comporta un download separato. Per tenere conto di questa realtà, deve esserci un modo per sottrarre alcune dozzine (forse centinaia) di download dal numero dovuto a quella persona.

Non solo i download possono sovrastimare l’utilizzo, ma possono anche sottostimare l’utilizzo. Ad esempio, un amministratore di sistema può scaricare una nuova versione di Firefox una volta su un'unità flash e quindi installarla su centinaia di dispositivi.

Le metriche di download sono facili da raccogliere perché puoi registrare ogni richiesta di download sul server. Il problema è che non sai cosa succede al software dopo averlo scaricato. La persona è stata in grado di utilizzare il software come previsto? Oppure la persona ha riscontrato problemi e ha abbandonato il software?

Per i progetti open source, puoi considerare una serie di parametri di download, come il numero di file binari scaricati da:

  • il sito web del progetto
  • gestori di pacchetti come npm, PyPi e Maven
  • repository di codice come GitHub, GitLab e Gitee

Potresti anche essere interessato ai download del codice sorgente perché è più probabile che i progetti downstream utilizzino questo formato (leggi anche Come misurare l'impatto del tuo progetto open source). Le metriche di download rilevanti includono:

  • Il numero di cloni (download del codice sorgente) da repository di codice come GitHub, GitLab e Gitee
  • Il numero di archivi (tar, zip) scaricati dal sito web
  • Il numero di download del codice sorgente tramite gestori di pacchetti come npm, PyPi e Maven

Le metriche di download per il codice sorgente sono una misura ancora meno affidabile rispetto ai download binari (anche se non esistono ricerche per dimostrarlo). Immagina solo che uno sviluppatore desideri utilizzare la versione più recente del tuo codice sorgente e abbia configurato la propria pipeline di build per clonare sempre il tuo repository per ogni build. Ora immagina che un processo di compilazione automatizzato fallisca e riprovi a compilare, clonando costantemente il tuo repository. Puoi anche immaginare uno scenario in cui la metrica è inferiore al previsto, ad esempio il repository è memorizzato nella cache da qualche parte e i download vengono serviti dalla cache.

[Leggi correlata 5 metriche da monitorare nella tua community open source]

In conclusione, le metriche di download sono buoni indicatori per rilevare tendenze e fornire contesto sull’utilizzo corrente. Non possiamo definire in modo specifico come un download si traduce in utilizzo. Ma possiamo dire che un aumento dei download è indicatore di un numero maggiore di potenziali utenti. Ad esempio, se pubblicizzi il tuo software e noti che i numeri di download sono più alti durante la campagna, sarebbe giusto supporre che la pubblicità abbia spinto più persone a scaricare il software. L'origine e i metadati del download possono anche fornire ulteriore contesto per i modelli di utilizzo. Quali versioni del vostro software sono ancora in uso? Quale sistema operativo o versioni specifiche della lingua sono più popolari? Ciò aiuta la comunità a stabilire la priorità su quali piattaforme supportare e testare.

Problemi

Essendo un progetto open source, probabilmente hai un tracker dei problemi. Quando qualcuno apre un problema, due obiettivi comuni sono segnalare un bug o richiedere una funzionalità. È probabile che l'autore del problema abbia utilizzato il tuo software. Come utente, avrebbero trovato un bug o identificato la necessità di una nuova funzionalità.

Ovviamente, la maggior parte degli utenti non fa il passo aggiuntivo per segnalare un problema. Gli autori dei numeri sono utenti dedicati e siamo grati per loro. Inoltre, aprendo un problema, sono diventati contributori non di codice. Potrebbero diventare un collaboratore del codice. Una regola pratica è che per ogni 10.000 utenti, potresti averne 100 che aprono un problema e uno che contribuisce al codice. A seconda del tipo di utente, questi rapporti possono differire.

Per quanto riguarda le metriche, è possibile contare il numero di autori del problema come stima inferiore per l'utilizzo. Le metriche correlate possono includere:

  • Il numero di autori del problema
  • Il numero di autori di problemi attivi (aperto un numero negli ultimi 6 mesi)
  • Il numero di autori di problemi che contribuiscono anche al codice
  • Il numero di questioni aperte
  • Il numero di commenti al problema scritti

Mailing list degli utenti, forum e siti di domande e risposte

Molti progetti open source dispongono di mailing list per gli utenti, un forum e la presenza su un sito di domande e risposte, come Stack Overflow. Analogamente agli autori dei problemi, le persone che pubblicano lì possono essere considerate la punta dell'iceberg degli utenti. Le metriche relative all'attività di una comunità in queste mailing list, forum e siti di domande e risposte possono anche essere utilizzate come proxy per aumentare o diminuire la base di utenti. Le metriche correlate possono concentrarsi sull'attività in questi luoghi, tra cui:

  • Il numero di iscritti alla mailing list degli utenti
  • Il numero di utenti del forum
  • Il numero di domande poste
  • Il numero di risposte fornite
  • Il numero di messaggi creati

Funzione chiamata a casa

Per ottenere un conteggio accurato degli utenti, un'idea è fare in modo che il software riporti quando è in uso.

Questo può essere inquietante. Immagina un amministratore di sistema il cui firewall segnala una connessione inaspettata al tuo server. Non solo la segnalazione non potrebbe mai raggiungerti (è stata bloccata), ma il tuo software potrebbe essere vietato dall'uso futuro.

Un modo responsabile per avere una funzione call-home è un servizio opzionale per cercare aggiornamenti e far sapere all'utente di utilizzare la versione più recente. Un'altra funzionalità opzionale può concentrarsi sulla telemetria sull'utilizzo in cui chiedi all'utente se il tuo software può, in modo anonimo, segnalare come viene utilizzato il software. Se implementato in modo ponderato, questo approccio può consentire agli utenti di contribuire a migliorare il software in base al loro stile di utilizzo. Un utente potrebbe avere l'opinione: "Spesso non permetto questa condivisione delle informazioni sull'utilizzo, ma per alcuni software lo faccio perché spero che gli sviluppatori lo migliorino per me a lungo termine".

Stelle e forchette

Stelle e fork sono funzionalità su piattaforme di social coding come GitHub, GitLab e Gitee. Gli utenti su queste piattaforme possono iniziare un progetto. Perché recitano nei progetti? La documentazione di GitHub spiega: "Puoi aggiungere repository e argomenti a Speciali per tenere traccia dei progetti che ritieni interessanti e scoprire contenuti correlati nel tuo feed di notizie". Speciali è l'equivalente del segnalibro e fornisce anche un modo per mostrare apprezzamento al manutentore del repository. Le stelle sono state utilizzate come indicatore della popolarità di un progetto. Quando un progetto ha un grande annuncio che attira notevole attenzione, il numero delle stelle tende ad aumentare. La metrica a stelle non indica l'utilizzo del software.

I fork su queste piattaforme di social coding sono cloni di un repository. I non manutentori possono apportare modifiche al proprio fork e inviarle per la revisione tramite una richiesta pull. I fork riflettono più la dimensione della comunità che le stelle. Gli sviluppatori possono anche creare un fork di un progetto per salvarne una copia a cui possono accedere anche dopo che il repository originale è scomparso. A causa dell'uso dei fork nel flusso di lavoro dei contributi, la metrica è un buon indicatore per la comunità degli sviluppatori. I fork in genere non indicano l'utilizzo da parte di non sviluppatori perché i non sviluppatori di solito non creano fork.

Mezzi sociali

Le piattaforme di social media forniscono luoghi di ritrovo per persone con interessi condivisi, tra cui Facebook, Instagram, LinkedIn, Reddit, Twitter e altro. Utilizzando una strategia sui social media, i progetti open source possono attrarre persone con interesse e affinità per i loro progetti creando rispettivi spazi di ritrovo su queste piattaforme. Attraverso questi canali di social media, i progetti open source possono condividere notizie e aggiornamenti ed evidenziare contributori e utenti. Possono anche essere utilizzati per incontrare persone che altrimenti non interagirebbero con il tuo progetto.

Siamo riluttanti a suggerire le seguenti metriche perché non hanno una chiara connessione con l'utilizzo effettivo del software e spesso richiedono l'analisi del sentiment positivo, negativo e neutro. Le persone potrebbero essere entusiaste del tuo progetto per molte ragioni diverse e volerlo seguire senza utilizzarlo effettivamente. Tuttavia, come altri parametri già discussi, dimostrare che sei in grado di attirare una folla negli spazi dei social media è un indicatore dell’interesse generale per il tuo progetto. Le metriche per diverse piattaforme di social media possono includere:

  • Il numero di follower o iscritti
  • Il numero di messaggi
  • Il numero di autori di messaggi attivi
  • Il numero di Mi piace, condivisioni, reazioni e altre interazioni

Analisi web e documentazione

Anche il traffico del sito web è una metrica utile. Questa metrica è influenzata più dalle tue attività di sensibilizzazione e di marketing che dal numero di utenti. Tuttavia, abbiamo un asso nella manica: la documentazione per l'utente, i tutorial, i manuali e la documentazione API. Possiamo vedere quali argomenti sul nostro sito web attirano l'attenzione, inclusa la documentazione. Il numero di visitatori della documentazione aumenterebbe probabilmente con un aumento del numero di utenti discreti del software. Possiamo quindi rilevare l'interesse generale per il progetto tra i visitatori del sito web e osservare più specificamente le tendenze degli utenti osservando i visitatori della documentazione. Le metriche possono includere:

  • Il numero di visitatori del sito web
  • Il numero di visitatori della documentazione
  • La durata che i visitatori trascorrono sul tuo sito web o nella documentazione

Eventi

Le metriche degli eventi sono disponibili se stai ospitando eventi attorno al tuo progetto. Questo è un ottimo modo per costruire comunità. Quante persone inviano abstract per parlare ai tuoi eventi? Quante persone si presentano ai tuoi eventi? Questo può essere interessante sia per eventi di persona che virtuali. Naturalmente, il modo in cui pubblicizzi il tuo evento influenza fortemente il numero di persone che si presentano. Inoltre, potresti co-localizzare il tuo evento con un evento più grande in cui le persone viaggiano comunque e, quindi, sono in città e possono facilmente partecipare al tuo evento. Finché utilizzi una strategia coerente per gli eventi, puoi dimostrare che un aumento delle iscrizioni dei relatori e delle registrazioni dei partecipanti è indicativo di una crescente popolarità e base di utenti.

Non è necessario ospitare il tuo evento per raccogliere metriche approfondite. Se ospiti conferenze sul tuo progetto in occasione di eventi open source, puoi misurare quante persone si presentano alla sessione focalizzata sul tuo progetto. In eventi come FOSDEM, alcuni discorsi sono specificamente focalizzati su aggiornamenti o annunci di progetti open source e le stanze sono piene fino all'orlo (come quasi tutte le sessioni del FOSDEM).

Metriche che potresti prendere in considerazione:

  • Il numero di partecipanti al tuo evento incentrato sul progetto
  • Il numero di discorsi inviati al tuo evento incentrato sul progetto
  • Il numero di partecipanti ai tuoi discorsi incentrati sul progetto

Conclusione sull'utilizzo approssimativo del software open source

Come abbiamo illustrato, esistono molti parametri che possono indicare le tendenze relative all'utilizzo del software e sono tutti imperfetti. Nella maggior parte dei casi, questi parametri possono essere fortemente influenzati dal comportamento individuale, dalla progettazione del sistema e dal rumore. Pertanto, ti suggeriamo di non utilizzare mai nessuno di questi parametri isolatamente, data la relativa incertezza di ciascuno di essi. Ma se raccogli una serie di parametri da una varietà di fonti, dovresti essere in grado di rilevare le tendenze nel comportamento e nell’utilizzo. Se hai i mezzi per confrontare lo stesso insieme di parametri su più progetti open source con punti in comune, come funzionalità simili, forti interdipendenze, hosting sotto la stessa base e altre caratteristiche, puoi migliorare il tuo senso delle linee di base comportamentali.

Tieni presente che in questa panoramica abbiamo scelto di evidenziare anche le metriche che valutano l'utilizzo diretto. Poiché la maggior parte del software dipende da una varietà di altri pacchetti software, saremmo negligenti se non menzionassimo che l'utilizzo e il comportamento possono anche essere fortemente influenzati dall'utilizzo indiretto come parte di una catena di dipendenze. Pertanto, ti consigliamo di incorporare il conteggio delle dipendenze upstream e downstream come un altro livello di contesto nell'analisi.

In conclusione, in quanto detentori di dati e metriche, ti incoraggiamo a riconoscere il potere e la responsabilità che hai nei confronti dei tuoi stakeholder. Qualsiasi metrica che pubblichi ha il potenziale per influenzare il comportamento. È una buona pratica condividere sempre il contesto (basi, fonti, stime e altre informazioni contestuali critiche) poiché ciò aiuterà gli altri a interpretare i risultati.

Ringraziamo la comunità CHAOSS per l'interessante conversazione al CHAOSScon EU 2022 a Dublino, Irlanda, che ha dato vita all'idea di questo post sul blog, e i membri della comunità CHAOSS che hanno rivisto e contribuito a migliorare questo articolo.

Articoli correlati: