Analyse de Homebrew : départ de Google vers l’UE
(docs.brew.sh)- 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 updateou 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=1oubrew 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 updateou 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-prefixafin de préserver l’anonymat
- Exemple de prefix par défaut :
- Si la variable d’environnement
HOMEBREW_DEVELOPERest 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éesinstall_on_request: formula et options explicitement demandées par l’utilisateurcask_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 flagstest_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=1dans 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.rbetanalytics.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=1brew analytics off
1 commentaires
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 analyticset j’ai vu s’afficherInfluxDB analytics are disabled.etGoogle Analytics were destroyed.HOMEBREW_NO_ANALYTICS 1est configuré ; si on retire ce réglage, l’analyse InfluxDB est activéeIl 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 stateindique que l’analyse InfluxDB est désactivée et que Google Analytics a été suppriméHOMEBREW_NO_GOOGLE_ANALYTICS 1HOMEBREW_NO_ANALYTICS 1Ensuite, en lançant
brew update, un avertissement indique queHOMEBREW_NO_GOOGLE_ANALYTICSn’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 avecbrew analytics onMais pour que l’analyse InfluxDB ne soit pas activée, il faut continuer à conserver
HOMEBREW_NO_ANALYTICS 1Je continue à utiliser macOS à cause de Homebrew ; sans lui, je pense que j’utiliserais
aptsous LinuxJe 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éroutanteapt-cache searchJe 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
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
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
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 offC’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é
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
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
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
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
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...