deepstreamIO / deepstream.io

deepstream.io server
https://deepstreamio.github.io
MIT License
7.14k stars 381 forks source link

Elton phone home #1068

Closed yasserf closed 4 years ago

yasserf commented 4 years ago

Given there are only 10 packages claiming to use deepstream (vs the X million for socket.io) the next feature will be bit more of a James Bond spy I’m afraid.

Before you panic, here’s how it will look like:

telemetry: type: deepstream.com (yeah it’s a plug-in! You can override it as default with other things if you want)

Yeah that’s really about it. By default it will be disabled, but will print log messages on start pleading you to enable it so that I can gather better numbers to help determine this projects future. If you want to fully disable logging as well, override the plugin with your own.

It will most likely just trigger a lambda on ds side that logs your OS, DS version, binary/node and startup time.

It may also send an update (configurable, only when something changes) stating what features you used (permissions/endpoints/events/etc). This will help figure out how if deepstream continues on so we can pivot away from some of the features, or at least prioritise them.

I really don’t care about tracking (no offence!) and would love if anyone has input into a way I can gather this data without having access to your IP, without using a third party VPN or dark web.

If there was a fatal crash it will also upload the stack trace as well at some point, but that’s an opt in feature.

This is really easy to implement and would be much more efficient than the google form I have now, I think (given I got very few responses).

Again, addressing the elephant in the room, this is opensource right? Why are you tracking stuff? Your evil right? Who you selling your data to? I don’t want people to know I’m using DS! That’s it, I’m moving to something else that cares about my privacy.

I get it, it’s not a great solution and it’s why I’m adding it in SO LATE into the project. Trust me, if I wanted decent info for the cash it would have been when deepstream had a company around it.

The reason why this is being added is because deepstream is in a delicate state right now. I personally would love to continue supporting it however I need motivation, and that motivation my friends are users and contributors👩🏽‍💻🧑🏿‍💻👨🏽‍💻. And what better way to have an idea of the number than to do this.

So, when you see that log line pleading you to enable it and you ignore it, please remember that that just commenting that line can directly affect the life and death outcome of this project.

Also the lambda code will be a public repo, although obviously I won’t be giving anyone access to AWS itself.

Thanks!

slachtar commented 4 years ago

Many open source products use this approach to track usage of the product, just to mention pm2, influx and many others, since one has the possibility to disable telemetry, then no offence at all.

binaek commented 4 years ago

Is this feature up in the Docker image as well? I started up a container today, but didn't see it!

yasserf commented 4 years ago

Not yet nope, it will be the next ‘feature’ to rollout

yasserf commented 4 years ago

Implemented in 5.1!