HACKER Q&A
📣 cube2222

How to implement Telemetry for an Open Source project correctly?


Hey, I’m one of the main OctoSQL[1] contributors.

For a while already I’ve been thinking: how to do telemetry for open source projects well, in a way that doesn’t end up with a wide ranging user rage about privacy.

With an open source project on github, all you really have is the star count and the download count (which is not that useful, cause in this case most users “go get” octosql anyways).

You need telemetry to know if anybody is actually using your software, what kind of workloads they’re running (to optimise for cases which are actually useful to users), what versions people are running, what kinds of systems they’re running on (big servers, laptops, etc.).

Now my thought was to just embed a constant url address in the open source repo where information like this gets sent to. On by default, with a warning on first run, as almost nobody would do any intentional effort to turn this on if it weren’t on by default, disablable using an environment variable). The sent telemetry could be locally browsable so you know what you’re sending. The gathered data could be publicly displayed (it’s an open source project after all).

However, I’d expect a system like this to be met with backlash. Is this a vocal minority? How would you solve this problem? Is there any “open source way” to do this?

[1]:https://github.com/cube2222/octosql


  👤 Khelavaster Accepted Answer ✓
Good thing you're open-source. If your users don't like your telemetry they cant remove it for their own builds.

👤 egdod
> You need telemetry

Lemme stop you right there.