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
All depends on what you collect, how it’s stored, how transparent you are about it, and how easy it is to opt out of. It can definitely be done well.
I prefer opt-in.
For foss apps, I mostly allow analytics to track to help the dev out more. Complete 180 for any big tech since whenever they ask for it, they sell that information to the highest bidder.
As an OSS user, and developper, OPT-OUT is a shitty practice. It should be opt-in to users who face crashes issues if they want to share that data (they care enough to provide their info to the dev to fix it). I know this makes users sound entitled, but otherwise the “opt-out” permission will be exploited by someone which will make users even more paranoid about OSS apps.
There are kinds of analytics that are incompatible with the GPL, as you can’t restrict what users do with GPL software, and that includes asking children not to submit analytics containing information you’re not allowed to know about children under COPPA. The only options are to hope your software is only used by adults, or not implement any kinds of analytics that collect the relevant kinds of personal information.
Do not collect more data than you need. If you need IP for some reason then that needs to be relevant. Is your app geographically based, for instance? And does the location or IP impact how the app works?
Beyond that, if you’re collecting personal or sensitive data it should be opt-in from a privacy focused perspective.
Only reason we collect IP address is to evaluate which country is most active & focus localisation(language etc)
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.
Or offer two variants of the app, one normal and one without. Or let people like F-Droid offer the latter.
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.
I think if you use your own Matomo instance I’m way more ok with it, than if you include google.
If your app could also be used by people from the EU, you have to be GDPR complaiant as IP adresses are considered personal information. The question if crash reports are necessary (in the sense of GDPR Art. 6) hasn’t been decided yet AFAIK.
Crash reports really helps developers. A app can crash for various reason sometimes it’s the device itself(not the concern of developers) but mostly some type of bug. We use analytics to prioritise which bug to solve.
For Example:- There are 2 bugs one in share feature another in export. If lots of people use share feature, then we priorities share feature bug
No I understand, I really do. I develop myself. The thing is, if it’s opt-out, then it does not seem to be necessary. If it’s necessary, then you have to show that your interest in bug fixing outweights the users right to privacy.
Prompt after a crash, include verbatim data sent, send only this time or opt in for automatic reporting, IMHO best practice as a user who respects the need for valueable analytics
It takes years to build a good reputation in OSS, and only one dumb thing (like opt-out of personal data) to ruin it.
(Yes, IPs may be considered personal data in that they can be used to identify individuals, and so subject to the GDPR and, potentially, the very high fines associated with that. Unless you’re evil, don’t collect any personal or identifying data unless you absolutely have to, and very triple sure the user knows what you’re sending and why)
I will not use software that has analytics that I have to opt out of if there is an alternative that has analytics off by default with the ability to opt-in.
The psychology surrounding opt-out vs opt-in is very well understood, and choosing to include analytics with an opt-out structure is taking advantage of people to make development potentially easier. Not cool.
Not if it’s opt-in hidden in the settings.
This is at least the only way i share analytics.
I would view it as basically a research ethics question, as in I owe the participants of this experiment to be made fully aware about what I am collecting and why. Giving them the ability to remove their analytics seems obvious as well.
I agree with opt-in policies. The only ethical case for opt-out is if you obtain informed consent ahead of the participation of the user which is de facto opt-in.
I don’t think opt-in is necessarily required ethically but having clear information available about the entire extent of the use of the data and the ability to remove it should be practiced. In the same way I might conduct a human trial on someone who agrees to engage as a participant, but I’m not giving them all of the information at the onset so as to not bias their response. Though I do provide a full summary once I’m finished collecting the data (i.e. the study is over).
As a user, if something like this was implemented in anything I use, as long as it’s opt-in (not opt-out), I would probably agree after I make sure I’m ok with the data I would be sharing.
Opt-out is always an instant “hell no” for me. It feels too much like a pusher.
deleted by creator