Live data from Hacker News

Transparent telemetry for open-source projects

research.swtch.com

301–310 of 314 posts

Re: Transparent telemetry for open-source projects

#301

Earlier quoted context omitted.

I don't think I made myself clear. The company ships one product which is a community edition of a bundle of open source software. That version has telemetry enabled and can't be disabled. Users who want to patch the code manually can of course disable it, just like they can disable the Ad lens in Ubuntu if they want to build it themselves, and those users will be off the beaten path and likely to run into issues tha…

> bundle of open source software. That version has telemetry enabled and can't be disabled. I'd recommend saying "and cannot be configured off without code changes", or something. Of course it can be disabled, if it's open source. Go compiler without telemetrics opt-out would fragment the community even harder than Go compiler with telemetrics default on. While your scenario is, of course, possible, it's not very rel…

Well I mean. In a lot of the popular Linux distributions you kind of get what the distro comes with.

Can you configure openSUSE to use apt instead of zypper? I mean, sure, probably, it's open source.

Is it going to be straightforward? I don't know. I suspect it's going to be harder than it's worth, and you might need to rebuild the operating system image to change the directory layout to work with apt's assumptions or something.

So in practice, even though these things are all open source, people who bundle complex software lay down the paths that 99.9% of people will take.

I wasn't proposing "disabling telemetry" as the primary business proposition.

Instead I was suggesting that open-source companies spend a lot of time dealing with issues from people who use the open-source software in unanticipated ways. If "the beaten path" for using the software without support includes telemetry, they get value from that.

If people want to use the software without telemetry, then they're paying for a support license, so the issues they run into which the supporting company has no telemetric insight into are at least better aligned with their support resource allocation.

Re: Transparent telemetry for open-source projects

#302

Earlier quoted context omitted.

> bundle of open source software. That version has telemetry enabled and can't be disabled. I'd recommend saying "and cannot be configured off without code changes", or something. Of course it can be disabled, if it's open source. Go compiler without telemetrics opt-out would fragment the community even harder than Go compiler with telemetrics default on. While your scenario is, of course, possible, it's not very rel…

Well I mean. In a lot of the popular Linux distributions you kind of get what the distro comes with. Can you configure openSUSE to use apt instead of zypper? I mean, sure, probably, it's open source. Is it going to be straightforward? I don't know. I suspect it's going to be harder than it's worth, and you might need to rebuild the operating system image to change the directory layout to work with apt's assumptions o…

Distros are roughly defined by their package managers. Replacing one is a huge amount of effort, compared to adding `false &&` to a single if.

Re: Transparent telemetry for open-source projects

#303
post #260

Earlier quoted context omitted.

Working hours, work location, home location, favourite cafes, sick days, vacations, hotels, wealth level. And that's just from IP addresses and timestamps alone, and without cross-referencing with all the data that Google vacuums over other channels.

That ship has already sailed. The Go tool already by default makes network requests to the Go proxy, which potentially allows everything that you're talking about there. What's significantly different about this telemetry proposal?

> The Go tool already by default makes network requests to the Go proxy

Frankly, that crap should be expunged from the Go toolchain as well. :(

Re: Transparent telemetry for open-source projects

#304

Earlier quoted context omitted.

Have you read the articles? How is this in any way violating privacy?

Because it's impossible to get telemetry from any source without violating some aspect of the users' privacy.

So you see this as just the same, from a privacy perspective, as the way that the Go tool already dials out to the Go proxy by default? That is, if you're OK with that (I'd assume not, but it is at least existing functionality), you'd see the telemetry proposal as similar?

In other words, I think you object to the Go tool already, so this is really no different?

Re: Transparent telemetry for open-source projects

#305
post #267

Earlier quoted context omitted.

That ship has already sailed. The Go tool already by default makes network requests to the Go proxy, which potentially allows everything that you're talking about there. What's significantly different about this telemetry proposal?

