Alright, so, a follow-up/response to ZWO's press release. Let's start with their factual assertion:
"We strictly follow open-source protocols for the open-source software and libraries used by ASIAIR. Our teams regularly publish open-source development of the relevant software and libraries involved."
To which I say, 'Do you bite your thumb at me, sir?'
And so I downloaded every version of the ASIAir apk/xapk I could find, and a few others for completeness/hilarity.
---
billn@Hadriel:~/Downloads/ASIAIR$ ls *apk
ASIAIR_1.0.4_Apkpure.apk ASIAIR_1.3_Apkpure.apk ASIAIR_1.4.3_Apkpure.xapk ASIAIR_1.6.2_Apkpure.xapk ASIAIR_1.9.1_apkcombo.com.xapk
ASIAIR_1.0.5_Apkpure.apk ASIAIR_1.4.1_Apkpure.apk ASIAIR_1.4.4_Apkpure.apk ASIAIR_1.6_Apkpure.xapk ASIAIR_1.9_Apkpure.apk
ASIAIR_1.0.8_Apkpure.apk ASIAIR_1.4.1_Apkpure.xapk ASIAIR_1.4.4_Apkpure.xapk ASIAIR_1.7_Apkpure.xapk 'ASICAP_2.0.7_(1260_0804).apk'
ASIAIR_1.0.9_Apkpure.apk ASIAIR_1.4.2_Apkpure.apk ASIAIR_1.4_Apkpure.apk ASIAIR_1.8.1_Apkpure.xapk
ASIAIR_1.0.9_Apkpure.xapk ASIAIR_1.4.2_Apkpure.xapk ASIAIR_1.5.3_Apkpure.xapk ASIAIR_1.8.3_Apkpure.xapk
ASIAIR_1.1_Apkpure.apk ASIAIR_1.4.3_Apkpure.apk ASIAIR_1.6.1_Apkpure.xapk ASIAIR_1.8_Apkpure.xapk
---
For anyone that wants to duplicate my findings, the basic disassembly process is below. The first two commands, I didn't include output, for brevity. We're focused on the indi-y package here for context, but we'll talk about some other bits later. Sorry for how lengthy this is, but I'm trying to be complete/transparent here.
---
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d$ unzip ../ASIAIR_1.7_Apkpure.xapk
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d$ unzip com.zwoasi.asiair.apk
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d$ cd assets
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d/assets$ bunzip2 air_pi4
bunzip2: Can't guess original name for air_pi4 -- using air_pi4.out
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d/assets$ tar -xvf air_pi4.out
update_package.sh
deb/
deb/indi_stargo-y_armhf.deb
deb/libcdio-paranoia2_10.2+0.94+2-4_armhf.deb
deb/libsdl2-2.0-0_2.0.9+dfsg1-1+rpt1_armhf.deb
deb/libcdio-cdda2_10.2+0.94+2-4_armhf.deb
deb/libfuse2_2.9.9-1_armhf.deb
deb/exfat-fuse_1.3.0-1_armhf.deb
deb/asiair_armhf.deb
deb/python3-ephem_3.7.6.0-7+b1_armhf.deb
deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
deb/libntfs-3g883_2017.3.23AR.3-3_armhf.deb
deb/indi-y_armhf.deb
deb/nginx_1.11.8_armhf.deb
deb/indi_starbook-y_armhf.deb
deb/indi_eqmod-y_armhf.deb
deb/libavdevice58_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
deb/libgphoto2-6_2.5.27-1_armhf.deb
deb/ntfs-3g_2017.3.23AR.3-3_armhf.deb
deb/fuse_2.9.9-1_armhf.deb
deb/libxss1_1%3a1.2.3-1_armhf.deb
deb/libgphoto2-port12-2.5.27-1_armhf.deb
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d/assets$ cd deb
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d/assets/deb$ ar x indi-y_armhf.deb
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d/assets/deb$ unxz data.tar.xz
tabilln@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.7_Apkpure.xapk.d/assets/deb$ tar -xvf data.tar
./
./lib/
./lib/udev/
./lib/udev/rules.d/
./lib/udev/rules.d/80-dbk21-camera.rules
./lib/udev/rules.d/99-focusers.rules
./lib/udev/rules.d/99-indi_auxiliary.rules
./lib/udev/rules.d/99-vantage.rules
./usr/
./usr/bin/
./usr/bin/indi_aaf2_focus
./usr/bin/indi_arduinost4
./usr/bin/indi_astromech_lpm
./usr/bin/indi_astrometry
./usr/bin/indi_baader_dome
./usr/bin/indi_celestron_gps
./usr/bin/indi_celestron_sct_focus
./usr/bin/indi_deepskydad_af1_focus
./usr/bin/indi_deepskydad_af2_focus
./usr/bin/indi_dmfc_focus
./usr/bin/indi_dsc_telescope
./usr/bin/indi_eval
./usr/bin/indi_fcusb_focus
./usr/bin/indi_flipflat
./usr/bin/indi_gemini_focus
./usr/bin/indi_getprop
./usr/bin/indi_gpusb
./usr/bin/indi_hid_test
./usr/bin/indi_hitecastrodc_focus
./usr/bin/indi_ieq_telescope
./usr/bin/indi_imager_agent
./usr/bin/indi_integra_focus
./usr/bin/indi_ioptronv3_telescope
./usr/bin/indi_joystick
./usr/bin/indi_lacerta_mfoc_focus
./usr/bin/indi_lakeside_focus
./usr/bin/indi_lx200basic
./usr/bin/indi_lx200generic
./usr/bin/indi_lynx_focus
./usr/bin/indi_manual_wheel
./usr/bin/indi_mbox_weather
./usr/bin/indi_meta_weather
./usr/bin/indi_microtouch_focus
./usr/bin/indi_moonlite_focus
./usr/bin/indi_moonlitedro_focus
./usr/bin/indi_nfocus
./usr/bin/indi_nightcrawler_focus
./usr/bin/indi_nstep_focus
./usr/bin/indi_onfocus_focus
./usr/bin/indi_openweathermap_weather
./usr/bin/indi_optec_wheel
./usr/bin/indi_paramount_telescope
./usr/bin/indi_pegasus_ppb
./usr/bin/indi_pegasus_upb
./usr/bin/indi_perfectstar_focus
./usr/bin/indi_pmc8_telescope
./usr/bin/indi_pyxis_rotator
./usr/bin/indi_qhycfw2_wheel
./usr/bin/indi_qhycfw3_wheel
./usr/bin/indi_quantum_wheel
./usr/bin/indi_robo_focus
./usr/bin/indi_rolloff_dome
./usr/bin/indi_scopedome_dome
./usr/bin/indi_script_dome
./usr/bin/indi_script_telescope
./usr/bin/indi_sestosenso_focus
./usr/bin/indi_setprop
./usr/bin/indi_siefs_focus
./usr/bin/indi_simulator_ccd
./usr/bin/indi_simulator_detector
./usr/bin/indi_simulator_dome
./usr/bin/indi_simulator_focus
./usr/bin/indi_simulator_gps
./usr/bin/indi_simulator_guide
./usr/bin/indi_simulator_sqm
./usr/bin/indi_simulator_telescope
./usr/bin/indi_simulator_weather
./usr/bin/indi_simulator_wheel
./usr/bin/indi_skycommander_telescope
./usr/bin/indi_skysafari
./usr/bin/indi_skywatcherAltAzMount
./usr/bin/indi_skywatcherAltAzSimple
./usr/bin/indi_smartfocus_focus
./usr/bin/indi_snapcap
./usr/bin/indi_sqm_weather
./usr/bin/indi_star2000
./usr/bin/indi_steeldrive_focus
./usr/bin/indi_synscan_telescope
./usr/bin/indi_synscanlegacy_telescope
./usr/bin/indi_tcfs_focus
./usr/bin/indi_temma_telescope
./usr/bin/indi_trutech_wheel
./usr/bin/indi_usbdewpoint
./usr/bin/indi_usbfocusv3_focus
./usr/bin/indi_v4l2_ccd
./usr/bin/indi_vantage_weather
./usr/bin/indi_watchdog
./usr/bin/indi_watcher_weather
./usr/bin/indi_weather_safety_proxy
./usr/bin/indi_wunderground_weather
./usr/bin/indi_xagyl_wheel
./usr/bin/indiserver
./usr/lib/
./usr/lib/arm-linux-gnueabihf/
./usr/lib/arm-linux-gnueabihf/indi/
./usr/lib/arm-linux-gnueabihf/indi/MathPlugins/
./usr/lib/arm-linux-gnueabihf/indi/MathPlugins/libindi_SVD_MathPlugin.so
./usr/lib/arm-linux-gnueabihf/libindiAlignmentDriver.so.1.7.8
./usr/lib/arm-linux-gnueabihf/libindidriver.so.1.7.8
./usr/lib/arm-linux-gnueabihf/libindilx200.so.1.7.8
./usr/lib/arm-linux-gnueabihf/pkgconfig/
./usr/lib/arm-linux-gnueabihf/pkgconfig/libindi.pc
./usr/share/
./usr/share/indi/
./usr/share/indi/drivers.xml
./usr/share/indi/indi_tcfs_sk.xml
./usr/bin/indi_eq500x_telescope
./usr/bin/indi_ioptronHC8406
./usr/bin/indi_lx200_10micron
./usr/bin/indi_lx200_16
./usr/bin/indi_lx200_OnStep
./usr/bin/indi_lx200ap
./usr/bin/indi_lx200ap_experimental
./usr/bin/indi_lx200ap_gtocp2
./usr/bin/indi_lx200autostar
./usr/bin/indi_lx200classic
./usr/bin/indi_lx200fs2
./usr/bin/indi_lx200gemini
./usr/bin/indi_lx200gotonova
./usr/bin/indi_lx200gps
./usr/bin/indi_lx200pulsar2
./usr/bin/indi_lx200ss2000pc
./usr/bin/indi_lx200zeq25
./usr/bin/indi_tcfs3_focus
./usr/lib/arm-linux-gnueabihf/libindiAlignmentDriver.so
./usr/lib/arm-linux-gnueabihf/libindiAlignmentDriver.so.1
./usr/lib/arm-linux-gnueabihf/libindidriver.so
./usr/lib/arm-linux-gnueabihf/libindidriver.so.1
./usr/lib/arm-linux-gnueabihf/libindilx200.so
./usr/lib/arm-linux-gnueabihf/libindilx200.so.1
</code>
Rinse and repeat for each of the APK/XAPK in my collection. There's minor variance for early versions, which were for the Raspberry Pi3 of the original model, so instead the update package being asiair_pi4 or asiair_pi3, it was just 'air'.
The structure changed a little at 1.8, with the introduction of the patch packages:
<code>
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.8.3_Apkpure.xapk.d/Android/obb/com.zwoasi.asiair$ cd patch/
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.8.3_Apkpure.xapk.d/Android/obb/com.zwoasi.asiair/patch$ ls
air_pi3 air_pi4 readme.md web
---
Now, as I've mentioned in previous posts, ZWO ships a 1.7.8 version indiserver. From the 1.9 control for their indi-y package:
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.9.1_apkcombo.com.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb$ more control
Package: libindi1-y
Priority: extra
Section: checkinstall
Installed-Size: 17268
Maintainer: root@raspberrypi
Architecture: armhf
Version: 1.7.8-21
Provides: libindi
Description: Instrument-Neutral Device Interface library -- shared library
Replaces: libindi-plugins, libindi0, libindialignmentdriver1, libindidriver1, indi-bin, libindi-data, libindi1
Conflicts: libindi-plugins, libindi0, libindialignmentdriver1, libindidriver1, indi-bin, libindi-data, libindi1
Depends: libc6,libgsl23,libgslcblas0,libstdc++6,libgcc1,libusb-1.0-0,libnova-0.16-0,libcfitsio7,zlib1g,libjpeg62-turbo,libudev1,libcurl3-gnutls,libbz2-1.0,li
bnghttp2-14,libidn2-0,librtmp1,libssh2-1,libpsl5,libnettle6,libgnutls30,libgssapi-krb5-2,libkrb5-3,libk5crypto3,libcom-err2,libldap-2.4-2,libunistring2,libho
gweed4,libgmp10,libgcrypt20,libp11-kit0,libtasn1-6,libkrb5support0,libkeyutils1,libsasl2-2,libgpg-error0,libffi6,libcurl4,libssl1.1
ZWO's published repo contains all of 2 commits, none of which show code changes. Looking at just the indiserver binary across all versions, we can see their basic statement of strictly following source release requirements is.. specious:
billn@Hadriel:~/Downloads/ASIAIR$ find . -name indiserver | xargs md5sum
b80e8bb9e37d95a837805d139c471067 ./ASIAIR_1.0.8_Apkpure.apk.d/assets/root/usr/bin/indiserver
aab8e0017588770a4958c04f0ba24c51 ./ASIAIR_1.0.9_Apkpure.apk.d/assets/deb/usr/bin/indiserver
7b4b732840ab35f2c75569b75a60d65f ./ASIAIR_1.3_Apkpure.apk.d/assets/deb/usr/bin/indiserver
af71777c5914e64015151f7daf66e453 ./ASIAIR_1.4.1_Apkpure.apk.d/assets/deb/usr/bin/indiserver
af71777c5914e64015151f7daf66e453 ./ASIAIR_1.4.2_Apkpure.apk.d/assets/deb/usr/bin/indiserver
af71777c5914e64015151f7daf66e453 ./ASIAIR_1.4.3_Apkpure.apk.d/assets/deb/usr/bin/indiserver
876213b75dea10455398ee3ac62e5bc4 ./ASIAIR_1.4.4_Apkpure.apk.d/assets/deb/usr/bin/indiserver
f9395ea7665dafefc96b22d9d831b14f ./ASIAIR_1.4_Apkpure.apk.d/assets/deb/usr/bin/indiserver
7ee6f24a65e0a0fea7a4f8fe8dc0f9e0 ./ASIAIR_1.5.3_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
7ee6f24a65e0a0fea7a4f8fe8dc0f9e0 ./ASIAIR_1.6.1_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
7ee6f24a65e0a0fea7a4f8fe8dc0f9e0 ./ASIAIR_1.7_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
7ee6f24a65e0a0fea7a4f8fe8dc0f9e0 ./ASIAIR_1.8.3_Apkpure.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/usr/bin/indiserver
7ee6f24a65e0a0fea7a4f8fe8dc0f9e0 ./ASIAIR_1.8_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
7ee6f24a65e0a0fea7a4f8fe8dc0f9e0 ./ASIAIR_1.9.1_apkcombo.com.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/usr/bin/indiserver
billn@Hadriel:~/Downloads/ASIAIR$ find . -name indiserver | xargs ls -al
-rwxrwxrwx 1 billn billn 53428 Dec 5 2018 ./ASIAIR_1.0.8_Apkpure.apk.d/assets/root/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 53428 Mar 3 2019 ./ASIAIR_1.0.9_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 53428 Jun 20 2019 ./ASIAIR_1.3_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167772 Feb 3 2020 ./ASIAIR_1.4.1_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167772 Mar 11 2020 ./ASIAIR_1.4.2_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167772 Mar 11 2020 ./ASIAIR_1.4.3_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167820 Apr 15 2020 ./ASIAIR_1.4.4_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167864 Jan 8 2020 ./ASIAIR_1.4_Apkpure.apk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167868 Jan 14 2021 ./ASIAIR_1.5.3_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167868 May 16 2021 ./ASIAIR_1.6.1_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167868 May 16 2021 ./ASIAIR_1.7_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167868 May 16 2021 ./ASIAIR_1.8.3_Apkpure.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167868 May 16 2021 ./ASIAIR_1.8_Apkpure.xapk.d/assets/deb/usr/bin/indiserver
-rwxrwxrwx 1 billn billn 167868 Oct 21 2021 ./ASIAIR_1.9.1_apkcombo.com.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/usr/bin/indiserver
So let's go look at their repo at
github.com/ZWODevTeam/indilib, which they mention in their press release. I downloaded a master/trunk 1.7.8 tarball, and unpacked it over a clone of ZWO's git tree, expecting to run 'git diff' to see differences.
I encourage you to duplicate it for yourself, to really appreciate what comes next. If you're familiar with indi's development history, the eagle eyed among you will notice something in ZWO's tree that isn't in the master/trunk for 1.7.8.
billn@Hadriel:~/indi$ ls
indi-1.7.8 indilib v1.7.8.tar.gz
billn@Hadriel:~/indi$ find . -name fcusb*
./indilib/libindi/drivers/focuser/fcusb.cpp
./indilib/libindi/drivers/focuser/fcusb.h
ZWO's statement that they strictly follow the licensing requirements for open source libraries used in their products, in my opinion, is categorically false. Just on binary details alone, we can see seven unique indiserver binaries, which means at a minimum, we should see 7 release tags in their github repo.
Whatever this tree they published is, it's.. wrong. There are things in this tree that aren't part of 1.7.8, so I'd hazard a guess that they'd been cherry picking updates over time and merging the changes themselves. For the indi-y package itself, we can see size changes over time that indicate other changes,
likely drivers and other libs.
billn@Hadriel:~/Downloads/ASIAIR$ find . -name indi-y* | xargs ls -al
-rwxrwxrwx 1 billn billn 1277954 Mar 21 2019 ./ASIAIR_1.0.9_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 1278576 Apr 23 2019 ./ASIAIR_1.1_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 1336098 Sep 10 2019 ./ASIAIR_1.3_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8931216 Feb 3 2020 ./ASIAIR_1.4.1_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8932744 Mar 11 2020 ./ASIAIR_1.4.2_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8932744 Mar 11 2020 ./ASIAIR_1.4.3_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8934832 Jun 15 2020 ./ASIAIR_1.4.4_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 9396856 Jan 8 2020 ./ASIAIR_1.4_Apkpure.apk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8946908 Jan 14 2021 ./ASIAIR_1.5.3_Apkpure.xapk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8946724 May 17 2021 ./ASIAIR_1.6.1_Apkpure.xapk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8946724 May 17 2021 ./ASIAIR_1.7_Apkpure.xapk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8946724 May 17 2021 ./ASIAIR_1.8.3_Apkpure.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8946724 May 17 2021 ./ASIAIR_1.8_Apkpure.xapk.d/assets/deb/indi-y_armhf.deb
-rwxrwxrwx 1 billn billn 8974304 Jun 16 2022 ./ASIAIR_1.9.1_apkcombo.com.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/indi-y_armhf.deb
But wait, there's more!
billn@Hadriel:~/Downloads/ASIAIR$ find . -name *ffmp*
./ASIAIR_1.5.3_Apkpure.xapk.d/assets/deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
./ASIAIR_1.5.3_Apkpure.xapk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.5.3_Apkpure.xapk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.5.3_Apkpure.xapk.d/lib/x86/libijkffmpeg.so
./ASIAIR_1.5.3_Apkpure.xapk.d/lib/x86_64/libijkffmpeg.so
./ASIAIR_1.6.1_Apkpure.xapk.d/assets/deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
./ASIAIR_1.6.1_Apkpure.xapk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.6.1_Apkpure.xapk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.7_Apkpure.xapk.d/assets/deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
./ASIAIR_1.7_Apkpure.xapk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.7_Apkpure.xapk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.8.3_Apkpure.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
./ASIAIR_1.8.3_Apkpure.xapk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.8.3_Apkpure.xapk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.8.3_Apkpure.xapk.d/lib/x86/libijkffmpeg.so
./ASIAIR_1.8.3_Apkpure.xapk.d/lib/x86_64/libijkffmpeg.so
./ASIAIR_1.8_Apkpure.xapk.d/assets/deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
./ASIAIR_1.8_Apkpure.xapk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.8_Apkpure.xapk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.8_Apkpure.xapk.d/lib/x86/libijkffmpeg.so
./ASIAIR_1.8_Apkpure.xapk.d/lib/x86_64/libijkffmpeg.so
./ASIAIR_1.9.1_apkcombo.com.xapk.d/Android/obb/com.zwoasi.asiair/patch/deb/ffmpeg_7%3a4.1.4-1+rpt1~deb10u1_armhf.deb
./ASIAIR_1.9.1_apkcombo.com.xapk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.9.1_apkcombo.com.xapk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.9.1_apkcombo.com.xapk.d/lib/x86/libijkffmpeg.so
./ASIAIR_1.9.1_apkcombo.com.xapk.d/lib/x86_64/libijkffmpeg.so
./ASIAIR_1.9_Apkpure.apk.d/lib/arm64-v8a/libijkffmpeg.so
./ASIAIR_1.9_Apkpure.apk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASIAIR_1.9_Apkpure.apk.d/lib/x86/libijkffmpeg.so
./ASIAIR_1.9_Apkpure.apk.d/lib/x86_64/libijkffmpeg.so
./ASICAP_2.0.7_(1260_0804).apk.d/lib/arm64-v8a/libijkffmpeg.so
./ASICAP_2.0.7_(1260_0804).apk.d/lib/armeabi-v7a/libijkffmpeg.so
./ASICAP_2.0.7_(1260_0804).apk.d/lib/x86/libijkffmpeg.so
./ASICAP_2.0.7_(1260_0804).apk.d/lib/x86_64/libijkffmpeg.so
You eagle-eyed folk will notice that the file paths in this output aren't just for the ASIair gadget, but also include the tablet app. libijkffmpeg is an ffmpeg derived fork.
"FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later. However, FFmpeg incorporates several optional parts and optimizations that are covered by the GNU General Public License (GPL) version 2 or later. If those parts get used the GPL applies to all of FFmpeg.."
But wait..
billn@Hadriel:~/Downloads/ASIAIR/ASIAIR_1.9.1_apkcombo.com.xapk.d/Android/obb/com.zwoasi.asiair/main/SkyMap/data$ ls -al
total 28
drwxrwxrwx 1 billn billn 512 Jul 1 2022 .
drwxrwxrwx 1 billn billn 512 Jul 1 2022 ..
drwxrwxrwx 1 billn billn 512 Jul 1 2022 font
-rwxrwxrwx 1 billn billn 26030 Jul 20 2021 planets.ini
drwxrwxrwx 1 billn billn 512 Jul 1 2022 shaders
drwxrwxrwx 1 billn billn 512 Jul 1 2022 skydata
drwxrwxrwx 1 billn billn 512 Jul 1 2022 symbols
-rwxrwxrwx 1 billn billn 286 Jul 1 2021 symbols.png
drwxrwxrwx 1 billn billn 512 Jul 1 2022 textures
-rwxrwxrwx 1 billn billn 12 May 6 2022 ver.txt
That's Stellarium Web Engine, which is Affero GPL3 licensed:
github.com/Stellarium/stellarium-web-eng...LICENSE-AGPL-3.0.txt
I emailed the Stellarium gang about it, they had no idea ZWO was using it, which means they didn't have a licensing agreement outside of the GPL.
To leave it all to artistry, open up your ASIair application, find the 'Credits' page where they list the open source libraries, with links to show relevant licenses and homepage/source repos.
Pay close attention to which link expands when you click on libindi and Stellarium. The expansion incorrectly shows the libgphoto license.
As an exercise to the reader, I invite you to crack open the APK for the AM3/AM5 mounts. They also contain Stellarium Web Engine. Sitting in ZWO's presentation at NEAF about their new little scope, the Seestar, I leaned over and asked their lead developer, Larry Ji, if the Seestar uses the same SkyMap as the ASIAir and Am5. His response was an emphatic 'Yes', likely because he had no idea who I was.
In summary:
The ASIair gadget is GPL tainted (with the exception of the guider), but there is no public repo for the imager binary.
The ASIair's plate solver comes from astrometry.net (GPL), for which they've published a source tree, after being served notice of non-compliance.
The ASIair's star removal tool comes from the Siril kit (GPL), but there is no public repo available.
The libindi repo is missing several revisions worth of commit history.
The ASIAir, ASICap, ASIMount applications are AGPL3.0 tainted, but no public repos are available.
'Strict', they say. 'Rumors', 'allegations', they say.
Bullshit, I say.