F-Droid is a free and open sourceapp store and software repository for Android, serving a similar function to the Google Play store. The main repository, hosted by the project, contains only free and open source apps. Applications can be browsed, downloaded and installed from the F-Droid website or client app without the need to register an account. "Anti-features" such as advertising, user tracking, or dependence on non-free software are flagged in app descriptions.[5]
The website also offers the source code of applications it hosts, as well as the software running the F-Droid server, allowing anyone to set up their own app repository.[6][7][8]
History
F-Droid was founded by Ciaran Gultnieks in 2010. The client was forked from Aptoide's source code.[10][11] The project was initially run by the English nonprofit F-Droid Limited.[11] As of 2021, F-Droid Limited was no longer used for donations,[12] and was being shut down, according to spokesman Hans-Cristoph Steiner.[13]
In a 2014 interview for Free Software Foundation, Gultnieks said he was inspired to launch F-Droid because of "lock-down, lock-in and general nefarious behavior from software" on phones.[14]
From 2010 to 2015, F-Droid used the AGPL-licensed Gitorious repository system for development.[15] In 2015, it transitioned to proprietary licensed GitLab[16] when Gitorious was acquired by GitLab. According to Daniel Marti, Former F-Droid Developer, in 2013, removal of AdAway from the Google Play Store caused a spike in searches and downloads of F-Droid, and he estimated there were 30 to 40 thousand users.[17]
Replicant, a fully free software Android operating system, previously used F-Droid as its default and recommended app store.[18][19] In 2016, the Replicant project determined F-Droid did not comply with GNU Free System Distribution Guidelines, on the grounds that some of the software it offers promotes or depends on non-free software. Replicant asked for assistance correcting it, but progress stalled.[20] In June 2022, Replicant announced they had removed F-Droid.[21]
In 2014 F-Droid was chosen as part of the GNU Project's GNU a Day initiative during their 30th anniversary to encourage more use of free software.[25]
In January 2016, Hans-Christoph Steiner, a developer for Calyx Institute,[26]Debian, F-Droid, and Guardian Project, said F-Droid was focusing on issues like security, building with Debian, reproducible builds, software requiring trust of as few people as possible, transparency, user privacy, non-internet distribution of apps, block avoidance, and media distribution.[27]
In March 2016, F-Droid partnered with the Guardian Project and CopperheadOS with the goal of creating "a solution that can be verifiably trusted from the operating system, through the network and network services, all the way up to the app stores and apps themselves".[28] Follow-on project GrapheneOS does not include F-Droid, and is developing their own app distribution method for "higher robustness and security".[29]
On 16 July 2019, the project published a "Public Statement on Neutrality of Free Software". This statement was issued to address the project's failure to prevent "oppression or harassment ... at its communication channels, including its forum", controversy surrounding alt-tech social media website Gab, and to explain how Fediverse client Tusky blocking access to it, while client Fedilab allowed its users to choose, was consistent with their principles.[30][31][32][33] Action was considered against several applications, including Purism's Librem One, to exclude them for allowing access to sites such as Gab or spinster.xyz.[34][35][36]
According to Ankush Das writing for ItsFoss.com in 2021, F-Droid is known for hosting open-source apps such as Element or Tusky (later reinstated)[when?] that have been removed from Google Play Store.[37]
Scope of project
The F-Droid website lists the apps hosted, over 3,800;[38] the Google Play Store lists about 3 million apps.[39] The project incorporates several software sub-projects:
Client software for searching, downloading, verifying, and updating Android apps from an F-Droid repository
fdroidserver – tool for managing existing repositories and creating new ones
F-Droid builds apps from publicly available and freely licensed source code. New apps, which must be free of proprietary software, are contributed by user submissions or the developers themselves.[40] F-Droid tries to check the source code and remove issues, but warns that the checking is not exhaustive.[41] Many app stores, such and Google Play and Apple's App Store, screen apps mostly using automated tools only; malware with defeat devices can pass these tests, by detecting when the software is being automatically tested and delaying malicious activity.[42][43][44]
The project describes itself as having a core of volunteers;[45] some contributors have been paid for their work.[46][47][48]
Client application
F-Droid is not available on the Google Play Store. To install the F-Droid client, the user has to allow installation from "Unknown sources" in Android settings[49] and retrieve the F-Droid Android application package (.apk file) from the official site.
The client was designed to be resilient against surveillance, censorship, and unreliable Internet connections. To promote anonymity, it supports HTTP proxies and repositories hosted on Tor onion services. Client devices can function as impromptu "app stores", distributing downloaded apps to other devices over local Wi-Fi, Bluetooth, and Android Beam.[50][51] The F-Droid client app automatically offers updates for installed F-Droid apps; when the F-Droid Privileged Extension is installed, updates can also be installed by the app itself in the background.[52] However, automatic updates are not turned on by default.[53] The extension requires the device to have root access, or to be able to flash a zip file.[54]
Key management
The Android operating system checks that updates are signed with the same key, preventing others from distributing updates that are signed by a different key.[55][56] Originally, the Google Play store required applications to be signed by the developer of the application, while F-Droid only allowed its own signing keys. So apps previously installed from another source have to be reinstalled to receive updates.[57]
In September 2017 Google Play started offering developers a signing key service managed by Google Play,[58] offering a similar service to what F-Droid offered since 2011, and F-Droid now lets developers use their own keys via the reproducible build process.[59]
Security issues
In 2012, F-Droid announced they had removed an app because of a security flaw that could leak personal information.[60] In 2017, F-Droid stated "No malware has been found in f-droid.org in its 7 years of operation."[61] In 2022, F-Droid discovered over 20 distributed applications contained "known vulnerabilities".[62]
Reception
In August 2019, Rae Hodge of CNET recommended F-Droid as a way to avoid malware from Google apps, which according to Google was a low risk. Advantages of F-Droid were said to include better security odds of open source software, avoidance of tracking in apps and a "stringent security auditing process", no hidden costs, and greater customization. Disadvantages were said to be lack of a rating system, only about 2,600 apps in F-Droid, versus more than 2.5 million in the Play store, and more manual process for updating apps. Editors cautioned F-Droid can give users more control and better privacy and security, but also takes more diligence.[63]
In an April 2022 detailed article for HowtoGeek, Joe Fedewa wrote "The selection of apps is much smaller in F-Droid than the Play Store, around 3,000 compared to around 3 million, but that's to be expected. If you're looking to de-Google your life a bit, or you just want to try some apps that have better ethics, F-Droid is a great place to go."[64]
In a December 2022 detailed article in Popular Science, Justin Pot wrote "F-Droid isn't going to replace Google Play for most people, but it's a nice and simple alternative for finding free and safe apps before you dive into the swamp that is Google's app store."[65]