1 points par GN⁺ 2023-07-09 | 1 commentaires | Partager sur WhatsApp
  • Homebrew collecte des analyses anonymes avec InfluxDB et n’active l’analytics qu’après avoir affiché une notification lors de la première exécution de brew update ou pendant l’installation
  • En tant que projet gratuit et géré par des bénévoles, des données comme le taux d’échec des formulae, la version de l’OS ou la fréquence d’utilisation des commandes servent de base pour définir les priorités des fonctionnalités et des correctifs
  • Les données d’analyse anonymes stockées dans InfluxDB sont conservées pendant 365 jours, et toutes les données d’analyse auparavant envoyées à Google Analytics ont été supprimées
  • La collecte se limite à des éléments comme l’exécution en CI, l’utilisation ou non du prefix d’installation par défaut, l’architecture CPU, les versions de l’OS et de Homebrew, ainsi que les événements d’installation, d’erreur de build et d’exécution de commandes
  • Les utilisateurs peuvent désactiver l’analytics avec HOMEBREW_NO_ANALYTICS=1 ou brew analytics off, et aucun événement n’est relié à un utilisateur précis ni à une adresse IP enregistrée

Quand l’analytics est activé et pourquoi il est utilisé

  • Homebrew étant gratuit et maintenu par des bénévoles sur leur temps libre, le projet manque de ressources dédiées à la recherche utilisateur pour concevoir des fonctionnalités et fixer les priorités de travail
  • L’analytics anonyme sert à comprendre comment, où et quand Homebrew est utilisé afin de définir les priorités des correctifs et des fonctionnalités
    • Une formula largement utilisée mais qui échoue souvent peut devenir plus prioritaire à corriger qu’une autre formula
    • Les informations sur les versions d’OS servent à prioriser les versions de macOS à prendre en charge et à identifier les échecs de build qui ne surviennent que sur certaines versions
    • Les commandes peu utilisées peuvent être supprimées
  • L’analytics n’est activé qu’après l’affichage d’une notification lors de la première exécution de brew update ou de l’installation de Homebrew
    • Avant cette notification, aucune donnée d’analyse n’est envoyée, ce qui permet à l’utilisateur de se désinscrire avant toute transmission
  • La durée de conservation des données d’analyse anonymes stockées dans InfluxDB est de 365 jours
  • Toutes les données d’analyse qui étaient auparavant envoyées à Google Analytics ont été supprimées

Événements transmis et périmètre de collecte

  • Tous les événements liés aux formulae ou aux casks enregistrent aussi des informations communes
    • S’ils sont envoyés depuis la CI ou non
    • Si le prefix d’installation par défaut est utilisé ou non
      • Exemple de prefix par défaut : /opt/homebrew
      • Exemple de prefix personnalisé : /home/mike/.brew
      • Un prefix personnalisé est transmis sous la forme custom-prefix afin de préserver l’anonymat
    • Si la variable d’environnement HOMEBREW_DEVELOPER est définie
    • La présence de devcmdrun, qui indique si une commande développeur de Homebrew a déjà été exécutée
    • L’architecture CPU, par exemple x86_64
    • L’OS et sa version, par exemple macOS 13
    • La version de Homebrew, par exemple 4.0.0
  • L’analytics de Homebrew enregistre plusieurs catégories d’événements
    • install : formula Homebrew installée depuis un tap GitHub non privé et options utilisées
    • install_on_request : formula et options explicitement demandées par l’utilisateur
    • cask_install : cask Homebrew installé depuis un tap GitHub non privé
    • build_error : formula et options pour lesquelles l’installation a échoué
      • Les détails ou logs de l’erreur de build ne sont pas transmis
    • command_run : commande exécutée et ses flags
    • test_bot_test : utilisé uniquement dans l’environnement CI de Homebrew pour enregistrer les résultats de test des pull requests
  • En définissant HOMEBREW_ANALYTICS_DEBUG=1 dans l’environnement, on peut voir toutes les informations envoyées par l’analytics de Homebrew, et ce réglage interrompt aussi l’envoi des données
  • Les données d’analyse sont transmises à InfluxDB en HTTPS pendant l’exécution de Homebrew

