1 Punkte von GN⁺ 2023-07-09 | 1 Kommentare | Auf WhatsApp teilen
  • Homebrew erfasst anonyme Analysedaten in InfluxDB und aktiviert die Analyse erst, nachdem beim ersten Ausführen von brew update oder bei der Installation ein Hinweis angezeigt wurde
  • Als kostenloses, von Freiwilligen getragenes Projekt nutzt Homebrew Daten wie Fehlerraten von formulae, OS-Versionen und Häufigkeit der Befehlsnutzung als Grundlage, um Funktionen und Fehlerbehebungen zu priorisieren
  • Die anonymen Analysedaten in InfluxDB werden 365 Tage aufbewahrt; alle Analysedaten, die früher an Google Analytics gesendet wurden, wurden gelöscht
  • Der Erfassungsumfang ist begrenzt auf Angaben wie CI-Status, Nutzung des Standard-Installationspräfixes, CPU-Architektur, OS- und Homebrew-Versionen sowie Ereignisse zu Installation, Build-Fehlern und Befehlsausführungen
  • Nutzer können die Analyse mit HOMEBREW_NO_ANALYTICS=1 oder brew analytics off deaktivieren; einzelne Ereignisse werden nicht mit bestimmten Nutzern verknüpft und IP-Adressen werden nicht gespeichert

Wann die Analyse aktiviert wird und wofür sie genutzt wird

  • Homebrew wird kostenlos bereitgestellt und von Freiwilligen in ihrer Freizeit betrieben; daher fehlen separate Ressourcen für Nutzerforschung, um Funktionsdesign und Arbeitsprioritäten festzulegen
  • Anonyme Analysen werden genutzt, um zu verstehen, wie, wo und wann Homebrew verwendet wird, und daraus Prioritäten für Fehlerbehebungen und Funktionen abzuleiten
    • Eine weit verbreitete, aber häufig fehlschlagende formula kann gegenüber anderen formulae eine höhere Priorität für Korrekturen erhalten
    • Informationen zur OS-Version werden genutzt, um unterstützte macOS-Versionen zu priorisieren und Build-Fehler zu identifizieren, die nur in bestimmten Versionen auftreten
    • Selten genutzte Befehle können eingestellt werden
  • Die Analyse wird erst aktiviert, nachdem beim ersten Ausführen von brew update oder bei der Installation von Homebrew ein Hinweis angezeigt wurde
    • Vor dem Hinweis werden keine Analysedaten gesendet, sodass Nutzer vor der Datenübertragung opt-out wählen können
  • Die Aufbewahrungsfrist für in InfluxDB gespeicherte anonyme Analysedaten beträgt 365 Tage
  • Alle Analysedaten, die früher an Google Analytics gesendet wurden, wurden gelöscht

Gesendete Ereignisse und Erfassungsumfang

  • Bei allen formula- oder cask-Ereignissen werden gemeinsame Informationen mitprotokolliert
    • Ob sie aus CI gesendet werden
    • Ob das Standard-Installationspräfix verwendet wird
      • Beispiel für ein Standardpräfix: /opt/homebrew
      • Beispiel für ein benutzerdefiniertes Präfix: /home/mike/.brew
      • Benutzerdefinierte Präfixe werden zur Wahrung der Anonymität als custom-prefix gesendet
    • Ob die Umgebungsvariable HOMEBREW_DEVELOPER gesetzt ist
    • Ob devcmdrun darauf hinweist, dass schon einmal ein Homebrew-Entwicklerbefehl ausgeführt wurde
    • CPU-Architektur, z. B. x86_64
    • OS und Version, z. B. macOS 13
    • Homebrew-Version, z. B. 4.0.0
  • Die Homebrew-Analyse protokolliert mehrere Ereigniskategorien
    • install: aus einem nicht privaten GitHub-tap installierte Homebrew-formulae und verwendete Optionen
    • install_on_request: formulae und Optionen, deren Installation der Nutzer ausdrücklich angefordert hat
    • cask_install: aus einem nicht privaten GitHub-tap installierte Homebrew-casks
    • build_error: formulae und Optionen, deren Installation fehlgeschlagen ist
      • Details oder Logs von Build-Fehlern werden nicht gesendet
    • command_run: ausgeführte Befehle und Flags
    • test_bot_test: wird nur in der Homebrew-CI-Umgebung zur Erfassung von Testergebnissen für Pull Requests verwendet
  • Wenn HOMEBREW_ANALYTICS_DEBUG=1 in der Umgebung gesetzt ist, lassen sich alle von der Homebrew-Analyse gesendeten Informationen einsehen; diese Einstellung stoppt außerdem die Analyseübertragung
  • Analysedaten werden während der Homebrew-Ausführung per HTTPS an InfluxDB übertragen

