Like, instead of having a prechecked box that people would have to notice and uncheck before proceeding or a greyed out "maybe later" button, what about two different continue buttons labeled "yes, help us improve with anonymous statistics" or "no, I'd rather not contribute"? (Either way with a link available to more details in the privacy policy before deciding.)
My guess is that it would be less useful telemetry than opt-in, more useful than opt-out, and a slight obstacle to sign-ups for consumer webapps but not much of an obstacle to enterprise webapps or anything pre-downloaded.
Maybe it's still useful and smooth enough to be the right balance vs privacy?
If they care about their users and it's not possible to have worthwhile telemetry with opt-in, they simply can't have it.
[0]: https://insights.stackoverflow.com/survey/2019#development-e...
And this is not even something that can't be replaced : if you want to know about your users habits, ask them. I would have no problem with seeing once in a while a broadcast message after syncing packages showing me an url of a poll. But automatic data collection is never ok.
Because they have the data proving that opt-in telemetry means no telemetry. Every time this topic comes up, HN sticks its fingers in its ears and refuses to accept this, but it's the truth. 99% of users, even for a developer-focused application like VSCode, just click through and accept the defaults. So if you want telemetry that isn't useless for any practical purposes, it has to be opt-out.
If you want, you can have a separate argument about whether having the telemetry is worth it, but if you've had that discussion and decided the answer is yes, then opt-out follows immediately from that.