They get users accustomed to the idea that now telemetry is in the toolchain. Next step will be to "accidentally" turn it on for everyone.
Then it will be "oopsie daisy" everyone is okay? See. Nothing happened, so we'll leave it opt out.
They get users accustomed to the idea that now telemetry is in the toolchain. Next step will be to "accidentally" turn it on for everyone.
Then it will be "oopsie daisy" everyone is okay? See. Nothing happened, so we'll leave it opt out.
It doesn't really, not necessarily anyway.
Think of all the awful terrible laws that get introduced "for the children". While in politics there are certainly a lot more malicious actors than in development, there are certainly many people who truly believe they are doing good "for the children" and they simply don't stop and think what are the drawbacks of their proposals.
I think it's just human nature to look for solutions to improve things which they are involved in (which is great) without (often) giving enough weight to how it harms other people (which is not good). That's why it's important to push back against these things, whether in software or in law.
In contrast with how Homebrew implemented their opt-out telemetry, opinions obviously did matter to Go. Yes, I'm still salty about that project being so tone deaf.
Basically, there's a very obvious in group that has to pay lip service to the proletariat but otherwise can do whatever they please.
Telemetry is valuable for making decisions and identifying issues, so it's no surprise the group making decisions about the future of the project would welcome the proposal.
You can always fork an open-source implementation, but that's a lot less useful when it means your code is no longer compiler-compatible with other people's code. So languages tend to be run by some committee, and a lot of the popular ones have a Benevolent Dictator for Life or a small committee.
Guido was Benevolent Dictator for Life of Python until 2018. C++ is standardized by JTC1/SC22/WG21 (and Microsoft still has huge influence on it based on simply whether they decide or not to incorporate a feature into MSVC). Ruby is an ISO standard. Common LISP is an ANSI standard. Modifying a widely-adopted language in a way that will be seen by most users is at least as much "Can you work with those with the political influence to decide 'yes'" as "Is your recommended modification technically good?"
Coming from a language that is slowly but surely trending to an "everything and the kitchen sink" PL (aka swift), believe me, i appreciate A LOT the care with which go team makes sure any new feature composes perfectly with the existing state of the language and doesn't add too much complexity.
Continuing to hold this opinion does not imply that their opinions have somehow been manipulated or changed.
As for the Overton Window - telemetry has been a part of software since the internet was a thing. And it will continue to be a thing long into the future. I just fight to keep it as a choice for the user.
Not true. As I mentioned in a separate comment, in the 90s (and even somewhat into the early part of 00s) adding any kind of phone-home functionality to code was pretty much universally seen as outrageous privacy violation.
Go back to, say, year 2000 and post on a technical newsgroup about having noticed some code phoning home and watch the outrage fly. This was seen as a line that must absolutely never be crossed.
So yes, the overton window has done a massive shift.
Yep.
And I remember a few very heated fights between dev teams and marketing teams over it. Devs universally fought adding telemetry because it's an abuse of users and user trust. Marketing universally fought for adding it because it allowed them to sell more efficiently.
The 90s-early 2000s were the era where the internet exploded and the dev community decided en-masse to start shipping software as web apps. Web apps are notable for giving massive streams of 'telemetry' to the web server operators as a natural consequence of how they work. Nobody cared and the change was embraced because the value of those server logs was so high that web-based SaaS companies could easily outcompete people steeped in client-side "your mouse clicks are private" culture.
Eventually, web culture had to be forced on the desktop people. At Google they were distributing desktop apps and the command came from the very top (Larry Page) that Google's software updates should work just like the web. Silent, background, no end user control, no confirmation popups. Stuff just updates. Of course, huge uproar. End users should be in control of their computer etc. Nothing worked like that at the time. Page insisted: do it or you're fired, so it got done. Users loved it, that model turned out to be extremely successful and became a key competitive advantage for Chrome when it launched, one that others have since copied.
The Overton Window shifted because the window only existed at all in programming culture. It took confident and in-control CEOs like Page and Jobs to kick developers out of their ideological cubby-hole and into a place that better suited the huge majority of end users, who really couldn't care less if some guy they never met knows how many seconds they spent looking at the welcome screen. But they do care a lot about whether their tech actually works reliably.
Ehhh...
And the vast majority upvoted this proposal.