4 ms·
Editing this to make it clear: the article proposes local collection that could later be submitted. This is the right path! Lots of manual submission processe
by Groxx 3y ago
Editing this to make it clear: the article proposes local collection that could later be submitted.
This is the right path! Lots of manual submission processes can use this to improve data and streamline stuff, and keeping it local solves nearly all privacy concerns.
But nothing manual will ever get good submission rates unless it's zero effort, because that effort stands directly in the path of people's actual goals when they hit an error. It's the worst possible time to ask for something.
---
>People saw ICEs on nightly and didn’t report them. Maybe they thought they were already fixed, maybe they didn’t know how to report them. Whatever the reason, nightly and beta failed to be an effective canary.
Unless you make it trivial, you're asking for a lot from people.
I can't speak to Rust in particular[1], but it's VERY common for "please report this issue! [link]" to be met with a login wall, long list of requirements and metadata requested, asks for detailed lists of what you did and how it's relevant and what you expected and...
yeah, of course people don't usually report these issues.
They rightfully realize it's asking for a major time investment both right now (presumably they were trying to do a thing and would prefer to continue doing the thing rather than learning your reporting system) and in the future (questions for further info on bug reports are common).
Make it as easy as the telemetry you want to add, and it sometimes actually happens. i.e. no login, as near to zero effort as is possible, gather all information for them, anonymize it for them, etc. If you can do it automatically, you have trivially proven that you can also do it manually, so do that.
Give people a pre-filled link with a one-click submit and an optional "contact me at [email]" field.
---
[1]: https://github.com/rust-lang/rust/issues/93701 https://github.com/rust-lang/rust/issues/93701 implies they do this too. They made or already had a github account, have run multiple commands to gather info, filled in a templated text field by hand, and then they're asked to make a minimal reproduction and check if it still exists in nightly? Is it any surprise at all that people do not usually do this?
- estebank 3y agoI do want to make this as easy as possible. As part of that effort I am experimenting[1] with making filing an ICE report be as easy as "open ticket and attach this file". We do require a GitHub login because that is where we keep our issue tracker, and given the user base size I would have to expect that any alternative service would require some kind of login to cut down on spam. [1]: https://github.com/rust-lang/rust/pull/114128 https://github.com/rust-lang/rust/pull/114128
- yjftsjthsd-h 3y ago> as easy as "open ticket and attach this file" Does the "open a ticket" step expand into "create an issue and then fill out an elaborate questionnaire"? For instance, https://github.com/rust-lang/rust/blob/master/.github/ISSUE_TEMPLATE/ice.yaml https://github.com/rust-lang/rust/blob/master/.github/ISSUE_... isn't... bad for what it is, but it's definitely asking for enough work that it falls back into "yeah no maybe someday when I'm not trying to get my code to work" territory. (Asking to clarify; I think you might be suggesting to reduce to the form just being "got a ICE? paste your error here and hit submit" which would be good)
- estebank 3y agoThe only mandatory fields in that form are the rustc version (that's printed as part of the error) and the backtrace. The file being generated includes both of those things. > Asking to clarify; I think you might be suggesting to reduce to the form just being "got a ICE? paste your error here and hit submit" which would be good I would do that once the new ICE storage mechanism is exercised enough for everyone to be confident in its behavior and enabled in the stable channel.
- yorwba 3y agoI've never had to log in to send a Firefox or Thunderbird crash report to Mozilla. A look at what they're doing might be fruitful.
- amluto 3y agoI wonder if splitting the telemetry upload into a separate command could make sense. So rustc could panic and say “Run 'rustup report' to report this issue”, and the user could send the report at their option. (Or ‘rustup report 12345' where 12345 identifies this panic.) This would be the ultimate opt-in - the user has to specifically request each report.
- Groxx 3y agoHonestly this sounds pretty good to me. Unlikely to be accidentally triggered, easy to explain and run, lets you do it later rather than having to save things before continuing, and provides a few ways to preview the data before submitting (e.g. temporarily run a webserver to locally view and possibly clean up the report, which can easily include large files, and just click submit there to send it with CORS... or bundle it into a file that can be dropped somewhere if that doesn't actually work).
- 0xbadcafebee 3y agoWhat privacy concerns? What the hell are they putting in the telemetry that the user should be afraid of being sent over an encrypted connection? Is my bank account number being included in the compiler metrics? At this point I consider any advocate of "privacy" in a tech context to be an anti-intellectual cargo-cultist. Just look at the linked article. Absolutely not one single example of a privacy violation or its implications. They just waive their hands in the air and say "it's contentious" and "risk is too great". Let's completely avoid an actual discussion of privacy, and just assume that any information about a user (like their IP address) will immediately result in them being sent to a gulag, despite no evidence that this has ever happened, much less how often, how likely, ways to avoid it, or the benefits that are lost by not allowing for said insanely-unlikely-risk. It's people afraid of their own shadow that would rather live in a prepper shelter than deal with the real world. Of course we should completely ignore the fact that this is developer software, and they, being technical people, have many means to disable specific outgoing network connections if they so choose. But better to be paranoid than rational, because "trust is key".
- Groxx 3y ago>What privacy concerns? The core thing to understand here is that what constitutes their concerns is not your decision. It's theirs. You don't know what they put in their code. Maybe they did put their bank account in a function name. The tool won't tell them they shouldn't have done that, and there's currently no reason why they shouldn't if they're just playing around. Similarly, you don't know what they're doing or how doing that might expose them in ways they might care about. If my country decides to outlaw something and starts looking for mentions of it and jailing people, your decision yesterday could endanger me. This happens with some regularity, and you can't reliably predict the topics that get targeted. I generally approve telemetry for tools because I know how useful it is. But I see no reason why that should be your choice instead of mine.
- 0xbadcafebee 3y ago> Maybe they did put their bank account in a function name. Thank you for proving my point - again, no rational debate here. Obviously nobody would ever make a function name their bank account number. And why would metrics include function names? Metrics are numbers, not logs. > Similarly, you don't know what they're doing or how doing that might expose them in ways they might care about. If my country decides to outlaw something and starts looking for mentions of it and jailing people, your decision yesterday could endanger me. This happens with some regularity, and you can't reliably predict the topics that get targeted. Yet another contrived example that has nothing to do with the subject at hand and has no rational basis for happening. A random country creates a random law that happens to outlaw a compiler metric? You think a country's gonna make software development illegal soon? > I generally approve telemetry for tools because I know how useful it is. But I see no reason why that should be your choice instead of mine. Nobody's taking away your choices! You don't want telemetry? Block the outgoing connections! Disable it in a config file! Use a friggin' VPN like all the other privacy-paranoid do!
- JohnFen 3y ago> it's VERY common for "please report this issue! [link]" to be met with a login wall Which unintentionally, but strongly, communicates that the devs don't actually want the telemetry data.