1 puntos por GN⁺ 2023-07-09 | 1 comentarios | Compartir por WhatsApp
  • Homebrew recopila analytics anónimos con InfluxDB y solo los activa después de mostrar un aviso al ejecutar brew update por primera vez o durante la instalación
  • Por ser un proyecto gratuito y basado en voluntarios, datos como la tasa de fallos de las formulae, la versión del SO y la frecuencia de uso de comandos sirven como base para priorizar funciones y correcciones
  • Los datos anónimos de analytics en InfluxDB se conservan durante 365 días, y todos los datos de analytics que antes se enviaban a Google Analytics fueron eliminados
  • El alcance de la recopilación se limita a datos como si se ejecuta en CI, si se usa el prefix de instalación predeterminado, la arquitectura de CPU, las versiones del SO y de Homebrew, y eventos de instalación, errores de compilación y ejecución de comandos
  • Los usuarios pueden desactivar los analytics con HOMEBREW_NO_ANALYTICS=1 o brew analytics off; Homebrew no vincula eventos específicos con usuarios específicos ni almacena direcciones IP

Cuándo se activan los analytics y por qué se usan

  • Homebrew se ofrece gratis y lo operan voluntarios en su tiempo libre, por lo que carece de recursos dedicados de investigación de usuarios para diseñar funciones y priorizar trabajo
  • Los analytics anónimos se usan para entender cómo, dónde y cuándo se usa Homebrew, y así definir prioridades de correcciones y funciones
    • Una formula muy usada pero que falla con frecuencia puede recibir mayor prioridad de corrección que otras formulae
    • La información de versiones del SO se usa para priorizar qué versiones de macOS admitir y para identificar fallos de compilación que solo ocurren en versiones específicas
    • Los comandos con baja frecuencia de uso pueden ser eliminados
  • Los analytics solo se activan después de mostrar un aviso cuando se ejecuta brew update por primera vez o al instalar Homebrew
    • Antes del aviso no se envían datos de analytics, de modo que el usuario puede optar por no participar antes de que se transmitan datos
  • El período de conservación de los datos anónimos de analytics almacenados en InfluxDB es de 365 días
  • Todos los datos de analytics que antes se enviaban a Google Analytics fueron eliminados

Eventos enviados y alcance de la recopilación

  • En todos los eventos de formula o cask se registran datos comunes
    • Si se envían desde CI
    • Si se usa el prefix de instalación predeterminado
      • Ejemplo de prefix predeterminado: /opt/homebrew
      • Ejemplo de prefix personalizado: /home/mike/.brew
      • Para preservar el anonimato, el prefix personalizado se envía como custom-prefix
    • Si está configurada la variable de entorno HOMEBREW_DEVELOPER
    • Si se ha ejecutado algún comando de desarrollador de Homebrew, indicado por devcmdrun
    • Arquitectura de CPU, por ejemplo: x86_64
    • SO y versión, por ejemplo: macOS 13
    • Versión de Homebrew, por ejemplo: 4.0.0
  • Los analytics de Homebrew registran varias categorías de eventos
    • install: formulae de Homebrew instaladas desde un tap de GitHub no privado y las opciones usadas
    • install_on_request: formulae y opciones cuya instalación fue solicitada explícitamente por el usuario
    • cask_install: casks de Homebrew instalados desde un tap de GitHub no privado
    • build_error: formulae y opciones cuya instalación falló
      • No se envían detalles ni logs de errores de compilación
    • command_run: comando ejecutado y flags
    • test_bot_test: se usa únicamente en el entorno de CI de Homebrew para registrar resultados de pruebas de pull requests
  • Si se configura HOMEBREW_ANALYTICS_DEBUG=1 en el entorno, se puede ver toda la información que envían los analytics de Homebrew, y esta configuración también detiene el envío de analytics
  • Los datos de analytics se envían a InfluxDB mediante HTTPS durante la ejecución de Homebrew

