NGI Mobifree Grants Awarded for Fair Mobile Software
Congratulations to the first four project teams who have been selected for financial support within the NGI Mobifree pilot programme. The selected projects are Android translation layer, LambdaNative F-Droid integration, OpenAGPS and Termux. Through their work, they will be contributing to the NGI Mobifree pilot which aims to create a fair mobile software ecosystem that prioritises privacy and openness.
About Mobifree
NGI Mobifree is a pilot within the European Commission's Next Generation Internet (NGI) initiative. Through the NGI initiative the EC financially supports the development of free and open source technologies that build a resilient, secure, inclusive and human-centered internet.
NGI Mobifree works to give citizens and organizations more choice in, and access to, human-centred and ethical mobile software. The effort is undertaken by a consortium of 14 partners from across Europe. Part of the pilot's budget is reserved for financing third parties that contribute to Mobifree's goals. The open calls for funding are managed by NLnet foundation
Meet the projects!
Termux
Android terminal app and software distro/run-timeTermux is an Android app that provides a terminal emulator and a GNU/Linux distribution environment with 2000+ packages and executes programs natively on Android host OS/kernel, without any emulation or containerisation. It allows users to locally do most things that can be done on a Linux PC, like program in many languages, use text editors/IDEs, backup files, host websites and servers, and even run a full linux desktop interface.
Under the NGI Mobifree grant the following three improvements to Termux are planned to be implemented: 1) A termux-core library will be created which allows external projects to use Termux execution environment in their own apps. 2) A new APK Library File (APKLF) execution/packaging design will be implemented so that Termux can comply with security restrictions in Android 10 and newer that prevents apps from executing downloaded code. Currently Termux works by being compiled in backward compatibility mode. 3) Package sources will be patched to read paths from environment variables exported by the app, or compiled package files will be patched at install time, rather than relying on hardcoded paths in the package files to Termux rootfs.
▸ For more information see: termux.dev/en/
OpenAGPS
Privacy-friendly, self-hostable location serviceLocation-specific services benefit greatly from location awareness. However, satellite signals are slow and not always reliably available in urban areas (let alone inside building). Hence the need for "assisted GPS", which uses alternate sources such as information based on mobile cell ids to determine location. While it seems obvious for such a capability to be a digital commons, there are no open services reliably providing this information- Mozilla operated something called the Mozilla Location Service, but this was retired recently. This leaves users either unserved or with a huge dependency on a few large vendors that bundle their own location service (based on non-public data sources and dark code) - with the latter users being dependent on the availability of and connectivity to specific machines on the internet. This project aims to provide a self-hostable alternative based on free and public sources, such as Galmon and OpenCellID, which would function independently from the services mentioned earlier.
▸ For more information see: openagps.net/
LambdaNative F-Droid integration
Portable, Productive and Performant App Development with SchemeLambdaNative is an free and open source framework that allows for creation of cross-platform applications, in particular on Android and general desktop operating systems such as Linux, BSD's, OS X or Windows. With LambdaNative, even someone with minimal programming background can create nice applications ranging from basic to advanced, using the Scheme programming language. This makes it very suitable for those that do not have a computer science background but still need to create a custom app - such as most researchers, educators and people working in the public sector.
The aim of the project is to add a LambdaNative pipeline to publish apps on the free and open source F-Droid app store. The second part of the project will create educational materials to teach people how to work with LambdaNative mobile application and how to publish their app.
Android translation layer
Run Android apps on LinuxThe Android Translation Layer project offers the opportunity to use regular Android applications on any regular Linux desktop or mobile device. The idea is that by translating function calls (which would normally handled by Android) to work with equivalent functionality already present on a Linux (or potentially UNIX-based) system, the user is able to run android apps on such a system like they would any other application as-is. This is a different (and potentially more efficient) trajectory than for instance executing Android applications in a container containing essentially a full Android runtime.
▸ For more information see: gitlab.com/android_translation_layer/android_translation_layer
Apply for funding
If you would like to contribute to NGI Mobifree, the fourth open call is currently running with deadline December 1, 2024. (As well as open calls for other programmes, in case you are for instance interested in libre mobile applications beyond Android). Why not send in a proposal today?
Acknowledgements
NGI Mobifree has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No. 101135795.
The results presented above are from the second open call, which had a deadline of June 1st 2024. In total 31 proposals were received in this round, with four proposals selected. For an overview of grantees across past and future calls, check out the overview of running projects.