Go es un lenguaje de programación concurrente y compilado con tipado estÔtico inspirado en la sintaxis de C, pero con seguridad de memoria y recolección de basura.
Russ Cox, un ingeniero de software de Google que lidera el desarrollo del lenguaje de programación de código abierto Go, presentó un posible plan para implementar la telemetrĆa en la cadena de herramientas de Go. Sin embargo, muchos miembros de la comunidad de Go se oponen porque el plan llama a la telemetrĆa de manera predeterminada.
Estos desarrolladores alarmados preferirĆan un rĆ©gimen de participación en lugar de un rĆ©gimen de exclusión, una posición que el equipo de Go rechaza porque garantizarĆa una baja adopción y reducirĆa la cantidad de datos de telemetrĆa recibidos hasta el punto en que serĆa de poco valor.
Para quienes desconocen de Go, deben saber que este es un lenguaje de programación desarrollado en Google. Aunque es similar al lenguaje C, trae una serie de adiciones importantes y modernas. Russ Cox es el ingeniero de Google que actualmente lidera el desarrollo de Go, y ha presentado una propuesta controvertida, que implicarĆa habilitar la telemetrĆa en Go de forma predeterminada.
La telemetrĆa cubrirĆ” las utilidades de lĆnea de comandos desarrolladas por el equipo de desarrollo del lenguaje Go, como la utilidad Ā«goĀ», el compilador, las aplicaciones gopls y govulncheck. La recopilación de información se limitarĆ” solo a la acumulación de información sobre las caracterĆsticas de los servicios pĆŗblicos, es decir la telemetrĆa no se agregarĆ” a las aplicaciones creadas.
La telemetrĆa, como la describe Cox, implica que el software envĆe datos desde el software Go a un servidor para proporcionar información sobre las funciones que se utilizan y cómo se estĆ” desempeƱando el software. Argumenta que es beneficioso para los proyectos de código abierto tener esta información para guiar el desarrollo.
Creo que los proyectos de software de código abierto deben explorar nuevos diseƱos de telemetrĆa que ayuden a los desarrolladores a obtener la información que necesitan para trabajar de manera eficaz y eficiente, sin recopilar rastros invasivos de la actividad detallada del usuario.
He escrito una breve serie de publicaciones de blog sobre un diseƱo de este tipo, al que llamo telemetrĆa transparente, porque recopila la menor cantidad posible (kilobytes por aƱo de cada instalación) y luego publica cada elemento que recopila, para inspección pĆŗblica y anĆ”lisis.
Me gustarĆa explorar el uso de la telemetrĆa transparente, o un sistema similar, en la cadena de herramientas de Go, que espero ayude a los desarrolladores y usuarios de proyectos de Go. Para ser claros, solo sugiero que se agregue instrumentación a las herramientas de lĆnea de comandos de Go escritas y distribuidas por el equipo de Go, como el comando go, el compilador Go, gopls y govulncheck. No estoy sugiriendo que el compilador Go agregue instrumentación a todos los programas Go del mundo: eso es claramente inapropiado.
La telemetrĆa transparente tiene las siguientes propiedades clave*:
Aunque la idea detrĆ”s de la propuesta puede no ser mala, la idea planeada actualmente puede asustar a los desarrolladores actuales o potenciales del lenguaje de programación Go en cualquier proyecto futuro. Debe recordarse que la mayorĆa de los desarrolladores y usuarios de código abierto se oponen notoriamente a la mayorĆa de las formas de telemetrĆa.
El motivo para recopilar telemetrĆa, es el deseo de obtener la información faltante sobre las necesidades y caracterĆsticas del trabajo de los desarrolladores que no se puede detectar mediante mensajes de error y encuestas como mĆ©todo de retroalimentación.
Russ tiene como objetivo introducir un concepto de Ā«telemetrĆa transparenteĀ» para ayudar a los proyectos de código abierto a comprender mejor el software, teniendo en cuenta la privacidad. En las publicaciones de su blog (una serie de 3 artĆculos), menciona que las encuestas y los informes de errores son insuficientes. Por lo tanto, es necesario introducir la forma mĆ”s fĆ”cil de recopilar datos sobre el uso de una aplicación (es decir, la telemetrĆa) manteniendo las cosas abiertas para todos.
Esto significa que todo el proceso de recopilación de datos, cómo se procesan y qué resulta de ellos, estÔ abierto a todos.
Finalmente si estƔs interesado en poder conocer mƔs al respecto, puedes consultar los detalles en el siguiente enlace.