The most popular way to contribute to the project is downloading Firefox for Android and enabling the MLS contribution option in its setting, as detailed below.
Firefox for Android
- Firefox for Android includes a way to contribute data and enhance the service. You can enable the feature by opening the Settings menu and in the Privacy section under Data Choices check the Mozilla Location Services option.
- Once enabled data will be send to the service anonymously. Enabling this option has virtually no impact on battery life. Data is only send back when being connected to a WiFi network, so there is no impact on a cell data plan.
Mozilla Stumbler for Android
- Mozilla Stumbler is an open-source wireless network scanner that collects GPS and wireless network data for our crowd-sourced location database.
- Available in the Google Play Store
- Available on F-Droid
- GitHub code repository
- Firefox Desktop allows you to use the service instead of the default location provider. In about:config change the geo.provider.network.url setting to:
- Some Firefox Desktop versions distributed by third-parties, especially Linux distros use MLS by default. Currently this includes Firefox for Fedora, Firefox on ArchLinux, Firefox for PacBSD / ArchBSD, Firefox for OpenSolaris and Firefox for Debian (Iceweasel).
- libstumbler is an embeddable Android library supporting both stumbling and location lookups.
- Ichnaea NLP Backend is a UnifiedNlp backend that uses MLS to resolve locations.
- Mapzen has shown interest in integrating MLS into their LOST library in the future.
- Network Cell Info (Lite) is an Android application for cell network monitoring, uses MLS and can be configured to optionally contribute data back to MLS.
- Tower Collector lets you contribute to OpenCellID.org and Mozilla Location Services projects by uploading GPS locations of seen GSM/UMTS/LTE/CDMA cell towers
- GeoClue is a D-Bus service that provides location information, using for example GPS daemons but also MLS.
- KDE Plasma Desktop uses MLS to get country level and precise geolocation information.
Apple's iOS is a closed environment, which limits the kinds of applications you can develop. Apps need access and gather data about cell and WiFi networks, but Apple purposefully prevents access to this information. There is no way to even ask the user to allow this collection, the operating system itself just doesn't expose this information to app developers in the form of API's.
Same story as iOS, there are no APIs available to get at the required cell ids for our purposes.