I think it's a difficult ethical question, because there are balancing concerns and interests, and most behaviour doesn't easily fall into the obviously wrong or obviously right categories.
[1] https://discourse.julialang.org/t/pkg-jl-telemetry-should-be...
One of which is a keylogger! Windows 10 is pure evil.
"As part of inking and typing on your device, Windows collects unique words—like names you write—in a personal dictionary stored locally on your device, which helps you type and ink more accurately.
If you sync your Windows device settings to other Windows devices, your local user dictionary (up to 100 KB per language and 300 KB total of hard drive space) will be stored on your personal OneDrive for the purpose of enabling sharing of your dictionary with your other Windows devices. "
And it may have been worse when Windows 10 was first released:
https://www.pcworld.com/article/2974057/how-to-turn-off-wind...
It also doesn't do this for password/passphrase fields.
You can also turn it off, and you're prompted to do so upon OS installation, and the option is always there in the settings application, and you can even tell Microsoft to delete any telemetry it has for you, if you want, and they'll delete it.
Those are the facts. But, it's common to ignore those and just shout "keylogger" in online forums. It is also, somehow, a sign of weakness if you look for updated or changed information which may change your opinions, because no one ever seems to do this. Like, ever.
So for instance, the team building VSCode might be the most altruistic FOSS diehards on the planet, but that doesn't matter if the people managing them see an opportunity to leverage their work to profit MS at the expense of developers.
every PR action
free(as in beer) software (e.g. visual studio)
charitable donations (e.g. google to wikipedia)
not pressing charges for rampant cracking (photoshop used by students/children)
diversity photo ops/hiring practices
non-firing of incompetent employees
free workshops or tours for the public/children
The thing that bothers me about Visual Studio Code is that does conform to the general Microsoft rule of enabling telemetry by default. IMO, this is not good practice, and in some cases it seems to have been encouraged or mandated at a senior level. We should not have aggressive data collection in the world's standard desktop OS, or compilers baking vendor instrumentation into C++ binaries by default.