Il linguaggio Go di Google viene utilizzato dagli sviluppatori su progetti diversi come l'archiviazione cloud e lo streaming multimediale. Ma la proposta di riportare la toolchain a Google per impostazione predefinita ha sconvolto molti utenti. Ecco cosa devi sapere.
Nessun software è perfetto e le versioni vengono spesso aggiornate per aggiungere nuove funzionalità o per risolvere problemi e colmare buchi di sicurezza.
Sviluppatori di software si sforzano continuamente di migliorare il proprio software e per farlo hanno bisogno di dati. Devono sapere quali funzionalità sono popolari, se sviluppare o migliorare determinati aspetti del software e diagnosticare i problemi.
In genere, gli sviluppatori ricevono dati su base volontaria, tramite richieste di funzionalità e segnalazioni di bug.
In alternativa, alcuni software richiederanno all'utente di inviare automaticamente una segnalazione di bug agli sviluppatori in caso di arresto anomalo. Queste informazioni includono dettagli su ciò che l'utente stava facendo in modo che il team di sviluppo possa diagnosticare e risolvere il problema. Può anche includere dettagli come il sistema operativo, la geolocalizzazione approssimativa e qualsiasi altra cosa che potrebbe essere utile.
Nella maggior parte dei casi, quando il software si arresta in modo anomalo, viene visualizzata una finestra di dialogo che richiede di inviare la segnalazione, con opzioni per consentire o rifiutare l'autorizzazione.
A parte le segnalazioni di arresti anomali e bug, gli sviluppatori di solito sono all'oscuro di come le persone utilizzano il loro software.
Go è un linguaggio di programmazione open source progettato da Google. Ha visto un aumento di popolarità grazie alle sue caratteristiche di semplicità, velocità e concorrenza. Viene utilizzato in tutti gli aspetti dello sviluppo e i progetti scritti in Go includono Docker e Kubernetes. Netflix, Soundcloud e, naturalmente, Google utilizzano Go per vari servizi di back-end.
Nel febbraio 2023, Russ Cox, un ingegnere del software di Google con il progetto Go, ha pubblicato a proposta sul golang GitHub deposito. Ha suggerito che la telemetria negli strumenti della riga di comando di Go dovrebbe essere attiva per impostazione predefinita, inviando i dati sull'utilizzo degli strumenti a Google.
Cox propone di utilizzare un sistema limitato di telemetria, in cui le decisioni sulla raccolta delle metriche avvengono in un processo aperto e pubblico. Le caratteristiche principali della proposta includono:
- I rapporti caricati includono solo il conteggio totale degli eventi nell'arco di un'intera settimana, non alcun tipo di traccia degli eventi in ordine cronologico.
- I report caricati non includono ID utente, ID macchina o qualsiasi altro tipo di ID.
- Gli indirizzi IP esposti dalla sessione HTTP che carica il report non vengono registrati con i report.
- Il sistema è attivo per impostazione predefinita, ma la disattivazione è semplice, efficace e persistente.
Cox ha anche affermato "Non sto suggerendo che la strumentazione venga aggiunta dal compilatore Go a tutti i programmi Go nel mondo: è chiaramente inappropriato".
Le risposte alle proposte di Cox sono state contrastanti; alcuni sviluppatori Go pensano che la proposta sia inutile e dannosa, mentre altri la vedono come una buona idea. Si teme inoltre che la telemetria on-by-default possa violare le normative sulla protezione dei dati come il GDPR europeo.
La telemetria non è qualcosa di nuovo
Se hai mai configurato un PC Windows, avrai fatto clic su diverse schermate relative alla configurazione della telemetria. Per fortuna, puoi istruire il tuo sistema operativo a inviare solo informazioni di base a Microsoft.
Tuttavia, non hai la possibilità di disabilitare completamente la telemetria, o "dati diagnostici", durante il processo di installazione. Disabilitazione della telemetria di Windows dopo l'installazione è anche un esercizio non banale. Anche Ubuntu, il sistema operativo desktop open source più popolare, ha solo un minimo cenno al consenso della telemetria.
Altrove, l'SDK .NET e l'interfaccia a riga di comando di .NET di Microsoft dispongono di rapporti sugli arresti anomali e invieranno varie metriche a Redmond sul tuo sistema e sul tuo utilizzo.
Mentre puoi facilmente disabilitare la telemetria dello strumento di sviluppo di Microsoft, c'è un argomento secondo cui dovrebbe essere opt-in per impostazione predefinita.
La telemetria è molto preziosa per gli sviluppatori, quindi è possibile che l'impostazione predefinita si insinui in altri strumenti, IDE e compilatori.
Ciò è particolarmente probabile se i progetti con telemetria opt-out diventano più popolari di altri linguaggi e strumenti.
Dal punto di vista di un programmatore, sarà difficile e dispendioso in termini di tempo esaminare tutto toolkit, controllando se la telemetria è attiva, disabilitandola e sperando che un aggiornamento futuro non la ripristini collocamento.
Go non è l'unico linguaggio di programmazione in città
Nonostante la sua crescente popolarità, il passaggio di Go alla telemetria opt-out potrebbe farti riflettere. Se prendi davvero sul serio la privacy, potresti persino decidere di abbandonarla del tutto.
Sono disponibili centinaia di linguaggi e strumenti di programmazione e ce n'è sicuramente almeno uno che si adatta altrettanto bene al tuo progetto.