Interview with Ciaran Gultnieks of F-Droid
In this edition, we conducted an email-based interview with Ciaran Gultnieks, the founder of F-Droid project and the lead developer of fdroidserver, which is licensed under the GNU AGPL version 3 (or any later version).
What inspired you to launch the F-Droid project?
For whatever reason, people have been far more willing to accept all kinds of lock-down, lock-in and general nefarious behavior from software that they carry around in their pockets than they ever would have done on their desktop machines. Even a large proportion of people who generally favor free software, or even develop it, seem to forget all about software freedom when presented with a shiny handheld device.
F-Droid came about as the answer to part of the problem—the ubiquitous proprietary "store" for delivering proprietary apps direct to your device—for those of us that do care. Like many free software projects, it originated from my own need for a solution and picked up a lot of people with similar requirements along the way.
What is fdroidserver?
The main function of the fdroidserver is to provide the back-end tools for managing a repository of applications — building them from source (very important) in a secure environment, indexing them, signing them, and providing the mechanisms for delivering this data to the end user.
These tools are what we use for running the main F-Droid repository, and others use them both for additional public repos and their own private ones.
Additionally (and really, in contradiction of the name), it can be used to build and deploy apps yourself, directly from a desktop (GNU/Linux) machine to your device.
You said building from source is very important. Why?
This requirement is often misunderstood. Outside the Android world, you'd pretty much take it for granted that when a developer says "here's some free software" you'd actually be getting free software.
However, if you spend some time inside the Android app space, you'll find that it is in fact frequently the case that the only available source is for an old version from years back, or that there is all kinds of proprietary stuff sneaked in there. Analytics libraries, or spyware as I’d prefer to call them, are particularly common, but all kinds of other proprietary libraries are used as well.
If you get a binary from the F-Droid repo, it's been build using the fdroidserver software, and this provides some strong guarantees that there is nothing but free software built into the program. You can also easily use fdroidserver to build your own copy, because all the issues of handling different developer's build systems and requirements have already been dealt with.
How is the fdroidserver community?
Fdroidserver has a relatively small number of direct users. Aside from f-droid.org, the main users are other people running their own repos (either app developers publishing their own software, or specialized/private repos), and building apps directly for their own use. As this the software that makes F-Droid as a whole possible, the number of users indirectly depending on it is way bigger, and the community around the project as whole is very large and active.
What features do you think really sets fdroidserver apart from similar software?
There isn't any similar software, at least that I'm aware of.
Why did you choose the GNU AGPL version 3 (or later) as the fdroidserver license?
To me, licensing a work under a copyleft license is saying "I hope you find this useful, and please feel free to use it, but don't use it to create proprietary derivatives and restrict people's freedoms."
As computing becomes ever more distributed, I definitely want to make every effort to prevent my work being used to facilitate proprietary software, hence my choice of the AGPL whenever it seems appropriate.
How can users (technical or otherwise) help contribute to F-Droid?
We have a large and active community, but there's always more work to be done. People should start by joining us on our forums or IRC channel, #fdroid on Freenode, and by reading all the existing documentation.
What's the next big thing for F-Droid and fdroidserver?
There's no big thing, just a long list of little but important things as we continue to progress.
For fdroidserver, I'd like to continue to make it easier for people to use it on a personal level, so that individuals can compile and deploy applications to their own devices, and for this to be no harder than it would be for a typical free software project that targets a GNU/Linux system.
Enjoyed this interview? Check out our previous entry in this series featuring Roman Telezhinsky of Valentina.