I’m considering something that would, optionally, collect anonymous usage data. The point of the exercise would be to know what kind of workload syncthing gets hit by in the wild, to know if we should optimize for small or large repositories, millions of files or hundreds, which platforms are most common, etc.
The scheme I’m imagining is to put up a dialog on some startup quite soon after installation (not the first, to overwhelm a new user, but perhaps within a week of first installation). This would be something along the lines of:
Allow anonymous usage reports? [short description of purpose as above] If you say yes, the following data will be collected and sent once a day:
{ “version”: “0.9.3”, “platform”: “linux-amd64”, “numRepos”: 3, “totalFiles”: 12345, “totalBytes”: 1234567890, “maxFilesPerRepo”: 1234, “maxBytesPerRepo”: 123456, “maxFileSize”: 1234567, “numPeers”: 3, “memoryUsage”: 1234567, }
[Yes] - [Maybe later] - [No, and never ask me again]
The actual data that would be sent would be shown in the dialog in question, although this is of course something the user would have to accept on faith (or read the source).
Opinions on this?
- Would you say yes/no?
- Is this reasonable data to ask for?
- is there something you think should be added/removed?
- Should this be done differently, or not done at all?
When enabled, it could be disabled again by unchecking the relevant checkbox in settings, which would then have the same effect as the “no, and don’t ask again” option for the future.
When enabled, we’d send the data with an HTTPS POST to some suitable place, and I would make the aggregated data available in some useful manner.