The F-Droid free app repository for Android

F for Freedom

Article from Issue 179/2015

The F-Droid project provides an easy way to browse and install open source Android apps.

Finding open source apps in the Google Play Store is like trawling the sea floor with a sieve: You can occasionally find something useful, but it requires perseverance and time. However, if you want to supplement or replace proprietary apps on your Android device with open source software, you'll appreciate F-Droid [1], a combination of dedicated client app and software repository featuring open source apps for the Android platform.

Although F-Droid is often called an alternative to the Google Play Store, it isn't exactly a drop-in replacement. Of course, if you're using a device without the Google Play Store on it, F-Droid is probably your only option for installing third-party apps (besides side-loading APK packages manually). In reality, F-Droid serves better as a complementary repository of open source software. The F-Droid client app does a few things better than its Google counterpart. F-Droid gives you access to previous versions of an application, along with its development and unstable releases. The availability to access older versions can be particularly useful for owners of obsolete but still usable Android devices. The client also offers direct links to the app's website, source code, and issue tracker.

F-Droid is not without its shortcomings, however. The web interface provides only rudimentary functionality for finding and discovering apps (Figure 1). App descriptions in the F-Droid client interface lack screenshots, and there is no way to add ratings and comments. Additionally, the currently available selection of apps in F-Droid is nowhere near the embarrassment of riches available in the Google Play Store.

Figure 1: F-Droid features a spartan interface.

Getting Started with F-Droid

The F-Droid client app acts as a portal for browsing and installing open source apps available in the F-Droid repository. So, the first step is to install the client on your Android device. The F-Droid app is not available in the Google Play Store, and you need to download and install it manually. Before you do that, switch to the Settings | Security section on your Android device and enable the Unknown sources option. This allows you to install third-party APK packages. Then, download the latest version of the F-Droid app on your Android device and tap on the downloaded APK package to install it. Once the app has been installed, launch it and tap the Update Repos button to fetch the latest package info.

By default, the client app uses only the official F-Droid repository, but it does support other channels, too. To enable them, switch to the Repositories section and enable the desired repositories. There are not many (if any) third-party F-Droid repositories yet, but if you happen to know one, you can add it manually to the client using the New Repository button.

All apps in F-Droid are organized into categories, such as Internet, Development, System, and so on. As you would expect, there is also a search tool for finding specific apps, so browsing and finding apps in F-Droid is not particularly difficult. When you've found the app you like, tap on it to view its brief description, relevant links, required permissions, and list of available versions (Figure 2). Installing the latest version of the app is as easy as tapping the Install button. Once the app has been installed, you can launch it directly from F-Droid by tapping the Run button. You can uninstall the app at any time using the Uninstall button.

Figure 2: For each app, F-Droid provides key info and links.

Want to share the app with others? F-Droid has several options for that. The Share button lets you share the app's link on the F-Droid website using Android's sharing capabilities. Instead of sharing a link, you can use the client to make specific apps available to other Android users on the same network. This effectively turns the F-Droid app on your device into an instant mini app store. To activate this feature, tap Swap apps and press the Start a Swap button (Figure 3). Select the desired apps, join the appropriate network, and tap Next to activate swapping. This generates a QR code and a URL that other users can use to access and install the shared apps. Finally, you can send a specific app directly to another user via Bluetooth using the appropriate command on the app's page.

Figure 3: The Swap apps feature makes it possible to exchange apps between devices.

It's easy to figure out how to use F-Droid, so you can start installing open source apps almost immediately. F-Droid currently hosts around 1,500 apps. It's a far cry from the Google Play Store's selection, but quite a few excellent open source apps are available on F-Droid. Which apps to install depends on your specific needs and requirements, but there are a handful of open source apps that you might find useful in most situations.

Internet and Productivity Apps

Face it, an Android device without a browser is borderline useless, and although Mozilla Firefox for Android is available through F-Droid, you might want to give the Lightning browser [2] a try. Thanks to its modest footprint and resource requirements, this browser lives up to its name: It is fast even on older devices (Figure 4).

Figure 4: Lightning is a fast and lightweight browser.

Lightweight doesn't mean light on features, however, and the browser offers several useful features and creature comforts. Lightning also supports tabs, bookmarks, and incognito mode. The browser's Reader Mode feature can come in useful for reading pages with complex layouts, while the built-in ad blocker does a good job of removing pesky ads (Figure 5). The browser also boasts several privacy and security features, including the ability to block third-party cookies, disable JavaScript and images as well as clear browsing data (cache, history, and cookies) on exit.

Figure 5: The browser has a built-in ad blocker.