Datos públicos, código y opt-out

  • Los eventos de analytics agregados pueden verse en la página pública y también se ofrece una API JSON
    • La mayoría de los maintainers de Homebrew no recibe acceso a datos de analytics más detallados que los disponibles en este recurso público
  • Los desarrolladores de Homebrew no pueden vincular eventos específicos con usuarios específicos, y tampoco almacenan ni reciben direcciones IP
  • El código de analytics puede revisarse en analytics.rb y analytics.sh
    • Se ejecuta en un proceso separado en segundo plano
    • Falla rápido para no retrasar la ejecución de Homebrew
    • Si no hay conexión de red, falla de inmediato y en silencio
  • Para desactivar los analytics, se puede usar una variable de entorno o un comando
    • export HOMEBREW_NO_ANALYTICS=1
    • brew analytics off

1 comentarios

 
GN⁺ 2023-07-09
Comentarios en Hacker News
  • La función de analíticas de Homebrew ahora se migró por completo a una instancia de InfluxDB en la UE, recopila menos datos que antes y todos los datos de Google Analytics fueron eliminados
    https://docs.brew.sh/Analytics
    Al ejecutar brew analytics durante una actualización esta mañana, apareció InfluxDB analytics are disabled. y Google Analytics were destroyed.

    • Eso pasa porque está configurado HOMEBREW_NO_ANALYTICS 1; si quitas esa configuración, se activa la analítica de InfluxDB
    • Es un poco raro especificar incluso la tecnología de base de datos que usan. En el contexto general no parece muy relevante
  • Hay que felicitar al equipo de Homebrew por haber cumplido su promesa de alejarse de Google Analytics

  • Si la configuración actual está así, brew analytics state muestra que la analítica de InfluxDB está desactivada y que Google Analytics fue eliminado
    HOMEBREW_NO_GOOGLE_ANALYTICS 1
    HOMEBREW_NO_ANALYTICS 1
    Después, al ejecutar brew update, aparece una advertencia de que HOMEBREW_NO_GOOGLE_ANALYTICS ya no tiene ningún efecto y puede quitarse, junto con un aviso de que la analítica se migró a InfluxDB en la UE y que puede volver a activarse con brew analytics on
    Aun así, si quieres que la analítica de InfluxDB no se active, debes mantener HOMEBREW_NO_ANALYTICS 1

  • Sigo usando macOS por Homebrew, y si no existiera probablemente usaría apt en Linux
    Me pregunto si existe algún buen sitio para buscar paquetes de apt como brew.sh. La página de apt de Ubuntu es demasiado confusa

  • No entiendo por qué un gestor de paquetes tendría que recopilar datos analíticos
    Incluso los datos recopilados podrían permitir identificar mediante huella del dispositivo

    • Homebrew es mantenido totalmente por colaboradores de código abierto, y mantener actualizados miles de paquetes ya es un trabajo enorme
      Los datos analíticos sirven como sistema de alerta y como evidencia real para evaluar la importancia o inestabilidad de los paquetes
      Además, aunque Homebrew funciona sobre macOS, no puede controlar cómo Apple cambia macOS, así que la analítica ayuda a detectar rápidamente fallos causados por cambios unilaterales de Apple
    • La razón aparece en el “Why?” del inicio del texto
      Homebrew es gratuito y está operado enteramente por voluntarios en su tiempo libre, así que no tienen recursos para hacer investigaciones detalladas de usuarios que ayuden a diseñar funciones futuras o priorizar el trabajo actual
      La analítica anónima permite saber qué formulae se usan mucho y fallan con frecuencia, qué versiones de macOS conviene priorizar, y qué fallos de compilación ocurren solo en versiones específicas
    • Es difícil mejorar un producto si no sabes cómo se usa
    • De verdad me da curiosidad: no entiendo cómo funcionaría aquí eso de la huella del dispositivo
  • Actualización: también hay quien dice que usar Google Analytics en sí no tiene nada de malo
    https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...

  • brew analytics off

  • Sorprende que un servicio gratuito pueda cumplir mejor con el GDPR que los interminables pop-ups molestos de otros sitios
    A veces esos pop-ups parecen no estar ahí por necesidad, sino para fastidiar a propósito

    • Un sistema que guarda muy pocos datos personales naturalmente lo tiene más fácil para cumplir con el GDPR
      Además de que “menos datos implican menos problemas”, también hay mucha burocracia. Cuando antes me tocó encargarme del cumplimiento del GDPR, el equipo de seguridad quería guardar todos los datos para siempre, y el equipo legal que determinaba el alcance del GDPR chocaba con el equipo legal general
      En particular, el equipo legal general seguía impulsando cambios a políticas de retención que no tenían relación o incluso se contradecían entre sí, sin entender qué hacía el sistema e ignorando las explicaciones
    • Puede esperarse que un servicio sin fines de lucro cumpla mejor con la privacidad que uno que intenta monetizar al máximo los datos de sus usuarios
    • Cumplir con el GDPR es muy fácil. Simplemente no recolectes información de identificación personal desde el principio
      Si quieres recopilar datos, pregúntale al usuario y explícale exactamente qué vas a hacer
      Se vuelve difícil cuando intentas recopilar tantos datos que el usuario no aceptaría si entendiera bien el alcance, y además quieres enviarlos a varios terceros. Desde ese momento empiezas a usar las técnicas más oscuras para aparentar cumplimiento legal mientras engañas al usuario
  • Qué maravilla que hasta las herramientas de línea de comandos envíen telemetría a casa. Ya no hay ningún lugar libre de spyware

    • Es absurdo y perjudicial mezclar “spyware” en el sentido de rastreo para monetización con la telemetría que sirve para que los desarrolladores entiendan el estado de un sistema en operación
      Homebrew es un sistema complejo que puede romperse de muchas maneras, no tiene una empresa detrás y se desarrolla completamente como código abierto
      Poder ver al menos un poco cómo se comporta un sistema en ejecución es algo básico. Sería como exigirles a desarrolladores que donan su tiempo a un proyecto muy útil que trabajen con una mano atada por culpa de la paranoia
      Si este tipo de exigencias prospera, es probable que el software de código abierto deje de hacerse o termine en manos de empresas con fines de lucro mucho menos bienintencionadas respecto al spyware
      En este caso, se trata de que el proyecto Homebrew escuchó a la comunidad y se movió a una analítica autohospedada orientada a la privacidad, así que lo correcto es ignorar a quienes nunca estarán satisfechos
    • No entiendo por qué el hecho de que sea una herramienta de línea de comandos tendría que ser el criterio de distinción
      Sería distinto si fuera una herramienta simple sin necesidad de conexión a internet, pero Homebrew no es solo una herramienta de línea de comandos, sino también un repositorio y sistema de compilación en movimiento constante
      Si yo fuera desarrollador, me parecería razonable querer entender qué impacto tiene un cambio específico en la experiencia de los usuarios
  • Alejarse de Google Analytics se siente como una decisión algo embarazosa
    Google ya puede obtener casi todos los datos que quiera a través de los usuarios de Chrome, y GA en la práctica casi solo sirve para que Google también capture a los usuarios que no usan Chrome
    Más importante aún, me permite a mí ver qué está viendo Google en mi sitio
    Apagar GA podría molestar un poco a Google, pero probablemente solo reduciría como mucho un 10% de los datos de uso de los usuarios, y a cambio yo perdería la capacidad de ver lo que Google ve sobre mí
    Google sigue representando más del 90% del tráfico de búsqueda, así que dejar GA se siente como meter la cabeza en la arena
    Entiendo no querer ser rastreado o que se compartan datos, pero no sé si desactivar GA realmente resuelve ese problema