A couple things IMO. First, making network requests when downloading packages is necessary for the tool to function and unavoidable. People who care about this will be using a VPN of some kind. It's just how the Internet works. But telemetry is something the tool author is choosing to add, not something that's necessary due to the architecture of our computing infrastructure. Second, the Go telemetry would apparently…

> First, making network requests when downloading packages is necessary for the tool to function and unavoidable.

It's technically not unavoidable. The Go authors could have made use of the proxy opt-in rather than opt-out, making the tool less usable as a result. A similar argument applies here, I think.

> Second, the Go telemetry would apparently create a unique, persistent user ID

Where did you see this? I scanned through the "Telemetry Design" article reasonably carefully and couldn't find any mention of this concept, and the type definition for the posted JSON (the `Report` type) doesn't seem to include any such user ID.

In the end, ISTM that you're not complaining about something that actually affects your privacy in any way, but just the _idea_ of telemetry. Is that really something worth taking such a hardline stance on?

Re: Transparent telemetry for open-source projects

#306

Earlier quoted context omitted.

> @rsc, if you ever see this, your proposal here means that I will never use any software written in Go ever again, if at all possible. Have you actually read the articles? The "data put up for sale" is to be made available publicly. IP logging can already be done (the Go proxy is enabled by default). All the source code is open. What's your actual problem with this, beyond a knee-jerk reaction to the idea?

> The "data put up for sale" is to be made available publicly. How can users verify this? > IP logging can already be done (the Go proxy is enabled by default). Sure, but more data will be attached to it. Also, in his proposal, he said that IP addresses will not be logged. I seriously doubt that. > What's your actual problem with this, beyond a knee-jerk reaction to the idea? Putting telemetry in a programming langua…

> Sure, but more data will be attached to it. Also, in his proposal, he said that IP addresses will not be logged. I seriously doubt that.

I think it's worth quoting what Russ said in the article, which sounds very reasonable to me:

> The server would necessarily observe the source IP address in the TCP session uploading the report, but the server would not record that address with the data, a fact that can be confirmed by inspecting the reporting server source code (the server would be open source like the rest of Go) or by reference to a stated privacy policy like the one for the Go module mirror, depending on whether you lean more toward trusting software engineers or lawyers. A company could also run their own HTTP proxy to shield individual system’s IP addresses and arrange for employee systems to set GOTELEMETRY to the address of that proxy. It may also make sense to allow Go module proxies to proxy uploads, so that the existing GOPROXY setting also works for redirecting the upload and shielding the system’s IP address.

> This means that, except for the fact that I don't work in Go, most of my private conversation with a machine could be backdoored.

I don't get this. Given the design that the article is describing, how could most of your private conversation with a machine be backdoored? Specifically given that the Go tool is open source and used by millions already. Are you worried about sneaky code hidden inside that source code? If so, you should be worried already, because there's no reason that they couldn't already be doing that if they were so inclined.

Re: Transparent telemetry for open-source projects

#307

Earlier quoted context omitted.

> The "data put up for sale" is to be made available publicly. How can users verify this? > IP logging can already be done (the Go proxy is enabled by default). Sure, but more data will be attached to it. Also, in his proposal, he said that IP addresses will not be logged. I seriously doubt that. > What's your actual problem with this, beyond a knee-jerk reaction to the idea? Putting telemetry in a programming langua…

> Sure, but more data will be attached to it. Also, in his proposal, he said that IP addresses will not be logged. I seriously doubt that. I think it's worth quoting what Russ said in the article, which sounds very reasonable to me: > The server would necessarily observe the source IP address in the TCP session uploading the report, but the server would not record that address with the data, a fact that can be confir…

> The server would necessarily observe the source IP address in the TCP session uploading the report, but the server would not record that address with the data

Users can't confirm this. In fact, this makes the next part a falsehood:

> a fact that can be confirmed by inspecting the reporting server source code (the server would be open source like the rest of Go) or by reference to a stated privacy policy like the one for the Go module mirror, depending on whether you lean more toward trusting software engineers or lawyers.

Sure, the source code of the server might be available, but you can't confirm that the server wasn't built with modified source code.

Second, as we've seen before privacy policies are empty; companies violate them all the time.

IOW, I don't trust software engineers, and I don't trust lawyers, and I would bet my life savings that there will be instances of companies lying in the ways I mentioned above.

> I don't get this. Given the design that the article is describing, how could most of your private conversation with a machine be backdoored?

Counts are enough. He says that counts are the only thing that will be uploaded, but he forgot that timing will also come into play.

(A week's delay is only an offset to subtract, by the way.)

Here's how it works: the tool reports counts, maybe in batches per hour. The server logs the counts and the hour those counts came from.

Yes, there's already another piece of data they captured, even though the tool ostensibly only sent counts.

Then those counts plus their timings can be used to infer things. For an example outside of Go (this is one I saw somewhere else), imagine a person texting more and more as the weekend approaches, until they are texting frantically. Then they suddenly stop in the evening of Saturday.

You only get the report of counts and the hours they happened in. Can you give some plausible explanations?

I can. They were texting someone they were planning on meeting that weekend, and then meet them. Can you give a few guesses as to why they're meeting them?

I'll let you fill in the blank.

Sure, there might be other reasons, but I would bet there are not many. Enumerate them, and you already know more. Find the similarities between all possibilities, and you know even more.

People forget about side channels all the time. In this case, the side channel was timing, but it doesn't matter what the side channel is; data can be extracted from it. And companies will.

> Specifically given that the Go tool is open source and used by millions already. Are you worried about sneaky code hidden inside that source code?

Yes. Just because there are eyeballs on that code doesn't mean they won't put sneaky stuff in. For example, the counts could be packed in a different order to tell the server more information. Or the tool could time its uploads. Or it could batch some counts and not batch others.

I'm not smart enough to catch all of the tricks they might pull. Are you?

> If so, you should be worried already, because there's no reason that they couldn't already be doing that if they were so inclined.

It's Google. Of course, they are so inclined!

Re: Transparent telemetry for open-source projects

#308

Earlier quoted context omitted.

Well I mean. In a lot of the popular Linux distributions you kind of get what the distro comes with. Can you configure openSUSE to use apt instead of zypper? I mean, sure, probably, it's open source. Is it going to be straightforward? I don't know. I suspect it's going to be harder than it's worth, and you might need to rebuild the operating system image to change the directory layout to work with apt's assumptions o…

Distros are roughly defined by their package managers. Replacing one is a huge amount of effort, compared to adding `false &&` to a single if.

My take is that distros are collections of opinions, some with exposed customization allowed.

The package manager is part of it, sure.

The filesystmem is another big part of it (though it's possible most are following XDG now https://specifications.freedesktop.org/basedir-spec/basedir-... )

Init system used to be a big point of deleniation, but I think systemd is the standard now (for better or worse)

The filesystem and networking stack still have some variability.

There's still default applications, kernel modules, a gui app installer, the desktop, included drivers, and many more things that go into a distro. If you go with a distro that uses KDE and you switch to GNOME for example, you might lose a lot of GUI support for customization, might have to build addon packages yourself, etc.

It's all open source at the end of the day, but that optionality leads to a less streamlined user experience and lack of guardrails as soon as you step off the beaten path, than you would get with something like OSX

Re: Transparent telemetry for open-source projects

#309
post #262
post #104

Earlier quoted context omitted.

Any evidence that telemetry actually works? (i.e makes the program better)

If it collects actionable data, yes, of course it works. Crashes, common failures, UI/UX friction points, avarage usage patterns - all can be used to prioritize work to take care of things that have the biggest impact.

I asked for actual concrete evidence, not "can be used".

Is there an example of a program that was crap, implemented telemetry and then got better afterwards? (and of course controlled for factors that might have improved the program anyway)

I mean since telemetry advocates are so into how useful data is, surely they must have data on whether telemetry itself works?

Post reply on HN