GitHub CLI ahora recopila telemetría seudónima
(cli.github.com/telemetry)- GitHub CLI envía telemetría seudónima con el objetivo de obtener visibilidad sobre el uso de funciones y apoyar la mejora del producto
- Se utiliza la adopción de subcomandos y los patrones de uso de flags para definir prioridades de trabajo, evaluar si se satisfacen las necesidades de los usuarios y reconsiderar la discoverability y el diseño
- Con una implementación de código abierto, se puede revisar directamente el código de telemetría en el repositorio
cli/cli, y con el modo logging es posible ver el payload JSON antes de que se envíe realmente - Es posible hacer opt-out con la variable de entorno
GH_TELEMETRY=false,DO_NOT_TRACK=trueogh config set telemetry disabled, y las variables de entorno tienen prioridad sobre la configuración - Los eventos de telemetría se envían a la infraestructura interna de análisis de GitHub, y esta página solo cubre la recopilación de datos del lado del cliente de
gh; las extensiones y Copilot CLI se tratan por separado
Telemetría
- GitHub CLI envía telemetría seudónima con el objetivo de apoyar la mejora del producto
- Se ofrece información para que los usuarios entiendan qué datos se envían y por qué
Por qué se recopila telemetría
- Se menciona la necesidad de obtener visibilidad sobre el uso de las funciones de GitHub CLI, especialmente a medida que crece la adopción de agentes, con el fin de entender cómo se usa realmente
- El equipo usa estos datos para definir prioridades de trabajo
- Evaluar si las funciones realmente satisfacen las necesidades de los usuarios
- También se indica el objetivo de confirmar la adopción tras el lanzamiento de nuevos subcomandos
- Si casi nadie los usa, puede ser necesario reconsiderar la discoverability o el diseño de esa función
- Si se detecta un uso alto junto con ciertos flags, se puede identificar mejor dónde invertir para ofrecer una mejor experiencia
Revisión de la telemetría
- GitHub CLI es código abierto, y la implementación de la telemetría se puede revisar directamente en el repositorio
cli/cli - Para comprobar qué datos se enviarán sin transmitir nada realmente, se puede usar el modo logging
- Compatible con variables de entorno
export GH_TELEMETRY=log
- Compatible con configuración del CLI
gh config set telemetry log
- Compatible con variables de entorno
- En el modo logging, el payload JSON que normalmente se enviaría se imprime en stderr
- Esto permite revisar cada campo antes de decidir si se mantiene activada la telemetría
- Se muestra como comando de ejemplo
GH_TELEMETRY=log gh repo list --archived
- Se especifica la información del evento incluida en el payload de ejemplo
- Tipo de evento
command_invocation - En dimensions se incluyen
agent,architecture,command,device_id,flags,invocation_id,is_tty,os,timestamp,version - Como valores de ejemplo se muestran
architecture: arm64,command: gh repo list,flags: archived,os: darwin,version: 2.91.0
- Tipo de evento
- Ese comando solo puede registrar telemetría sobre el comando exacto y el contexto en que fue ejecutado
- Si se cambia la variable de entorno, pueden cambiar los events y event dimensions incluidos en el payload
- También pueden variar los elementos incluidos si cambia la cuenta autenticada
Cómo hacer opt-out
- Es posible hacer opt-out de la telemetría revisada en el modo logging
- Compatible con variables de entorno
export GH_TELEMETRY=false- Se pueden usar valores falsy como
0,false,disabled, cadena vacía - También se admite la convención
DO_NOT_TRACK, con el ejemploexport DO_NOT_TRACK=true
- Compatible con configuración del CLI
gh config set telemetry disabled
- Las variables de entorno tienen mayor prioridad que el valor de configuración
A dónde se envían los datos
- Los eventos de telemetría se envían a la infraestructura interna de análisis de GitHub
- Para más información sobre cómo se procesan los datos, se indica consultar la GitHub General Privacy Statement
Información adicional
- GitHub CLI permite ampliar funciones mediante la instalación de extensiones de GitHub y de terceros, incluidos agentes
- Estas extensiones pueden recopilar sus propios datos de uso
- No están controladas por la configuración de opt-out
- Es necesario revisar la documentación de cada extensión para confirmar cómo reporta telemetría y si puede desactivarse
- Esta página solo trata la recopilación de datos del lado del cliente del
ghde GitHub CLI- No se aplica a GitHub Copilot ni a Copilot CLI
- Copilot CLI maneja la recopilación de datos por separado
- Se indican como referencias
Using GitHub Copilot CLIyResponsible Use of the GitHub Copilot CLI
1 comentarios
Comentarios de Hacker News
Me pregunto por qué los equipos de desarrollo corporativos siempre quieren observar a los usuarios con telemetría
Quisiera preguntar si no basta con buena ingeniería y buen diseño
Git ha funcionado bien por más de 20 años sin análisis detallados de quién usa qué funciones y comandos, y me pregunto si realmente habría mejorado con telemetría o si solo habría aumentado la información que distrae
Sin analytics es como manejar con los ojos vendados
No puedes saber qué valoran de verdad los usuarios, qué flujos debes optimizar, y es sorprendentemente grande la diferencia entre lo que la gente dice y cómo realmente usa el software
Muchas veces también es difícil obtener buen feedback de la gente, y aunque a todos les parezca buena la idea de la función X, en la práctica puede que no la usen para nada
Además, aunque parezca que hay una base de fans muy ruidosa, eso puede no traducirse en ingresos ni en uso real
Creo que Git probablemente habría mejorado si hubiera tenido telemetría
Git es famoso por tener una UI mala
Los datos habrían mostrado de inmediato cuánto se perdía la gente al principio y, por ejemplo, mejoras como
git restorehabrían llegado mucho antes en lugar de comandos poco intuitivos comogit checkout -- foo.txtComo la gente que no usa directamente las herramientas no entiende cómo se usan realmente, el PM a cargo de herramientas de desarrollo termina pidiendo este tipo de datos para poder hacer su trabajo
Me parece una estructura parecida a la de un PM de comercio electrónico que llena el frontend de scripts de rastreo
Los ingenieros por sí solos podían diseñar bien la interacción con los usuarios, pero siento que después del VC se consolidó un paradigma donde productos técnicos son dirigidos profundamente por personas no técnicas
Al final, los datos terminan en sus manos y alguien logra justificar el sueldo del PM
Para mí eso no está claro
Parece un caso representativo de ingenieros creando interfaces para ingenieros, sin un buen ciclo de retroalimentación
Irónicamente, este mismo ejemplo muestra que los desarrolladores necesitan entender mejor cómo se usa realmente su producto
El escenario de uso que el desarrollador tiene en la cabeza suele ser bastante distinto de la realidad
Creo que el tema del opt-out en
ghCLI es más complejo de lo que pareceghtambién corre en pipelines de CI/CD o en entornos de servidor, y en esos entornos puede que no quieran conexiones salientes agithub.comno por privacidad, sino por restricciones de redEn esos casos, si la telemetría viene activada por defecto, el CI podría fallar o un Bastion host podría no poder llegar en absoluto a GitHub
En cambio, Git en sí funciona completamente en local hasta que el usuario hace push explícitamente
Es un modelo de confianza distinto
Git nunca hace phone home si no lo configuras, mientras que
ghsí es un wrapper del API de GitHub y reconozco que funcionalmente necesita hacer llamadasAun así, aparte de ese hecho, creo que hay que discutir por separado si también debe recopilar y subir patrones de uso de comandos
ghes prácticamente inútil si no puede conectarse aGitHub.comO si el caso principal es conectarse a GitHub Enterprise
Si tres desarrolladores están gastando el 80% de su tiempo en alguna parte del codebase que en realidad no tiene uso, y tampoco parece realista que vaya a crecer en el futuro, puede ser mejor reasignar esa gente o replantear la función por completo
Pero el problema de este tipo de analytics es que existe sobre el entendimiento de que se puede reconstruir una identidad con aprendizaje automático al vincular identificadores únicos y patrones de comportamiento
Si además incluyes marcas de tiempo, es todavía más serio
Por eso creo que sería bueno mostrar exactamente qué telemetría se envía y cuándo
Por ejemplo, podría haber una opción para mostrar en modo verbose qué se enviaría, sin enviarlo realmente, y luego dejar que el usuario lo revise y decida si activarlo
Me parece correcto el enfoque de Steam Hardware Survey, que muestra qué se envía
Siento que toda esta discusión se vuelve todavía más confusa porque todos los comandos de
ghal final no son más que wrappers del API de GitHubMe gustan los PR tan cortos como este
https://github.com/cli/cli/pull/13254
El contenido también es simple, así que lo interpreto como que quitaron la env var que bloqueaba la telemetría y ahora la cambiaron a activada por defecto
Salvo en enterprise, parece una estructura prácticamente forzada
Estoy muy satisfecho de haber desplegado gitea en mi homelab el mes pasado
También tiene función para importar desde GitHub y, honestamente, siento que es más rápido que GitHub y tiene mejor uptime
Claude también se conecta bien con
teaCLI y Git, y aunque es casi una copia de GitHub, hasta ahora incluso me parece mejorVa rápido y tiene buen uptime
Incluso corre en una Pi 4 en el gabinete al lado de mi escritorio, así que sigue funcionando aunque se caiga internet
Estoy enviando backups fuera del sitio con borg y syncthing
La configuración requiere algo de trabajo, pero después de eso el tiempo de mantenimiento es casi cero
Más o menos cada dos semanas solo entro por SSH para revisar espacio en SSD, uso de RAM,
apt update,upgradey actualizaciones de versión mayorMe pregunto si la gente no asume ya que GitHub recopila y agrega todas las solicitudes que llegan a sus propios servidores
Después de todo, la razón de existir de
ghCLI es interactuar con esos servidoresSi de verdad no quieres rastreo de solicitudes, creo que tendrías que hacer opt-out de muchas más cosas que de esta sola configuración
Pero esta vez parece que quieren sumar métricas del lado del cliente para rastrear mejor flujos que van no solo a GitHub, sino también a otros lugares como GitLab, Codeberg
Desde la perspectiva de GitHub, creo que puede ser algo bueno
Todas las empresas necesitan este tipo de datos, y algunas los usan para mejorar el producto y otras para fines menos nobles
Sé que a los usuarios de HN no les gusta la telemetría, pero si alguna vez hiciste SaaS, sientes que la telemetry es básicamente esencial
Al final, lo que quiero señalar es la falta de conversación
La clave está en los detalles, y estoy pensando si existirá algún servicio intermediario confiable que ayude a crear un punto medio aceptable para ambos lados, usuarios y creadores del producto
Menciona que está organizando en un Gist lo que investigó con ayuda de Claude
Me hace pensar en Embrace, extend, extinguish de Microsoft
Los dos primeros pasos ya ocurrieron y predigo que, dentro de 5 años, GH CLI será la única forma de interactuar con repositorios de GitHub
Entonces se completará también la tercera etapa y el ciclo se cerrará
Se siente como una perspectiva irrealista, al punto de querer preguntar cuánto quiere apostar
La gente siguió aplicando el marco de EEE a WSL, soporte de GPU, WSLg y PowerShell, pero en realidad eso no pasó
Tampoco ahora, y desde el principio casi no se ve ni rastro de un plan así
No es algo que deba interpretarse por intuición; mi postura es que muestren evidencia de dónde se está reproduciendo hoy ese método repetible que Microsoft sí usó en los 90
No existe ningún Microsoft Git que esté bloqueando con más funciones que el open source, y con Microsoft Linux pasa lo mismo
GitHub es un wrapper sobre Git y tiene como diseño central ser un servidor Git que corre sobre HTTP y SSH
Romper esa base y bloquear el acceso a repositorios para que solo se haga con
ghsería un cambio demasiado grande, así que no lo veo realistaghes solo una herramienta para facilitar llamadas al API, y siento que la mayoría de los usuarios de GitHub ni siquiera sabe que existeMás bien, creo que lo que tiene más probabilidades de arruinar GitHub no es un EEE malicioso, sino una gestión incompetente
Siento que es más probable que caiga por ejecutivos que no entienden a los usuarios ni al producto
Ya siento que algunos repositorios son incómodos de manejar sin
gh, y que poco a poco se están creando flujos forzadosNo sé exactamente qué más ofrece
ghporque no lo he usado, pero para mí los comandos estándar de Git son suficientesAquí me confunde si
pseudonymous telemetrysignifica telemetría seudónima o si en realidad quiere decir telemetría que no es anónimaLas dos expresiones significan casi lo contrario, y tal como está redactado ahora, parece que estuvieran diciendo que recopilan datos identificables
pseudoanonymousparece ser una invención del autor del post en HNParece una estructura donde cada máquina tiene un UUID y se la identifica con base en eso