6 ms·
> Homebrew’s analytics are now sent both to Google Analytics and our new, self-hosted InfluxDB instance hosted in the EU. > If you had previously set HOMEBREW_
by stjo 4y ago
> Homebrew’s analytics are now sent both to Google Analytics and our new, self-hosted InfluxDB instance hosted in the EU.
> If you had previously set HOMEBREW_NO_ANALYTICS because you didn’t like Google Analytics and/or data being sent to the USA: please consider unsetting this and setting HOMEBREW_NO_GOOGLE_ANALYTICS instead, allowing analytics data to be sent to our new InfluxDB host.
My package manager was reporting my actions to Google and I didn’t even know about that. Great…
- jray 4y agoIn your .bashrc or similar: export HOMEBREW_NO_ANALYTICS=1
- predmijat 4y agoThat’s not the point. I don’t want any software sending analytics unless I specifically allowed it.
- darkwater 4y agoThen you can either: 1) don't use the software 2) analyze the software source code to understand what it does before using it I tend and prefer to assume good-will WRT telemetry in well-known and independent opensource projects.
- predmijat 4y agoDisagree, it should be the norm.
- vetinari 4y agoYou forgot 3) Complain at different intensities, up to the shaming, about the unethical dark patterns employed by the software, no matter whether it is open source or not, to make authors of the software aware, that what they do is not welcome by their users.
- glenngillen 4y agoI use Little Snitch to alert on any outbound connections and make a decision. The google stuff immediately got a permanent blackhole for Homebrew. Anything I'm uncertain of I'll give a short-term approval (30mins) to not break anything. After a couple of rounds of execution (and sometimes some trial & error) you can usually work out which requests are essential and which are some notifications/tracking thing.
- daneel_w 4y agoSo you didn't see the notice brew(1) gives you on first run?
- glenngillen 4y agoI can't recall, though this approach isn't specific to homebrew. I block it permanently at a network/process level rather than having to remember to set a ENV var.
- nicbou 4y agoYou know, as the law requires in the EU
- st3fan 4y agoThat is not actually how the GDPR works. Anonymous telemetry without PII does not need any consent.
- Xylakant 4y agoThat is a very simplifying view of the legal situation and that's not helpful at all. First, it only applies if you collect PII - depending on what they collect, they might not be subject to the GDPR at all. Second, informed consent is only one of the options that allows collection and storage of PII. There are various other reason that allow collection and storage of PII, among them "Legitimate interest". For example, it is considered legitimate to store webserver logs containing PII (IP Addresses) for purposes of fraud analysis, unauthorized system access etc. Whether a specific collection of data is legitimate under those clauses depends on the specifics of a case (who has access, what's the exact purpose, how long you store, ...) - ask a lawyer if you need an assessment. Depending on what they log and how they log, they may be either in the clear or in a bad place, but it's definitely not as simple as "the law requires no logging".
- jeroenhd 4y agoThe analytics page describes them tracking information across time with a unique user identifier. They claim that identifier doesn't identify you, but it's attached to an exact Brew install so it does track your personal account on your machine at the very least; I'd classify that as PII. Had they not submitted unique user tokens I think you mag be right. However, that's not how the analytics seem to work. The law does allow logging for a variety of things but in this case I'd say they're in the wrong. They assume that it's okay because they don't track you across websites and that's good to know, but that's not the point.
- pimterry 4y agoI don't think that's true - AFAICT there's no EU law banning analytics. EU law just restricts storing & processing _personal_ data (GDPR) and storing unnecessary data on machines without consent (ePrivacy/'cookie law'). If you want to log fully anonymized data, without persistent tracking ids and without leaking personal data to 3rd parties en route (so no "send it to Google and they promise to anonymize the IP afterwards") then you're all good (but IANAL!). The only reason you see all those cookie notices and GDPR consent requests is because so few companies are willing to accept even the tiniest tradeoff in their metrics to protect their users' privacy.
- eesmith 4y agoFWIW, it gives you a warning and the chance to disable analytics before sending any analytics. https://docs.brew.sh/Analytics https://docs.brew.sh/Analytics > Homebrew gathers anonymous aggregate user behaviour analytics using Google Analytics (until our in-progress migration to our own InfluxDB). You will be notified the first time you run brew update or install Homebrew. Analytics are not enabled until after this notice is shown, to ensure that you can opt out without ever sending analytics data.
- prepend 4y agoI feel the same way. I think it’s not cool when orgs track telemetry with opt out. But it’s not cool like when you’re at a party and you go off and fart in the corner as no one’s there and then a few seconds later someone walks by and smells it. Continuing the analogy, telemetry with no opt out is like farting silently amongst a group of people. And tracking identified user requests while selling data is like slapping each person at the party while farting in their face. And I guess opt in telemetry is like holding in your fart and people notice and might feel some discomfort at your discomfort.
- notpushkin 4y agoWhat.
- macintux 4y agoAgreed, I was shocked when I installed the Dart programming language and found out it sends analytics by default. A programming language!
- orangepurple 4y agoAn implementation of a build system for a programming language
- vestrigi 4y agoThanks, a quick search on the home brew page brought no guidance on how to configure these settings. I can't remember if this is in the .bashrc or in some other obscure config file, would be great to mention this if you recommend changing settings to your user base.
- Kelteseth 4y agoWhy don't they just use something like plausible for this? I switch to plausible for all my analytics and it works great. https://plausible.io/ https://plausible.io/
- pimterry 4y agoWhilst Plausible does look great, one of their main goals, as I understand it, is to focus on simple core analytics for websites, not general-purpose do-it-all analytics for everything. If you're not a website, and so your metrics are arbitrary events with metadata instead of page views, this tends to quickly run into awkward mess. Self hosting an InfluxDB to capture core metrics seems like a good solution that avoids privacy concerns without being too complex imo.
- Kelteseth 4y agoIt is fine for medium size applications, you do have to register all events (goals) on the website before you can use them [0]. I have written the Qt/QML plugin for plausible [1], I don't think predefining them is too bad. [0] https://plausible.io/docs/goal-conversions https://plausible.io/docs/goal-conversions [1] https://gitlab.com/kelteseth/qml-plausible https://gitlab.com/kelteseth/qml-plausible
- pimterry 4y agoAh, neat, ok! I'll take another look. For now I've been testing out Posthog (https://posthog.com https://posthog.com). They seem more focused on this use case - they let you do arbitrary queries and build graphs over all event data without having to predefine goals or anything, and they have an open-source & self-hostable version, in addition to a EU-hosted cloud option. Now that GA is so clearly dying (finally) it's an exciting space!
- dmak 4y agoThanks for sharing. I was looking for other options and this looks like a good candidate. Does you or anyone else have any other suggestions?
- jillesvangurp 4y agoThey'd be well advised to make this opt-in only for legal reasons. This is not going to go down well in a lot of places and they might get exposed to law suits.
- pimterry 4y agoAs in the post: they're intending to drop the GA part entirely within 90 days, and it sounds like the new metrics are entirely anonymous, and so not covered by GDPR etc. IANAL but as far as I can tell that should avoid all legal concerns once GA is gone.
- capitol_ 4y agoIt's hard to send stuff over the Internet without exposing some personal information, like your ip number. I guess they might send it over TOR to get around that.
- prepend 4y agoIsn’t it GDPR compliant if you never store the source ip at all? So from a GDPR perspective there’s no user data to track and remove. I’m not sure how organizations get audited to prove that they actually do that and that there’s no other way to reidentify users (eg, I download the prepend package every day and that’s unusual enough to link that it’s me, prepend, the author of that package, etc etc).
- mnot 4y agoThis is exactly the use case that Oblivious HTTP is being built for in he IETF.
- ianai 4y agoWhy does a package manager need to track their users at all? If you want usage statistics for packages just track how often individual packages are downloaded on the server side. A maintainer has no need to know who's installing what.
- singularity2001 4y agoYeah, thanks, I set export HOMEBREW_NO_ANALYTICS=1 immediately!
- _aavaa_ 4y agoNo kidding. First I’m hearing about it.
- Terretta 4y agoProbably not, as the installer tells you in the same blurb it tells you how to add brew to your .profile. What it doesn't tell you unless you read the URL, is all you have (had) to do is "brew analytics off".
- acdha 4y agoIt prints a notice when you run it: https://docs.brew.sh/Analytics https://docs.brew.sh/Analytics
- yrro 4y agoHomebrew should support the DO_NOT_TRACK environment variable. https://consoledonottrack.com/ https://consoledonottrack.com/ It doesn't look likely though. I don't think it looks good that comments pointing out that Homebrew's existing behaviour (collecting analytics without obtaining informed consent from users) violates the law have been classified as abuse and hidden! https://github.com/Homebrew/brew/pull/6745 https://github.com/Homebrew/brew/pull/6745
- steve1977 4y agoOr, just not track.
- voytec 4y ago> Homebrew should support the DO_NOT_TRACK environment variable. No, rather something like TRACK_ME opt-in variable.
- sneak 4y agoIn retrospect (consoledonottrack operator here) I never should have pushed an opt out standard; it legitimizes opt-out which is indefensible and unethical. Opt-in by advance consent is the only way. Homebrew devs are unethical jerks. Use nixpkgs and don't look back.
- therealdrag0 4y agoWhat’s unethical about counting errors with no PII?
- sneak 4y agoErrors are the property of the user on the system in which they occurred. Exfiltrating them without consent is unethical and oftentimes illegal, and leaks the user's IP to Google. Homebrew has no claim to them without the consent of the user. It's simple spyware. Unless you report with Tor, it's not without PII. (Homebrew also includes a unique install UUID supercookie which persists, so every analytics data point includes PII in addition to IP address which allows Google to track that user's physical travel history.)
- Patrol8394 4y agoI find this very invasive and I am glad I never used homebrew and always used Macport instead.
- dagmx 4y agoWell I have bad news for you there too https://ports.macports.org/statistics/faq/ https://ports.macports.org/statistics/faq/ I really do think that people who are concerned about telemetry should install Little Snitch and also look at each of these programs documentation. Telemetry is called out for most of them, as well as how to disable it. It’s also not inherently bad as it can be a valuable tool to improve their systems, though obviously could be abused too.
- cgeier 4y agoYou need to actively install software to report statistics on macports. See further down the linked FAQ.
- Patrol8394 4y agoExactly! ``` To start submitting statistics, install the mpstats port in your MacPorts installation. sudo port install mpstats ```
- sneak 4y agoTime to write a client to spam both of these unauthenticated data collection endpoints with random noise data to render them useless.
- woodruffw 4y agoHomebrew doesn't "report" anything to Google, much less anything of yours (implying unique identification). This is an unnecessary editorialization. You can see exactly how Homebrew does analytics here[1], and you can see the sum total of the information collected here[2]. No identifiable information is collected or retained. [1]: https://github.com/Homebrew/brew/blob/master/Library/Homebrew/utils/analytics.rb https://github.com/Homebrew/brew/blob/master/Library/Homebre... [2]: https://formulae.brew.sh/analytics/ https://formulae.brew.sh/analytics/
- microtonal 4y agoFrom the Homebrew documentation: A Homebrew analytics user ID, e.g. 1BAB65CC-FE7F-4D8C-AB45-B7DB5A6BA9CB. This is generated by uuidgen and stored in the repository-specific Git configuration variable homebrew.analyticsuuid within $(brew --repository)/.git/config. This does not allow us to track individual users, but does enable us to accurately measure user counts versus event counts. The ID is specific to the Homebrew package manager, and does not permit Homebrew maintainers to e.g. track you across websites you visit. IANAL, but an UUID is definitely PID under the GDPR: ‘personal data’ means any information relating to an identified or identifiable natural person (‘data subject’); an identifiable natural person is one who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person; Also see recital 30: Natural persons may be associated with online identifiers provided by their devices, applications, tools and protocols, such as internet protocol addresses, cookie identifiers or other identifiers such as radio frequency identification tags. This may leave traces which, in particular when combined with unique identifiers and other information received by the servers, may be used to create profiles of the natural persons and identify them. The GDPR doesn't only take into account whether an identifier can currently be used to identify a person, but also whether the data can be correlated in the future to do so (e.g. by correlating package installs with visiting project websites, thus deanonymizing the UUID). The only safe way to abide by the GDPR is to avoid storing any non-essential data without consent. I am pretty sure that Homebrew have been violating the GDPR for years by making analytics opt-out. Sadly, anyone who tries to warn them gets banned from their issue tracker.
- sigzero 4y ago> My package manager was reporting my actions to Google and I didn’t even know about that. Great… This has been a known things for a long long time. That is on you for not knowing about it. And it isn't doing anything that you are trying to infer in your statement anyway.
- deleted 4y ago[deleted]