Öffentliche Daten, Code und opt-out

  • Aggregierte Analyseereignisse sind auf einer öffentlichen Seite einsehbar; außerdem wird eine JSON-API angeboten
    • Die meisten Homebrew-Maintainer erhalten keinen Zugriff auf detailliertere Analysedaten über diese öffentliche Ressource hinaus
  • Homebrew-Entwickler können bestimmte Ereignisse nicht mit bestimmten Nutzern verknüpfen; IP-Adressen werden ebenfalls weder gespeichert noch empfangen
  • Der Analysecode ist in analytics.rb und analytics.sh einsehbar
    • Er läuft in einem separaten Hintergrundprozess
    • Er scheitert schnell, damit die Homebrew-Ausführung nicht verzögert wird
    • Wenn keine Netzwerkverbindung besteht, scheitert er sofort und still
  • Zum Deaktivieren der Analyse kann eine Umgebungsvariable oder ein Befehl verwendet werden
    • export HOMEBREW_NO_ANALYTICS=1
    • brew analytics off

1 Kommentare

 
GN⁺ 2023-07-09
Hacker-News-Kommentare
  • Die Analytics-Funktion von Homebrew wurde nun vollständig auf eine InfluxDB-Instanz in der EU umgestellt, sammelt weniger Daten als zuvor, und alle Google-Analytics-Daten wurden gelöscht
    https://docs.brew.sh/Analytics
    Beim heutigen Morgen-Update zeigte brew analytics die Meldungen InfluxDB analytics are disabled. und Google Analytics were destroyed. an

    • Das liegt daran, dass HOMEBREW_NO_ANALYTICS 1 gesetzt ist; wenn diese Einstellung entfernt wird, werden InfluxDB-Analytics aktiviert
    • Es wirkt etwas seltsam, sogar die verwendete Datenbanktechnologie ausdrücklich zu nennen. Im Gesamtkontext scheint das nicht besonders relevant zu sein
  • Es ist lobenswert, dass das Homebrew-Team sein Versprechen eingehalten hat, sich von Google Analytics zu lösen

  • Wenn die aktuelle Konfiguration so aussieht, zeigt brew analytics state, dass InfluxDB-Analytics deaktiviert sind und Google Analytics gelöscht wurde
    HOMEBREW_NO_GOOGLE_ANALYTICS 1
    HOMEBREW_NO_ANALYTICS 1
    Führt man danach brew update aus, erscheint eine Warnung, dass HOMEBREW_NO_GOOGLE_ANALYTICS nun keine Wirkung mehr hat und entfernt werden kann, zusammen mit dem Hinweis, dass die Analytics in die InfluxDB der EU migriert wurden und mit brew analytics on wieder aktiviert werden können
    Damit InfluxDB-Analytics weiterhin nicht aktiviert werden, muss HOMEBREW_NO_ANALYTICS 1 beibehalten werden

  • Wegen Homebrew bleibe ich weiterhin bei macOS; ohne Homebrew würde ich unter Linux vermutlich apt nutzen
    Ich frage mich, ob es eine gute Website zum Durchsuchen von apt-Paketen wie brew.sh gibt. Die Ubuntu-apt-Seiten sind viel zu unübersichtlich

  • Ich verstehe nicht, warum ein Paketmanager überhaupt Analytics-Daten sammeln muss
    Auch die gesammelten Daten könnten womöglich per Device-Fingerprinting identifizierbar sein

    • Homebrew wird vollständig von Open-Source-Mitwirkenden gepflegt, und allein Tausende von Paketen aktuell zu halten, ist bereits eine enorme Aufgabe
      Analytics-Daten dienen als Warnsystem und als reale Grundlage, um die Wichtigkeit oder Instabilität von Paketen einzuschätzen
      Außerdem läuft Homebrew zwar auf macOS, hat aber keine Kontrolle darüber, wie Apple macOS verändert; Analytics helfen daher dabei, durch einseitige Änderungen von Apple verursachte Brüche schnell zu erkennen
    • Der Grund steht im Abschnitt „Why?“ am Anfang des Artikels
      Homebrew ist kostenlos und wird vollständig von Freiwilligen in ihrer Freizeit betrieben, daher fehlen die Ressourcen für detaillierte Nutzerforschung, um zukünftige Funktionen zu planen oder aktuelle Arbeiten zu priorisieren
      Mit anonymen Analytics lässt sich erkennen, welche Formulae weit verbreitet sind und häufig fehlschlagen, welche macOS-Versionen vorrangig unterstützt werden sollten und welche Build-Fehler nur bei bestimmten Versionen auftreten
    • Es ist schwer, ein Produkt zu verbessern, wenn man nicht weiß, wie es verwendet wird
    • Ich frage ganz ehrlich: Wie genau soll hier eigentlich Device-Fingerprinting funktionieren?
  • Update: Es gibt auch die Aussage, dass die bloße Nutzung von Google Analytics an sich kein Problem sei
    https://arstechnica.com/tech-policy/2023/07/big-tech-can-tra...

  • brew analytics off

  • Überraschend, dass ein kostenloser Dienst die DSGVO-Compliance besser hinbekommt als die endlosen nervigen Pop-ups anderer Websites
    Diese lästigen Pop-ups wirken manchmal, als wären sie nicht nötig, sondern absichtlich schikanös gestaltet

    • Ein System, das kaum personenbezogene Daten speichert, kann natürlich viel leichter DSGVO-konform sein
      Es gilt zwar „weniger Daten, weniger Probleme“, aber es steckt auch viel Bürokratie dahinter. Als ich früher für DSGVO-Compliance zuständig war, wollte das Security-Team alle Daten für immer speichern, und das Rechtsteam für die Bewertung des DSGVO-Anwendungsbereichs geriet mit der allgemeinen Rechtsabteilung aneinander
      Besonders die allgemeine Rechtsabteilung drängte ständig auf irrelevante oder widersprüchliche Änderungen an Aufbewahrungsrichtlinien, obwohl sie nicht verstand, was das System tut, und Erklärungen ignorierte
    • Von einem nicht gewinnorientierten Dienst kann man eher erwarten, dass er Datenschutz-Compliance besser umsetzt als ein Dienst, der möglichst viel Geld aus Nutzerdaten herausholen will
    • DSGVO-Compliance ist sehr einfach. Man darf von vornherein einfach keine personenbezogenen Daten erfassen
      Wenn man Daten sammeln will, fragt man die Nutzer und erklärt genau, was man damit tun wird
      Schwierig wird es erst, wenn man so viele Daten sammeln und an verschiedene Dritte schicken will, dass Nutzer bei voller Transparenz nicht zustimmen würden. Ab dann kommen die dunkelsten Methoden zum Einsatz, um Nutzer zu täuschen, während man rechtlich nur so tut, als sei alles konform
  • Schon cool, dass inzwischen sogar Kommandozeilen-Tools Telemetrie nach Hause schicken. Es gibt offenbar nichts mehr, das keine Spyware ist

    • Es ist töricht und schädlich, „Spyware“ im Sinne von Tracking zur Monetarisierung mit Telemetrie gleichzusetzen, die dazu dient, dass Entwickler den Zustand eines laufenden Systems verstehen können
      Homebrew ist ein komplexes System, das auf viele Arten kaputtgehen kann, steht nicht hinter einer Firma und wird vollständig Open Source entwickelt
      Es ist nur selbstverständlich, dass man wenigstens etwas Einblick in das Verhalten des Systems im Einsatz haben sollte. Andernfalls verlangt man von Entwicklern, die ihre Zeit einem sehr nützlichen Projekt spenden, wegen übertriebener Paranoia mit auf den Rücken gebundener Hand zu arbeiten
      Wenn sich solche Forderungen durchsetzen, wird Open-Source-Software entweder gar nicht erst entstehen oder in die Hände profitorientierter Unternehmen fallen, die bei Spyware deutlich weniger gutwillig sind
      Hier geht es darum, dass das Homebrew-Projekt auf das Feedback der Community gehört und zu selbst gehosteten, datenschutzfreundlichen Analytics gewechselt ist; solche Leute werden ohnehin nie zufrieden sein, also sollte man sie ignorieren
    • Ich verstehe nicht, warum die Kommandozeile hier das entscheidende Abgrenzungskriterium sein soll
      Bei einem einfachen Tool ohne Internetverbindung vielleicht, aber Homebrew ist nicht nur ein Kommandozeilen-Tool, sondern auch ein ständig laufendes Repository- und Build-System
      Ich kann nachvollziehen, dass Entwickler wissen wollen, wie sich bestimmte Änderungen auf die Nutzererfahrung auswirken
  • Sich von Google Analytics zu lösen wirkt etwas peinlich als Entscheidung
    Google bekommt über Chrome-Nutzer ohnehin fast alle gewünschten Daten; GA dient praktisch eher dazu, auch Nicht-Chrome-Nutzer für Google sichtbar zu machen
    Noch wichtiger ist, dass ich dadurch sehen kann, was Google auf meiner Website sieht
    Wenn ich GA abschalte, kann ich Google zwar ein wenig behindern, aber vermutlich nur um höchstens 10 % der Nutzungsdaten der Nutzer, verliere dafür aber die Möglichkeit, selbst zu sehen, was Google über mich sieht
    Da Google weiterhin mehr als 90 % des Suchtraffics stellt, wirkt das Abschalten von GA wie Vogel-Strauß-Politik
    Ich verstehe den Wunsch, nicht getrackt zu werden oder keine Daten weiterzugeben, aber ich bin nicht sicher, ob das Abschalten von GA dieses Problem wirklich löst

    • Hier geht es um Analytics für ein Kommandozeilen-Tool, also sieht Google 0 % der Daten, sofern man sie nicht absichtlich an Google sendet
    • Die Homebrew-Maintainer haben wohl mit allerlei Beschwerden gerechnet, wenn sie sich von GA lösen, aber wahrscheinlich nicht damit, dass jemand das als „peinlich“ bezeichnet
    • GA wurde als nicht DSGVO-konform eingestuft; wenn man also nicht in der EU verboten werden möchte, muss man GA verlassen
      https://usercentrics.com/knowledge-hub/google-analytics-and-...
      Ein schwedisches Unternehmen hat dafür sogar hohe Geldstrafen bekommen: https://techcrunch.com/2023/07/03/google-analytics-sweden-gd...