If I create a OSS app with analytics to detect & log crashes with feature use, is it a bad practice? I think analytics is really helpful in finding:-
- which features are worth developing &
- which bugs needs to be solved first.
Edit…
Things Collected
- IP Address for use ping (for country)
- All crashes with IP
- Feature use with IP Crashes are store for upto 6 months to solve bug but rest are collected and delete after 3 months
It is opt-out but user are informed about it during first / install time. To disable analytics Settings --> Privacy
I want to know right way to introduce analytics in OSS
Many people who deliberately choose open source, are also into privacy. I’m not sure what people like. But you’ll definitely face some rejection by people like me. I like to file bugreports myself. I get my apps from F-Droid and they usually strip those telemetry libraries from the source. But for people who use Obtanium or Google Play, it’ll work. I think there is a good share of users who are fine with crashreports. Maybe the majority. You could make the app ask for confirmation before sending the report. Or offer two variants of the app, one normal and one without. Or let people like F-Droid offer the latter.
If it’s more than crash reports, I think it should be opt-in rather than opt-out.
I like the old fashioned way of doing free software. Have a community around the project, a bugtracker and engage people in a discussion about future developments. I’m happy if that’s baked into an app if it’s opt-in and it’s an open backend or something simple, meaning you don’t include the whole Firebase, Crashlytics, … stuff. But it’s up to the developer. If you like it, and your audience isn’t privacy nerds, include it and see if people complain.
I like the idea of providing two variant one normal & another without any analytics whatsoever on F-Droid. Users can create a issue/support ticket on GitHub providing logs themselves. Their app will not even ping back whatsoever.
I will create app with analytics with a compile switch so analytics part is not even compiled and completely stripped from the build
Yeah, the maintainers of F-Droid will probably appreciate you did the work for them.
And I think it’s a sound approach. I mean the Linux ecosystem works the same way. We have upstream developers, and distributions and maintainers who adapt the packages for the user. We can have all the diversity, modern tools and also distributions like Debian that swich everything to privacy per default because their users like that. I think the same approach works for android and I really appreciate I get to choose between F-Droid, Obtanium and the Google Play store.