The build on F-Droid fails because AnkiDroid uses Google analytics:
ERROR: Found usual suspect 'google.*analytics' at line 179 at AnkiDroid/build.gradle
It would be great if you could add a new build flavor that only includes free libraries, so AnkiDroid can still be downloaded on F-Droid.
Enter an [ x ] character to confirm the points below:
[ x ] I have read the support page and am reporting a bug or enhancement request specific to AnkiDroid
[ x ] I have checked the manual and the FAQ and could not find a solution to my issue
[ x ] I have searched for similar existing issues here and on the user forum
Very interesting - I like F-Droid and use it myself, I'm also the person that added the optional analytics here. The intent is for them to be opt-in and not affect the free-ness - I even made and used a provably open-source library to interface with it so not to mess up the license. Didn't realize F-Droid would ban even the string.
I'll look into this and see what I can do to get it back on F-Droid. In the meantime If you wanted 2.9.x you can snag the APK from our releases page and I promise (or you can inspect the code) if you don't opt-in google won't know you're there.
Thanks Mike.
If it does turn out that we're using a closed library somewhere, then AFAIK
we will be forced to remove analytics, in order to comply with the GPL
licence.
On Wed., 23 Oct. 2019, 10:49 pm Mike Hardy, notifications@github.com
wrote:
Very interesting - I like F-Droid and use it myself, I'm also the person
that added the optional analytics here. The intent is for them to be opt-in
and not affect the free-ness - I even made and used a provably open-source
library to interface with it so not to mess up the license. Didn't realize
F-Droid would ban even the string.I'll look into this and see what I can do to get it back on F-Droid. In
the meantime If you wanted 2.9.x you can snag the APK from our releases
page and I promise (or you can inspect the code) if you don't opt-in google
won't know you're there.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ankidroid/Anki-Android/issues/5569?email_source=notifications&email_token=AAVQBYWBOLBPVXN5DIRIZBDQQBI5RA5CNFSM4JEAD3S2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECBPHIA#issuecomment-545452960,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAVQBYRDE53RXNKH4PBCTQDQQBI5RANCNFSM4JEAD3SQ
.
absolutely - as that's the whole point of the analytics client I took under wing it should not be possible but of course investigation beats speculation. I'll report back as soon as I can
I guess F-Droid does a simple string search and finds this line:
So it is probably just the name of the library that contains Google analytics. Maybe they have white-listed the specific library but AnkiDroid seems to use a fork. This is just a wild guess, though. Even if it was white-listed, you would still need to add the tracking anti-feature to F-Droid, I think: https://f-droid.org/wiki/page/AntiFeatures
ha! thanks for digging in with more research, I'll keep pursuing it as well. I'm in control of that namespace so I could publish it under a different name pretty easily.
As I read the AntiFeatures website, a disabled tracking library is still an anti-feature. Even if the different namespace could make the F-Droid build pass, I think it would be honest to have tracking listed at F-Droid.
The F-Droid app itself uses ACRA and does not specify this as an anti-feature. Maybe this is related to the fact that everytime it sends something, the user needs to confirm first. Your tracking code seems to send data in the background (if enabled). Not sure if that's okay with the people at F-Droid.
Whatever we do it will be transparent and opt-in yes, and if that's not possible on f-droid I'll try to think of something. We also use ACRA but there's the ability to send reports automatically after the first one (a default send after opt-in similar style to our analytics) so philosophically the same anyway. It's in the queue.
I just asked the F-Droid people how they feel about opt-in tracking.
The F-Droid people have not responded decisively one way or the other but I am on stand-by to do the needful so we can post new versions there.
I just followed up over there now that it's Monday. I'd like to see it resolved and by my analysis of their policy it's actually a regex failure on their fault. I put that idea forward and we'll see.
Things are moving forward with F-Droid. They agree it's a false positive, which is/was the only blocker there.
I proposed a change for that: https://gitlab.com/fdroid/fdroidserver/merge_requests/688
In anticipation of an eventual agreement on regex changes I further proposed metadata changes that add transparency on our data use, and re-enables 2.9.1 https://gitlab.com/fdroid/fdroiddata/merge_requests/5857
They accepted my PR to eliminate false positives in their APK processing, we have no outstanding blocks. One more PR https://gitlab.com/fdroid/fdroiddata/merge_requests/5857 to merge that will re-enable things and that's that. We have no more action items here that I'm aware of, but we can always re-open if it doesn't resolve itself now
metadata PR is merged now so 2.9.x should be unblocked. It appears their automated update checking / build infrastructure may take 1-2 days to chew through all their apps, see we have an update that is now allowed, and build+sign+publish it. @ByteHamster if you want to pay attention on that, you should see it soon
The build now succeeded, so the update will be available soon. Thanks a lot!
https://f-droid.org/wiki/page/com.ichi2.anki/lastbuild_20901300
Great to hear! Wasn't my intention to blow even one thing up with analytics so happy to shepherd that through of course. Cheers @ByteHamster