A task manager is a productivity staple for many Android users, and Mirakel [3] makes a perfect tool for keeping tabs on to-dos. Although Mirakel may look like a basic app, it has all the essential task management features – and then some (Figure 6). The app lets you assign priorities and deadlines to each task as well as attach a file or a photo, add a note, configure a reminder, and specify recurrence. Although it's possible to add a task in a regular manner (i.e., entering the task's name and tapping the Add button), you can also use the dedicated buttons to snap a photo or make an audio recording, and then create a task from it.

Figure 6: Mirakel is a capable and user-friendly task manager.

Mirakel also offers several creature comforts for keeping tabs on tasks. The sliding sidebar lets you quickly switch between different views, such as Tasks Today, This Week, Overdue, and Inbox. Using the built-in search feature, you can find tasks that match specific search criteria, and the app's sorting functionality lets you sort all tasks by deadline, priority, and date.

A decent task manager is not complete without synchronization capabilities, and Mirakel offers two ways to keep your tasks in sync across multiple devices and platforms. The app supports the CalDAV protocol, so it should work with any CalDAV-enabled server. Users of Taskwarrior will appreciate the fact that Mirakel can also sync tasks using the taskd server, and the Setup Sync with Taskwarrior page [4] explains how to deploy tasks on your own server and make Mirakel work with it.

If you are looking for a more simple – and less conventional – way to manage tasks, to-dos, and reminders, try MicroPinner [5]. This nifty little tool lets you add pin text items to the statusbar (Figure 7). The app lets you specify a priority for each pin, which can come in handy for managing to-dos and tasks, and make a pin persistent (to avoid accidental deletion by swiping).

Figure 7: MicroPinner lets you pin items to the statusbar.

Despite a wealth of sharing options at your disposal, email-to-self still remains a popular way to save links, notes, and everything in between. On Android, sharing an item via email usually requires several steps, which makes the entire process slightly cumbersome. BlitzMail [6] solves this problem by reducing the sharing action to a single tap.

Once installed and configured, BlitzMail integrates with Android's sharing capabilities, so sharing an item is as easy as choosing the Share | BlitzMail command. The app also features the standalone BlitzNote utility that lets you send short notes – perfect for quickly mailing reminders, tasks, and short text snippets (Figure 8). To avoid the sent items clogging your inbox, you can create a filter that neatly moves messages coming from BlitzMail to a separate folder.

Figure 8: BlitzMail is perfect for sending items via email.

Photography Apps

In case the default camera app on your Android device doesn't cut it for you, Open Camera [7] is what you need. Despite its somewhat unpolished interface, Open Camera is a rather capable app suitable for Android shooters of all levels. Casual snappers will appreciate the ability to choose between different scene modes and the auto-stabilizing feature, which lets you take perfectly leveled photos every time. The face detection functionality can come in useful for snapping portraits, and overlay grids provide assistance with composing shots.

Open Camera caters to more demanding photographers, too, offering features like exposure lock and exposure compensation, manual white balance, and ISO selection. The burst mode is perfect for taking multiple photos in a rapid succession or at predefined intervals. The app also supports geotagging, video recording, customizable interface, and much more. In short, Open Camera may lack some polish, but it's one of the most capable camera apps for Android (Figure 9).

Figure 9: Open Camera is a powerful and feature-rich camera app.

Photos are often the most precious data on your Android device, so a reliable offsite photo backup system is a must. PhotoBackup [8] has got you covered. It consists of a simple Android client app and a Python-based backup server. The former connects to the latter and pushes all the photos on the Android device to a specified folder on the server. Because the app is available through F-Droid [9], you can install it on your Android device in the usual manner; then, you can grab the server source code from the project's GitHub repository. Although deploying the server on a Debian-based Linux server isn't overly complicated, it does require some manual work.

To begin, install all the required packages using the following command:

sudo apt-get update && \
  sudo apt-get install python3 python-pip git-core

Then, clone the GitHub repository, create the photobackup folder for storing transferred photos, and make it writable:

git clone \
cd server-bottle
mkdir photobackup/
chmod 777 -R photobackup/

Next, install the virtualenv Python packages, create a virtual environment for running the backup server, and activate the environment:

sudo pip install virtualenv
virtualenv venv
virtualenv -p /usr/bin/python3 venv
source venv/bin/activate

Once you've done that, install the server:


During the installation, you'll be prompted to specify the destination folder (enter photobackup) and a password. Once the installation has been completed, start the server using the following command:


To run the server continuously, you might want to use the screen utility. Use the sudo apt-get install screen command to install the utility, then run screen to start a new session.

On your Android device, open the PhotoBackup app, specify the server's URL and password, then enable the service. If everything works properly, the app should find all photos and images on the Android device and push them to the server (Figure 10). Running the service in the background also means that as soon as you take a photo, it's automatically uploaded to the server. To save bandwidth, you can enable the Wi-Fi only option to back up photos only via a WiFi connection.

Figure 10: The PhotoBackup app makes it possible to back up your Android snapshots automatically.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More