Skip to content
Menu
Open World News Open World News
  • Privacy Policy
Open World News Open World News

Towards a reproducible F-Droid

Posted on January 21, 2023 by Michael G

Author: linsui
Source

A common criticism directed at F-Droid is that F-Droid signs published APKs
with its own keys. Using our own keys doesn’t mean insecure — we have a good
track record (and keep the keys on a dedicated, air-gapped, offline
machine
) whilst
others may not — but this does mean that our users need to trust a third
party other than the upstream developers.

Having a different signature can also inconvenience users by making it
impossible to install updates from other channels; this can be especially
inconvenient when we have difficulty providing an update for an
app. Developers also sometimes need to tweak their setup for F-Droid,
e.g. disabling an in-app updater or adding the F-Droid signature for
verification.

F-Droid is not the only app store publishing APKs signed with its own key —
Google Play does the same now. With “code transparency for app
bundles”
,
Google provides a means to verify that the DEX files and native libraries in
an APK are identical to those the developer provided. This does address some
of these concerns, but code transparency does not protect many other
important files in the APK, like interpreted code or assets. And unlike APK
signatures, it is entirely optional (and an extra burden for developers) and
verification must be performed manually. It also does not solve the
inconvenience of being unable to install an APK with a different signature.

F-Droid has had a better solution for these problems for quite a
while
:
reproducible
builds
. However, it was
never widely used. One of the reasons is that it sounds difficult to
achieve. We had few reproducible apps (to be precise: only 6) and some of
them suffered from problems because of the use of reproducible
builds. Basically, we didn’t bother to mention reproducible builds unless
the upstream developers showed an interest. As a result, many developers
never even heard of reproducible builds, let alone that F-Droid supports
them, or attempted to use them for their own apps.

In response to some of those criticisms, we started encouraging new apps to
enable reproducible
builds
. It turns out
that reproducible builds are not so difficult to achieve for many apps. In
the past few months we’ve gotten many more reproducible apps in F-Droid than
before.
Currently we
can’t highlight which apps are reproducible in the client, so maybe you
haven’t noticed that there are many new apps signed with upstream
developers’ keys. If you have some third-party repositories enabled,
e.g. the IzzySoft one, you may find that sometimes you can update the app
from the main repository even if you installed it from another one.

Meanwhile, now that we’ve encountered many more test cases than before, we
also found many
new
problems
that affect reproducibility. Fortunately we also found workarounds for most
of them and developed some tools to make APKs
reproducible
, mainly
thanks to @obfusk’s contributions. There are still some open issues and we
are still working hard to solve them. If you are interested in reproducible
builds, contributions are always welcome.

Read more

Related Posts:

  • Vulnerability Patching for F-Droid apps
    Vulnerability Patching for F-Droid apps
  • Gentle updates postponed
    Gentle updates postponed
  • Federated services made easier
    Federated services made easier
  • Unattended updates for everyone, 1.19 is here
    Unattended updates for everyone, 1.19 is here
  • This Week Is on Fire
    This Week Is on Fire
  • Earliest next update in...
    Earliest next update in...

Recent Posts

  • [TUT] LoRa & LoRaWAN – MikroTik wAP LR8 kit mit The Things Network verbinden [4K | DE]
  • Mercado aguarda Powell e olha Trump, dados e Haddad | MINUTO TOURO DE OURO – 11/02/25
  • Dan Levy Gets Candid About Learning How To Act Differently After Schitt’s Creek: ‘It’s Physically…
  • Building a Rock Shelter & Overnight Stay in Heavy Snow 🏕️⛰️
  • Les milliardaires Elon Musk et Xavier Niel s’insultent copieusement

Categories

  • Android
  • Linux
  • News
  • Open Source
©2025 Open World News | Powered by Superb Themes
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT