3 ms·
I don't like even the whisper of anything that resembles telemetry. Can someone explain the counter argument? A compiler is as low level as it goes. There is a
by zer8k 3y ago
I don't like even the whisper of anything that resembles telemetry.
Can someone explain the counter argument? A compiler is as low level as it goes. There is an assumed level of competence with someone using a compiler. Why is it better to collect data than just have the user cat some logs somewhere and post them?
After the recent debacle(s) with the rust foundation I am almost certain a "local only" telemetry will morph into VS Code's full system colonoscopy. Please do not do this. Find another way. Compilers were bug fixed without telemetry just fine for 30 years. The Rust Foundation are by and large bad actors in an otherwise okay ecosystem. Don't let them oracle-ize it.
- estebank 3y ago> Why is it better to collect data than just have the user cat some logs somewhere and post them? Those logs are collected data. I'm arguing for those logs to exist. > After the recent debacle(s) with the rust foundation This has nothing to do with the foundation. I have nothing to do with the foundation. > I am almost certain a "local only" telemetry "Local-only telemetry" is an oxymoron.
- zer8k 3y agoThe foundation controls Rust in the same way Oracle controls Java. This link is not tenuous. Are you asserting that the compiler team would never be able to be compelled to act against the interests of its users? Furthermore, that there's no way this could happen? > Those logs are collected data. I'm arguing for those logs to exist. Concrete example: I run into an error. I post a minimal example to a bug system. Is it not possible for the compiler team to run that example and pull their own special data using an instrumented compiler? How will these logs improve it?
- estebank 3y ago> The foundation controls Rust in the same way Oracle controls Java. That is not quite correct. The Rust Foundation is an entity that manages the trademark, relationships with other legal entities, and handles money to pay for running costs. The technical part of the house is the somewhat amorphous "Rust Project", which you can check here https://www.rust-lang.org/governance https://www.rust-lang.org/governance. > Concrete example: I run into an error. I post a minimal example to a bug system. Is it not possible for the compiler team to run that example and pull their own special data using an instrumented compiler? How will these logs improve it? Transient errors exist, particularly when incremental compilation comes into play. In other cases the bug/problem only manifests in a closed source project and the reporter cannot produce a minimal reproducer. There are platforms that the people triaging and fixing bugs do not have access to and might have diverging behavior.
- zer8k 3y ago> Transient errors exist, particularly when incremental compilation comes into play. In other cases the bug/problem only manifests in a closed source project and the reporter cannot produce a minimal reproducer. There are platforms that the people triaging and fixing bugs do not have access to and might have diverging behavior. Fair, I will need to do more reading on this strategy of gathering data. I did not consider closed source.
- arp242 3y agoA rather long list of use cases (for Go) is at: https://research.swtch.com/telemetry-uses https://research.swtch.com/telemetry-uses It doesn't take that much imagination to come up with useful use cases. I'm sure there are many for Rust, too. Linux is even more low-level, and telemetry would undoubtable be useful there too. "We don't break userspace" has always been interpreted flexibly – for example it's fine to break userpspace if no one will notice – or rather: if it's expected that no one will notice. But it's almost impossible to say if anyone will notice, and breaking changes are frequently rolled back because it did break stuff, causing wasted time and frustration from all sides. Whether telemetry should be done is a different discussion, involving upsides, downsides, and trade-offs. But that it's useful for almost all software with significant widespread usage is hard to deny.
- hedgehog 3y agoI am highly privacy-conscious, but also rely on the robustness of tools including the Rust + LLVM compiler stack. That robustness is in part built on the high degree of scrutiny that comes with many other people using the same tools in many different ways, and reporting the problems they find. Tools to make reporting easier will help it happen more often.
- mbo 3y agoI work on a company-internal compiler. We collect analytics on what kinds of syntax and type errors engineers have been encountering, compile times, and crash reports. They've been invaluable - we've squashed some gnarly performance issues with some degenerate constructs, caught a few performance regressions post-release, and spent time polishing the type errors and semantics of the ones most encountered.