Android’s meteoric rise in popularity is due, in no small part, to the fact it is an open source project. Any manufacturer in the world is free to grab the latest Android source code, modify it however they wish, and redistribute it in binary form on their devices. This gave rise to the myriad of modified Android builds we see on devices from manufacturers such as HTC, Motorola, and Samsung. Some may call this fragmentation, and others may even call it one of Android’s downfalls, but in truth it is simply how open source works.
Knowing this, you could be excused if you believed that the same open source logic applied to the applications which run on Android. Surely, if open source made the operating system as popular as it has become, the developers of individual applications would follow suit?
Unfortunately, that has not been the case. The vast majority of applications available for Android are not open source, and as we have previously discussed, the existing application marketplaces don’t give you any idea of which applications are open and which are closed. For those of us who prefer free and open source software, if can be very difficult to sort things out.
Enter F-Droid, an application repository for Android featuring only free and open source software.
Founded by Ciaran Gultnieks, F-Droid is an Android repository designed to respect the privacy and rights of its users. Beyond only including free and open source software, F-Droid doesn’t track devices which access the service, nor individual downloads. Users don’t need an account to use F-Droid, and they don’t even need to install the client side software (though it helps).
F-Droid even goes so far as to filter out applications which include, as F-Droid calls them, “AntiFeatures”. These are traits which don’t actually violate the free software license the applications are released under, but are the kind of things that free software users usually take offense to. The list of AntiFeatures includes:
- User or device tracking
- Promotion of non-free software
- Dependence on a non-free network or service
- Dependence on another non-free application
While applications with AntiFeatures can be included in the F-Droid repository (assuming, of course, they are released under a free software license), they won’t be shown to end users unless they specifically ask to see them.
The end result is that, unfortunately, the list of 100% F-Droid approved applications is quite small when compared to what the Play Store has to offer. But this is a limitation of the available software for Android, and certainly not the fault of F-Droid. If anything, the precious few applications that make it through F-Droid’s gauntlet should serve as the benchmark which other developers measure their software against.
Of course, at the end of the day, a repository which only includes free and open software and which filters out applications which may not fully respect the end users freedoms isn’t that much of an accomplishment. Indeed, any of the existing Android marketplaces could do the same thing if they were so inclined.
Which is exactly why F-Droid takes the whole concept one step farther.
When using binary packages for open source software, there is always an element of risk. How can you be absolutely sure the binary package you install is identical to the source which was released? Did the developer add some code in before compilation? Did the third party who compiled this build tamper with it?
F-Droid’s answer to this problem is very simple. They build the packages themselves.
That’s right, when you download a binary package from F-Droid (in all but a few cases) it’s guaranteed to be built from the publicly available source code. This is an absolutely incredible commitment to the ideals behind free and open source software, and represents considerable effort on the part of F-Droid. It would be infinitely easier for F-Droid to simply redistribute the binary builds that are made available in the other markets, but there would always be that “what if“; which for the F-Droid team, simply isn’t acceptable.
As mentioned previously, the F-Droid client isn’t actually necessary to use the service, you can simply download the APK files directly. That said, using the client makes it easier to browse the repository and handle application updates. The client application itself is, naturally, open source (licensed under GPLv2), and faithfully follows all the standards that F-Droid holds other applications up to: no tracking, no ads, and no dependencies.
The only requirements for the F-Droid client is that you set your device up to allow out of Market application installations, though of course you would have to do that to install the APKs directly as well.
As you may have guessed if you’ve read this far, the F-Droid team doesn’t exactly approve of the existing Android Play Store. So you won’t be able to find their client application via official channels. If you want to install F-Droid on your device, you can either grab it directly at:
Or use the following QR code:
Stay tuned to “The Powerbase” for future coverage of F-Droid, including an interview with founder Ciaran Gultnieks.