News for hackers. Stuff that matters.
Re:Brew commands send data to Google Analytics by CJefferson on Friday November 25, 2016 @03:21AM (#13035067)
I knew, and I was prompted.

I can understand why this might upset people, but for me I hope it will make brew a better product. I'm sure we all know as developers how annoying it can be to not know the problems users have, and what they are using your software for -- that's why most websites have analytics.

I'm hoping to add something similar to software I work on, with an opt-out of course. I believe it will help me serve my users better.

Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @03:38AM (#13035123)
Please make it opt in. If you truly believe people closely read the prompts for having their data harvested, a default to "No" should not impact you at all.

If you don't believe they read the prompts closely, you're an asshole for stealing data by default.

Re:Brew commands send data to Google Analytics by CJefferson on Friday November 25, 2016 @05:18AM (#13035630)
Is it "stealing data" to record that certain options in my program are never used, or used frequently, or whenever a user clicks on options A,B and C in sequence the app crashes?

My problem is that I believe that 90% of the users of my app won't care one way or the other if I record these stats. If I default opt-out these people, then I lose all that useful data and in the process, I believe, make my app worse for everyone.

I won't deny this is not an obvious choice, but I think personally on balance it's better to opt-in. Especially when the data is anonymised and doesn't contain any private/identifying information. But I understand how others would disagree. If there was some kind of OS-wide "don't record what I do" option I could hook into, I would use it.

Re:Brew commands send data to Google Analytics by Nursie on Friday November 25, 2016 @06:41AM (#13036002)
Your belief may not match the real world. You can only know that by actually asking them.

Look at the outcry when Microsoft put this stuff in Win 10.

At the very least you should present a question on install. Hiding a notice amongst licenses and other information, as often happens, is underhanded and scammy.

Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @06:51AM (#13036057)
>My problem is that I believe that 90% of the users of my app won't care one way or the other if I record these stats. If I default opt-out these people, then I lose all that useful data and in the process, I believe, make my app worse for everyone.

If those people wouldn't volunteer to opt-in, it's just as likely that the reason they are not opting-out is because they missed the notification that someone is collecting data about them.

It's a UX anti-pattern to default behavior to something the users may not want. If you're worried they'll accept whatever default there is, just explicitly ask them if they want to relay usage stats and you'll be surprised how much of the 90% you claim don't care will start caring.

Look at the comments on this thread, there are multiple accounts of people surprised by this. The very fact that this article is on the front page is proof that Brew tricked users.

>Especially when the data is anonymised and doesn't contain any private/identifying information.

You've either made massive breakthroughs in the field of information security or this is a bogus statement. If the user's computer even connects to an analytics service, they've already got an IP address, frequency of connections from that IP, etc and all of the correlation that comes with enabled by their other data sets. Just because it's anonymized by the time it comes out of Google in Brew usage reports doesn't mean it hasn't given Google additional information to profile people.

Re:Brew commands send data to Google Analytics by stan_rogers on Friday November 25, 2016 @07:34AM (#13036268)
You should, perhaps, question your beliefs. When I get "do you want to send...", I only very rarely click "yes/OK", and then only if that and the OS were the only things running and the problem is locally reproducible. The state of my machine is none of your damned business.
Re:Brew commands send data to Google Analytics by CJefferson on Friday November 25, 2016 @09:23AM (#13036883)
You could be right. I could pop up a message early on, saying I'm doing analytics.

I think, based on the conversation here, I'm going to make it very clear there is analytics, but not allow turning them off. This is (I think, you are welcome to disagree of course) the best situation:

* Everyone knows there is analytics going on, no hiding. * I get good quality analytics from my actual users, as no-one can opt out (well, you could start port blocking, I'm not going to make the program stop working in that situation).

Re:Brew commands send data to Google Analytics by lorenzfx on Friday November 25, 2016 @06:39AM (#13035993)
How about choosing no default, and instead ask the user on first run? `Do you want to send usage data to the developer? (yes/no)`
Re:Brew commands send data to Google Analytics by CJefferson on Friday November 25, 2016 @08:54AM (#13036725)
I imagine it would get REALLY annoying if every command line program started doing that, every time you logged into a new machine.

Of course, that suggests we should introduce some kind of standard, then bash (or whatever shell you use) could prompt you once, and every other program could use that setting.

Re:Brew commands send data to Google Analytics by jeena on Friday November 25, 2016 @09:47AM (#13037027)
At least this would make the problem with how many commandline tools are tracking you visible, and perhaps would start a discussion on the necessity of tracking for tools like brew, ls, cp, dd and so on.
Re:Brew commands send data to Google Analytics by iagooar on Friday November 25, 2016 @04:02AM (#13035254)
This. A thousand times this. To me this whole thing feels like the maintainer is trying to justify something that most people won't ever accept as the status quo. Bad times when software this solid is going in a wrong direction. Time for a Homebrew fork?
Re:Brew commands send data to Google Analytics by CJefferson on Friday November 25, 2016 @07:59AM (#13036395)
No need for a fork, if someone was willing to put in the time and money to maintain a private anonymous analytics server, the homebrew folks would be happy to use it.

Unless of course you are fundamentally opposed to tracking of any kind, then a fork is required. It is a fairly massive infrastructure to recreate however...

Re:Brew commands send data to Google Analytics by true_religion on Friday November 25, 2016 @03:43AM (#13035149)
Calling it theft feels a bit hyperbolic.
Re:Brew commands send data to Google Analytics by tn6o on Saturday November 26, 2016 @11:13PM (#13047668)
Agreed.
Re:Brew commands send data to Google Analytics by andybak on Friday November 25, 2016 @03:42AM (#13035147)
'Stealing' data? Is that like 'stealing' by downloading a movie?
Re:Brew commands send data to Google Analytics by wheelerwj on Friday November 25, 2016 @03:46AM (#13035162)
No, it's like stealing personally identifying information and sending it to the world's largest ad company.
Re:Brew commands send data to Google Analytics by daenney on Friday November 25, 2016 @04:09AM (#13035280)
The information brew collects I would hardly call personally identifiable. Take a look at what they collect: https://github.com/Homebrew/brew/blob/master/docs/Analytics....
Re:Brew commands send data to Google Analytics by jakobegger on Friday November 25, 2016 @04:19AM (#13035335)
They can call it "anonymous data" as much as they want, but in the end it's still data transmitted to Google's servers. If you are simultaneously logged into your Google account on that computer, the information is not anonymous anymore. Google could with high probability correlate connections.
Re:Brew commands send data to Google Analytics by andybak on Friday November 25, 2016 @09:09AM (#13036800)
> They can call it "anonymous data" as much as they want, but in the end it's still data transmitted to Google's servers.

You appear to be saying that it's wrong to send any data to Google - which strikes me as an indefensibly extreme position. For example if they were tracking a simple count "number of times anyone anywhere has run brew" and it was stored as a single global integer then it's hard to imagine what issue you could have with it as it's basically no worse than a simple hit counter on a website.

So what are you saying? Surely the problem has to relate to what data is collected?

Re:Brew commands send data to Google Analytics by jakobegger on Friday November 25, 2016 @01:43PM (#13038923)
I'm saying that if you make your software talk to Google, don't say that it collects "anonymous aggregate data". The data it sends could easily be traced back to you (by Google).

And after all the Snowden revelations it's very naive to assume that Google (or any other company) will protect your data.

Re:Brew commands send data to Google Analytics by andybak on Friday November 25, 2016 @06:22PM (#13040625)
Doesn't that depend on what's being sent? Either it's personally identifiable (or at least de-anonalysable) or it's not. Within reason some things are not of any real interest to anyone.

What is the threat model here?

Re:Brew commands send data to Google Analytics by daenney on Friday November 25, 2016 @05:50AM (#13035791)
Sure, but then the problem isn't the information they collect but the fact that it goes to Google. Short from them setting up their own analytics service though, to whichever one you send this data it'll be traceable up to some extent. Google just might have a larger trove of data about you, but that's also through your own doing.
Re:Brew commands send data to Google Analytics by TeMPOraL on Friday November 25, 2016 @03:45AM (#13035158)
"Exfiltrating" would be a better word here.

(Also, downloading a movie is a different thing - there you're not stealing nor exfiltrating anything, you're downloading data as intended by uploader, who may or may not have the copyrights for that data.)

(INB4, ripping a DVD and uploading it is not data theft. Exfiltrating a pre-release copy from movie company's servers would be data theft.)

Re:Brew commands send data to Google Analytics by rocqua on Friday November 25, 2016 @04:51AM (#13035499)
The ripping would be the 'exfiltration' as would recording a movie in theatre or hacking servers.

The sharing or getting something from a shared thing would merely be copyright infringement.

Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @03:51AM (#13035195)
By your definition, there would be no such thing as stealing IP, PII, launch codes or identities. However, those things are well accepted terms in all industries, including tech. You need to reconsider your strange restriction to mutual exclusion if you ever want to engage in meaningful conversations.
Re:Brew commands send data to Google Analytics by andybak on Friday November 25, 2016 @03:56AM (#13035220)
> stealing IP

This is the usage I'm most firmly resisting.

> PII, launch codes or identities

All inaccurate to varying degrees - or at the very least metaphorical/rhetorical uses. If you're allowed to push a meaning in one direction then I'm allowed to point it out and attempt to bend it back a little.

Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @06:29AM (#13035948)
>push a meaning in one direction then I'm allowed to point it out and attempt to bend it back a little.

I'm not pushing anything. Your argument is about whether or not copying information is 'stealing'. I'm just pointing out that it's a very commonly agreed upon vernacular all over many industries. Call your credit card company and tell them someone stole your credit card number and see if they understand what you are talking about and/or try to correct you by saying it was merely copied.

Go ahead and try to change the definition, but don't waste time on HN with that crap when the subject isn't even about whether or not it's "stealing" because it makes for boring conversation.

Re:Brew commands send data to Google Analytics by andybak on Friday November 25, 2016 @09:16AM (#13036836)
You don't see anything even slightly problematic about referring to opt-out (rather than opt-in) aggregate and presumably anonymous usage statistics as 'stealing'?

You don't think that is possibly somewhere towards the further reaches of consensus on what is a reasonable application of the word?

You're welcome to disagree with my position but you're going a touch further than that. You're also accusing me of arguing in bad faith and being somehow aware that my argument has no merits. Considering I think I'm stating a fairly reasonable view I find that somewhat disingenuous in return.

Re:Brew commands send data to Google Analytics by andybak on Friday November 25, 2016 @08:16PM (#13041141)
I think you've tired of me but I want to finish with one last thought: "Choose your battles wisely" - this might not be the best place to make our last stand. There's a danger of tiring out potential allies before the point things really matter.
Re:Brew commands send data to Google Analytics by Esau on Friday November 25, 2016 @10:41PM (#13041609)
This is the correct answer. Opt-out is a jerk move - used by those who value themselves more than their users/customers/fellow humans.
Re:Brew commands send data to Google Analytics by yoran on Friday November 25, 2016 @03:31AM (#13035102)
I agree with this. Also note that GA's terms disallow the sending of personable identifiable information so the data they collect has to be anonymous (see https://support.google.com/analytics/answer/2795983?hl=en).
Re:Brew commands send data to Google Analytics by jakobegger on Friday November 25, 2016 @04:42AM (#13035450)
I don't think you know what the word "prompt" means.

This is a prompt:

"Do you want Homebrew to enable anonymous aggregate user behaviour analytics (yes/no):"

This is not a prompt:

"Homebrew has enabled anonymous aggregate user behaviour analytics."

Re:Brew commands send data to Google Analytics by michaelt on Friday November 25, 2016 @04:50AM (#13035492)
People here are talking about opt out vs opt in but there's a third option: Forced choice. This is where you present the two options to the user (without either prechecked / default) and the user has to choose one or the other to continue.

This avoids both the problem that the user doesn't consent with opt-out, and the problem that nobody cares to opt-in. The disadvantage is it doesn't work with unattended upgrades.

Re:Brew commands send data to Google Analytics by CJefferson on Friday November 25, 2016 @05:21AM (#13035644)
Yes, one reason I like linux compared to windows is not having to click through "yes, yes, continue, yes, continue" in every installer. I don't want that bringing back whenever I install a new machine / program.
Re:Brew commands send data to Google Analytics by iagooar on Friday November 25, 2016 @03:58AM (#13035232)
No, it won't make Homebrew a better product. Homebrew was so good without analytics. Now it's worse, because I cannot trust it anymore.
Re:Brew commands send data to Google Analytics by drwl on Friday November 25, 2016 @04:25AM (#13035365)
How does your lack of trust for Homebrew make it worse?
Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @07:42AM (#13036308)
You can't use it if you don't trust it.
Re:Brew commands send data to Google Analytics by ovao on Friday November 25, 2016 @10:20AM (#13037297)
Again, though, the lack of user's truth or faith in a piece of software does not make the software itself worse.

We can argue the merits of distrust and of the user's choice to distrust, but the software itself is the same.

Re:Brew commands send data to Google Analytics by andrewguenther on Friday November 25, 2016 @04:03AM (#13035258)
What exactly has brew done to breach your trust?

Edit: downvoted for asking a question?

Re:Brew commands send data to Google Analytics by iagooar on Friday November 25, 2016 @04:09AM (#13035284)
Enabling analytics that send whatever information to Google. Yes, I can opt out, but often times I just don't have the time to verify the privacy policies of each and every piece of software I use.
Re:Brew commands send data to Google Analytics by tomjen3 on Friday November 25, 2016 @03:40AM (#13035132)
If this is so good, make it out in. Out out is dishonest.
Re:Brew commands send data to Google Analytics by tehbeard on Friday November 25, 2016 @03:50AM (#13035188)
Opt in may be "more honest", but you're going to see a a lot less useful data as a result of it, because the pool of people who will opt in is less than the pool of people who wouldn't care what the default is.
Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @03:53AM (#13035207)
If you're going to be subversive to your users by playing on their propensity to ignore prompts, why bother with allowing them to opt out at all?
Re:Brew commands send data to Google Analytics by mhenr18 on Friday November 25, 2016 @05:01AM (#13035547)
Let's assume that 90% of people don't bother to turn off telemetry and 10% do. That also means that in your preferred scenario, 90% of people wouldn't bother to turn it on and the 10% also wouldn't turn it on either. If you can't be bothered to turn something off, why would you be bothered to turn it on?

That means that you'll either get something close to 0% telemetry if it's default off, or 90% if it's default on. So, it makes sense to be default on if you want your telemetry dataset to be big enough to be worth it.

But then we get to your question - why bother with an opt out? Well, if the decision is either to use the product and send telemetry or not use the product, that 10% of people aren't going to use your product. They care about not sending telemetry that much.

At that point, as a dev you just have to ask yourself is it really worth losing 10% of your users to an always-on telemetry policy or is it OK to make the concession of allowing an opt out in order to grow your user base?

Personally, I'd rather make the concession and get that 10% of people on board. If they're vocal enough to complain the shortcomings of my product they're probably vocal enough to also talk about the good things and give me free advertising.

Re:Brew commands send data to Google Analytics by hueving on Friday November 25, 2016 @06:24AM (#13035926)
> If you can't be bothered to turn something off, why would you be bothered to turn it on?

If people aren't turning telemetry on, do you think they really want to send you data in the first place?

What you are doing is exploiting users assumptions of how normal CLI tools behave. They don't assume it's going to relay my information back to google when I use it.

Your entire argument essentially boils down to, "I'm sure I can get away with taking my users' information by making it the default behavior with a buried notification and I can placate people who care about privacy with an opt-out."

Your entire justification doesn't even mention privacy or caring about users, it only mentions dealing with pesky users who care to get your user-base higher and promote your product. You clearly have very loose ethics when it comes to privacy so I don't think there is much we will agree on. I just hope one day this behavior will be shunned enough that it will stop due to market forces before something like the EU regulates it away.

Re:Brew commands send data to Google Analytics by mhenr18 on Friday November 25, 2016 @08:35AM (#13036611)
If people aren't running make with -j, do you think they really want their build to take advantage of all cores in the first place?

My argument is not specific to telemetry, it's a general one. If you have an option to do something that's not a default and it's not part of the software's core functionality, most people aren't going to consider it even if it would be to their advantage. For example, make -j.

It's for that reason that I don't think the "if they aren't turning it on then they don't want it" argument holds as much water as you think it does. That argument groups together three groups of people: people that know about the setting and don't want it on, people that don't know about the setting and don't want it on, and people that don't know about the setting and would be happy if it was on.

Ironically, if you had good telemetry you'd be able to figure out how many people fall in to each group and make decisions about settings based on accurate data. Without that, you're forced to work on assumptions.

> Your entire argument essentially boils down to, "I'm sure I can get away with taking my users' information by making it the default behavior with a buried notification and I can placate people who care about privacy with an opt-out."

I think you're making the assumption that telemetry has to violate your privacy in all kinds of heinous ways and therefore only be a bad thing. If that's your mindset, of course you're going to think that I'm the kind of person that's out to trick and fool people and betray their privacy. And in all fairness to you, it's reasonable to be jaded when companies like Microsoft have horrible things like P2P software update distribution enabled by default. It's reasonable to be jaded when you don't get told exactly what kind of data is being sent back as telemetry. There's a fine line between "this is good" and "you're just relying on people not knowing how to change the defaults in order to try and get away with horrible things" and all too often that line is crossed.

But I'm an idealist. I see the good things that can come out of having telemetry. I want to know if my software has started getting popular in locales that I haven't written translations for yet so I can commission a translation to improve the experience for people in that locale. I want to know if there's a setting many people turn off so that I can consider turning it off by default to match user expectations. I want to know if my users are sticking to older OS versions because if they are I need to keep older hardware around in order to test and provide them the best possible experience.

I don't think anyone would have an issue with software sending back that data (and only that data) if you clearly tell them that's happening, and I also think that most people would be perfectly fine with that being a default behaviour. Of course, there is always going to be a group of people that will have an issue with sending back that data and that's why I made the point about keeping it as an option.

That group isn't just "pesky users who I only care about for promotion" (perhaps I was too flippant about saying that in my original comment). They could be trying to harden a machine so that it only uses the network under known circumstances. At the same time, you'd hope that software intended for use by people who need comprehensive privacy like whistleblowers wouldn't have telemetry at all.

Given that OS X isn't 100% free software, no one should be using brew in that kind of comprehensive privacy situation and so having telemetry isn't inherently bad.

It's the "clearly tell them that's happening" bit that's the issue here. If you have software that has been around for a long time that doesn't do something and then in a new release it starts doing that thing, you need to let people know that! It doesn't matter whether that's telemetry or anything else - if it's something that violates existing expectations you need to tell your users loud and clear.

Re:Brew commands send data to Google Analytics by TeMPOraL on Friday November 25, 2016 @03:53AM (#13035208)
Nobody said honest behaviour is easy.