Données publiques, code et désactivation

  • Les événements d’analyse agrégés sont consultables sur une page publique et via une API JSON
    • La plupart des mainteneurs principaux de Homebrew n’ont pas accès à des données d’analyse plus détaillées que cette ressource publique
  • Les développeurs de Homebrew ne peuvent pas relier un événement donné à un utilisateur précis, et ne stockent ni ne reçoivent d’adresses IP
  • Le code de l’analytics est consultable dans analytics.rb et analytics.sh
    • Il s’exécute dans un processus d’arrière-plan distinct
    • Il échoue rapidement afin de ne pas retarder l’exécution de Homebrew
    • En l’absence de connexion réseau, il échoue immédiatement et silencieusement
  • Pour désactiver l’analytics, il est possible d’utiliser une variable d’environnement ou une commande
    • export HOMEBREW_NO_ANALYTICS=1
    • brew analytics off

1 commentaires

 
GN⁺ 2023-07-09
Avis sur Hacker News
  • La fonctionnalité d’analyse de Homebrew a désormais été entièrement migrée vers une instance InfluxDB dans l’UE, collecte moins de données qu’avant, et toutes les données Google Analytics auraient été supprimées
    https://docs.brew.sh/Analytics
    Ce matin, pendant une mise à jour, j’ai lancé brew analytics et j’ai vu s’afficher InfluxDB analytics are disabled. et Google Analytics were destroyed.

    • C’est parce que HOMEBREW_NO_ANALYTICS 1 est configuré ; si on retire ce réglage, l’analyse InfluxDB est activée
    • C’est un peu étrange de préciser jusqu’à la technologie de base de données utilisée. Dans le contexte global, ça ne semble pas très pertinent
  • Il faut féliciter l’équipe Homebrew d’avoir tenu sa promesse de s’éloigner de Google Analytics

  • Si la configuration actuelle est la suivante, brew analytics state indique que l’analyse InfluxDB est désactivée et que Google Analytics a été supprimé
    HOMEBREW_NO_GOOGLE_ANALYTICS 1
    HOMEBREW_NO_ANALYTICS 1
    Ensuite, en lançant brew update, un avertissement indique que HOMEBREW_NO_GOOGLE_ANALYTICS n’a désormais plus aucun effet et peut être retiré, avec un message expliquant que l’analyse a été migrée vers InfluxDB dans l’UE et demandant de la réactiver avec brew analytics on
    Mais pour que l’analyse InfluxDB ne soit pas activée, il faut continuer à conserver HOMEBREW_NO_ANALYTICS 1

  • Je continue à utiliser macOS à cause de Homebrew ; sans lui, je pense que j’utiliserais apt sous Linux
    Je me demande s’il existe un bon site pour chercher des paquets apt, à la manière de brew.sh. La page apt d’Ubuntu est trop déroutante

  • Je ne comprends pas pourquoi un gestionnaire de paquets devrait collecter des données d’analyse
    Les données collectées pourraient aussi permettre une identification par empreinte d’appareil

    • Homebrew est entièrement maintenu par des contributeurs open source, et rien que garder des milliers de paquets à jour représente déjà un gros travail
      Les données d’analyse servent de système d’alerte et fournissent des éléments concrets pour juger de l’importance des paquets, de leur instabilité, etc.
      Par ailleurs, Homebrew fonctionne sur macOS, mais ne contrôle pas la manière dont Apple modifie macOS ; l’analyse aide donc à détecter rapidement les casses causées par des changements unilatéraux d’Apple
    • La raison est donnée dans la section « Why? » au début du document
      Homebrew est gratuit et entièrement géré par des bénévoles sur leur temps libre ; le projet n’a donc pas les ressources nécessaires pour mener des enquêtes utilisateur détaillées afin de concevoir les futures fonctionnalités ou de prioriser le travail actuel
      Grâce à une analyse anonyme, il peut déterminer quelles formula sont largement utilisées tout en échouant souvent, quelles versions de macOS doivent être prises en charge en priorité, ou quels échecs de build ne surviennent que sur certaines versions
    • Il est difficile d’améliorer un produit si l’on ne sait pas comment il est utilisé
    • Vraie question : je ne comprends pas comment l’empreinte d’appareil fonctionnerait ici
  • Mise à jour : il y a aussi un passage indiquant que l’utilisation de Google Analytics elle-même ne pose pas problème
    https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...

  • brew analytics off

  • C’est étonnant qu’un service gratuit puisse mieux assurer la conformité au RGPD que les pop-ups agaçants sans fin d’autres sites
    Ces pop-ups irritants donnent parfois l’impression d’être là pour embêter délibérément, plutôt que par nécessité

    • Un système qui conserve très peu de données personnelles est évidemment plus facile à rendre conforme au RGPD
      Il y a certes l’idée que « moins de données, moins de problèmes », mais la bureaucratie joue aussi beaucoup. Quand j’ai travaillé sur la conformité RGPD, l’équipe sécurité voulait conserver toutes les données indéfiniment, et l’équipe juridique chargée de déterminer le périmètre RGPD était en conflit avec l’équipe juridique générale
      En particulier, l’équipe juridique générale ne comprenait pas ce que faisait le système, ignorait les explications, et continuait à pousser des modifications de politiques de conservation sans rapport ou contradictoires
    • On peut s’attendre à ce qu’un service à but non lucratif respecte mieux la confidentialité qu’un service qui cherche à tirer le maximum d’argent des données utilisateur
    • La conformité au RGPD est très simple : il suffit de ne pas collecter d’informations permettant d’identifier une personne dès le départ
      Si l’on veut collecter des données, il faut le demander aux utilisateurs et expliquer précisément ce qu’on va en faire
      Cela devient difficile quand on veut collecter tellement de données que les utilisateurs refuseraient s’ils en connaissaient réellement la portée, puis les envoyer à plusieurs tiers. À partir de là, on se met à utiliser les techniques les plus sombres pour tromper les utilisateurs tout en faisant semblant d’être conforme juridiquement
  • C’est quand même formidable que même les outils en ligne de commande envoient de la télémétrie à la maison. Il n’y a plus aucun endroit qui ne soit pas un spyware

    • Confondre le « spyware » au sens de pistage à des fins de monétisation avec la télémétrie qui permet aux développeurs de vérifier l’état d’un système en production est stupide et nuisible
      Homebrew est un système complexe qui peut casser de nombreuses façons, et il n’est pas porté par une entreprise : il est développé entièrement en open source
      Il est normal de pouvoir voir dans une certaine mesure comment fonctionne le système en cours d’exécution. Exiger des développeurs qui donnent de leur temps à un projet très utile qu’ils travaillent avec une main attachée dans le dos à cause de la paranoïa, c’est absurde
      Si ce genre d’exigences s’impose, soit les logiciels open source ne seront pas créés, soit ils passeront entre les mains d’entreprises commerciales bien moins bien intentionnées en matière de spyware
      Ici, il s’agit du projet Homebrew qui a écouté les retours de la communauté et migré vers une analyse auto-hébergée respectueuse de la vie privée ; ces gens ne seront jamais satisfaits, donc il vaut mieux les ignorer
    • Je ne vois pas pourquoi le fait que ce soit en ligne de commande ferait une différence
      S’il s’agissait d’un simple outil n’ayant pas besoin de connexion Internet, peut-être, mais Homebrew n’est pas seulement un outil en ligne de commande : c’est aussi un dépôt et un système de build en mouvement permanent
      En tant que développeur, on peut vouloir comprendre l’impact d’un changement donné sur l’expérience utilisateur
  • S’éloigner de Google Analytics me paraît être un choix un peu embarrassant
    Google peut obtenir presque toutes les données qu’il veut via les utilisateurs de Chrome, et GA sert surtout à faire entrer aussi les non-utilisateurs de Chrome dans le giron de Google
    Plus important encore, cela me permet de voir ce que Google voit sur mon site
    Désactiver GA peut certes gêner un peu Google, mais je pense que cela réduit au mieux d’environ 10 % les données d’usage utilisateur, tout en me faisant perdre la capacité de voir ce que Google voit à mon sujet
    Google représente toujours plus de 90 % du trafic de recherche, donc quitter GA donne l’impression de se mettre la tête dans le sable
    Je comprends qu’on ne veuille pas être suivi ni que ses données soient partagées, mais je ne suis pas sûr que désactiver GA résolve ce problème

    • Ici, il s’agit de l’analyse d’un outil en ligne de commande : à moins de les envoyer intentionnellement à Google, la quantité de données que Google voit est de 0 %
    • Les mainteneurs de Homebrew s’attendaient probablement à recevoir diverses critiques après avoir quitté GA, mais pas forcément à ce qu’on qualifie cela d’« embarrassant »
    • GA a été jugé non conforme au RGPD ; donc si l’on ne veut pas être interdit dans l’UE, il faut quitter GA
      https://usercentrics.com/knowledge-hub/google-analytics-and-...
      Une entreprise suédoise a aussi reçu une lourde amende : https://techcrunch.com/2023/07/03/google-analytics-sweden-gd...