Apks with non-free components, AntiFeatures etc part 4
This is a follow-up to #2289 (closed)
For some libraries I was/am not sure if AntiFeatures suffice or if they are "show-stoppers" – so I need confirmation first. One of those examples is Google's BillingClient (/com/android/billingclient
). My analysis so far: while v2 was using AIDL and thus "free" code could be used to access non-free APIs, v3 dropped support for AIDL. Quoting:
Accessing Google Play's billing system using AIDL is deprecated, and all integrations must use the Google Play Billing Library in the future.
So at least from that point on (deadline 2021-11-01 for updates, 2021-08-02 for new apps), it definitely is proprietary. Reading on that article, you'll see that exactly that is what com.android.billingclient
is. So unless someone can come up with its code and tell the license, we must assume it's proprietary – part of Google Play. I could find neither the source code, nor any mention of the license. Maven reports it as Android Software Development Kit License, which is not even mentioned by SPDX, thus obviously not OSI approved, thus non-free – and thus a no-go for F-Droid. So it seems I shall add NonFreeDep in the library definitions.
-
Am I correct with that, and do we consider com.android.billingclient
entirely non-free and thus a show-stopper? Related: !8331 (merged)
Pierre points out it's under the Android Software Development Kit License and thus not free (it e.g. does not permit to make derivative works), hence it would be a show-stopper -
Similar case: /com/google/api/client
. Homepage mentions no license (except for signing the CLA), Github has only "samples" => NonFree aka "show-stopper"? Or justNonFreeNet
?
Again a finding by Pierre: Maven reports it's Apache-2.0, soNonFreeNet
should suffice -
Does /com/firebase/jobdispatcher
belong to Firebase directly, thus being considered entirely non-free and again a show-stopper?
Again an Apache license it seems – and meanwhile replaced by WorkManager. But while this sounds "OK" by itself, it seems not – as the README.md details: "This library uses the scheduling engine inside Google Play services(formerly the GCM Network Manager component)", so it at least seems to requireNonFreeDep
.
Still looking for confirmation/arguments on how to deal with each of those.
/com/google/api/client
-
com.ames.books
7 (the only build)- has NonFreeNet
- lastver 5/2018 (ours) from pre-2018; last tag from 2017, last commit 2019
-
compile 'com.google.http-client:google-http-client-android:1.22.0'
.. https://github.com/googleapis/google-http-java-client => Apache 2.0 - => should be OK?
-
com.axelby.podax
15,16,18- all pretty old builds
- app already archived
- also affected: 28,33,38
- 42+ no longer have it
- => disable 15-38?
-
com.google.android.maps.mytracks
23- 23 is only active build
- updates disabled
- entire app is disabled already because of this
- => nothing to do
-
com.twofours.surespot
– see /com/google/android/gcm -
free.rm.skytube.oss
6,7,,8,910,11,12,13,27,28,29- also YT Data API (/com/google/api/services/youtube) => google-http-client-android => Apache 2.0
- google-http-client-android => Apache 2.0
- => should be OK with NonFreeNet?
-
org.bottiger.podcast
377,378,380,390,424-
apply plugin: 'com.google.gms.google-services'
(patched out in build recipe)
-
-
org.tasks
531,632,633,645- 531 also /com/android/billingclient & /com/android/vending
- 632+ also /com/mapbox/android/telemetry
- all pretty old builds, so simply disable? => done for those with Google API client; still open: Telemetry
/com/firebase/jobdispatcher
-
com.zegoggles.smssync
1560+- 1557+ also
/com/android/billingclient
&/com/android/vending
- lastver 4/2018, upstream still active (but no new tags)
- smali of 1576: doesn't look like a stub
- => added NonFreeDep
- 1557+ also
-
me.zeeroooo.materialfb
54- all versions also use Facebook SDK => Tracking (not yet set)
- 59+ no longer have Firebase nor Facebook SDK
- => disable 54, done
- 47,49,50: old versions w/ Facebook SDK ???
-
openfoodfacts.github.scrachx.openbeauty
43,44,46,317,322,325 .. 328 (latest we have)- ???
-
openfoodfacts.github.scrachx.openfood
43,44,46,317,322,325 .. 328 (latest we have)- ???
-
org.openpetfoodfacts.scanner
317,322,325 .. 328 (latest we have)- ???
(note that updates for openfoodfacts apps are disabled due to failing builds. Fix is currently in the works, need to check again then)