Interview with Ciaran Gultnieks, F-Droid project leader

The F-Droid Repository is an easily-installable catalogue of FOSS (free, open source software) applications for the Android platform. The server contains the details of multiple versions of each application, and the Android client makes it easy to browse, install them onto your device, and keep track of updates.

F-Droid is a non-profit volunteer project, founded in 2010 by Ciaran Gultnieks, with the collaboration of more than 30 contributors. If you want to learn more or participate in the project, you can visit the main website www.f-droid.org

You can also watch my video about F-Droid, a 12-minute tour around the project.

The interview

Who are you?

I’m Ciaran and I’ve spent the last 30 years developing software – for a long time that was games, and these days it’s enterprise software. In my free time, I contribute to various Free Software projects for fun, for learning, and to try and give back a little bit of the enormous benefit I receive from the work of others.

How did you start to get involved in free software?

I first installed a GNU/Linux distro in about 1996 but I didn’t really start using it daily until many years later. That gave me plenty of extra time to get annoyed by the various ways proprietary software would use its control over my computer to annoy and restrict me in ever more creative ways. This got worse and worse, and at the same time Free Software got better and better, until it made no sense at all to be using any proprietary software.

I don’t believe in the “proprietary software is unethical” thing that I hear a lot of (in fact, I’ve made a living most of my life out of it). Lots of people have their locked-down iPhone and all the proprietary apps that go with it, and are quite happy about that, and it seems to me
quite arrogant to suggest that all these people are wrong, even though I wouldn’t go near any of that myself. I don’t even see how DRM (which I hate with a passion) is “unethical”. I think people who accept it are foolish, but it’s their choice.

I also don’t believe there’s much point in trying to convince the whole world to use Free Software because again, most people don’t care and that’s entirely up to them. Personally I only want to use Free Software, and I’m happy to be able to work on things that help others who feel the same way.

How did you start with F-Droid?

When I first got an Android phone, I thought I could get away with just downloading FOSS from the Android Market. It didn’t take me long to realise that a) the Market app itself was proprietary software, b) it was really annoying, c) it was really hard to find FOSS in the Market, and d) just because something said it was Free Software, it didn’t really mean it was. I looked around for a solution to this, and although lots of people had thought about doing it, nobody had actually got anywhere, so I did it.

Now we can see that the project has several areas: (1) the server, (2) the Android client, (3) the application repository, and (4) the infrastructure and community management (website, forums, documentation, promotion…). Do I miss something? Which part takes more effort and in which one are you investing more time now?

Probably (3) takes the most effort currently, because all the applications have to be kept up to date, and there’s a huge backlog of new ones to add. All the other things could take just as much effort, as there’s a lot of new things that could be implemented, but there’s only
so much effort to go round!

How did you spread the word about F-Droid and find new contributors? Do you know any of them in person?

I’ve never really done much to promote F-Droid – people who need it just find it, and that’s where contributors have come from too. I don’t know any of the contributors in ‘real life’, they just turn up on IRC, in the forum, or in the source code repository, and do great things!

As I’ve already said I don’t really do the evangelising thing, but others do and their contributions have brought more users and in turn more contributors to the project.

What are your (or other member’s) relationships with Replicant and CyanogenMod projects? Do you think it is a good idea to join efforts in a “complete Android distribution” as with the Linux distros, with the OS, the package manager (F-Droid) and package maintainers for the different applications?

I follow the Replicant project pretty closely (I’m on the mailing list, and always in their IRC channel) although I don’t actually use Replicant on any of my own devices, because they’re not supported (yet). Replicant is a huge undertaking that really deserves to have more people working on it. The current developers do an amazing job considering there are so few of them. F-Droid is integrated directly into Replicant, so I guess that makes a complete ‘distribution’ to some extent.

I actually use CyanogenMod (with various bits deleted) on most of my Android devices, but don’t have any relationship with the project. I could be wrong about this, but I don’t think Free Software is a focus or goal of CyanogenMod – as I understand it, they would still be happily shipping all the proprietary Google Apps if Google hadn’t made them
stop. This is fine if it suits them, it’s just not for me. They do a great job though, and free a huge number of people from the junk that carriers and manufacturers try to force on them.

What is the biggest problem or challenge that F-Droid needs to face in the short/mid term?

There are all kinds of technical issues waiting to be dealt with, none of which are very big on their own, but they add up to a lot of work. I guess the challenge is just to keep working on them.

Aside from that, again, it’s the maintaining of the repository. This is a lot of work because it involves building all the applications, and their updates, from source. This is essential, because it’s the only way to know they actually can be built and that there’s nothing missing
and no proprietary libraries hiding in there. Those problems are very common indeed.

What were your expectations about F-Droid when you started the project and what are your expectations now?

I didn’t really have any, other than knowing what I needed and knowing that other people needed it too. I’m always surprised by how many people find it useful, and I hope that continues. I certainly never expected so many people to join in with the effort, and I hope that carries on too.

Anything else you would like to say?

That’s an easy one, I’d like to say thank you to everyone (and that’s a lot of people) who’ve contributed their time to developing, translating, designing, testing, troubleshooting and coming up with ideas, and to everyone who’s contributed financially towards the costs of keeping the servers up and running.

My comments

I also would like to say thank you to all the contributors of F-Droid project and specially to Ciaran Gultnieks who was very kind in the whole process of this interviews and also with my questions and petitions about the project, in order to contribute to the Spanish translation team.

I encourage everybody to use F-Droid and enjoy the free (as in freedom) software in your smartphone, and if you like, join the community! For me it is being a great experience.

About larjona

My name is Laura Arjona, I am a libre software user and fan of the free culture. If you want to contact me you can write an email to larjona [at] larjona [dot] net I am @larjona at identi.ca in the Pump.io social network. --- Me llamo Laura Arjona, soy usuaria de software libre y fan de la cultura libre. Si quieres contactar conmigo puedes escribir a larjona [en] larjona [punto] net Soy @larjona en el servidor identi.ca, de la red social Pump.io.
This entry was posted in My experiences and opinion, Tools and tagged , , , , , , , . Bookmark the permalink.

3 Responses to Interview with Ciaran Gultnieks, F-Droid project leader

  1. tony says:

    If you go to a backery and buy a cake, is it unethical if you don’t get the recipe as well?
    If you buy a radio, is it unethical if you don’t get the construction plans for it?
    If you buy some software, is it unethical if you don’t get the source-code?
    If you buy a processor, is it unethical if you don’t get the “hardware description language”-description of the processor?

    Richard Stallman sees it as an ethical issue. Maby he is ultimately right. I simply don’t know.
    He’s right that sharing is a good thing.
    But is it really an ethical issue whether or not you get some recipe, construction plans or source-code??

    • jago25_98@hotmail.com says:

      nah. stallmans right because people just suck and start putting cocaine in the cake. that’s why we’re force to put ingredients on the side. before we didn’t have to but people abused the freedom.

      same thing with software. coders are free to spy on people through an app. unfortunately its often an abuse so it could be the only way is the heavy banded way; open source only. the guy’s got a point. and its very inconvenient

    • Josef Donnington says:

      Tony wrote: “If you go to a backery and buy a cake, is it unethical if you don’t get the recipe as well?”

      The analogy between recipe and source code, in the way you present it, is flawed.

      Let me explain: the cake is the OUTPUT of the recipe. If a recipe is freedomrespecting (by allowing unrestricted use, modification, and distribution with out without modification), then this does not apply to the OUTPUT, i.e. the cake. Put another way: the cake (output) is not the corresponding source of the recipe-steps performed. (See http://hackerpublicradio.org/eps.php?id=1116 at tracktime 30:58)

      To fix the analogy. Here’s an example of a violation of “freedomrespecting recipes”:
      Assume a recipe-seller states: “all my recipes are freedomrespecting.” You then decide to purchase from him a recipe-executor-black-box, and a number of recipes on USB-stick. At home you plug in the recipes-USB-stick into the recipe-executor-black-box and select “Grandma’s ultraspecial chocolate cake”. The executor-black-box removes some ingredients from the connected ingredients-containers (flour, sugar, chocolate, etc.). You cannot see what’s going on inside, but after one-and-a-half hours… out comes a cake!
      So you tell yourself: well that’s great, but I want to bake this cake with my own hands and change the steps slightly. You connect the recipes-USB-stick to your own computer, expecting to find the steps. But low and behold: you find that the “recipes” are only in a machine-readable binary format, that you cannot decipher them.
      This is a freedomrespecting recipe violation!!! If the recipes really were free, you would have received not only the binary format, but the steps of the recipe in human-readable english as well!

      Now lets say you have aquired a freedomrespecting recipe for a cake (and here I really mean a free recipe, in that it is not obfuscated or coded; but instead a description of steps). Lets say you have a bakery and sell a customer the cake (baked according to the recipe): do you have to give the customer the recipe?
      No, since the cake is the output. You are not selling the customer the steps to produce the cake.

      But now you might try and apply this to software and say: “But look here: the binary program is the output of the source code. So if you pass on the binary program, you don’t have to pass on the souce code, right?”
      This would be a misunderstanding, since the program is NOT the output of the source code. Instead: the program is merely the output of a compiler. But the binary program is a direct transformation of the source code: The steps in the program, are still the steps in the source code. We say: the source code is the “CORRESPONDING SOURCE” of the program binary.
      Thus with free software, the software … in all the forms it is distributed: binary, etc. needs to include the “corresponding source”, that give one the freedom to modify it.

      Tony wrote: “If you buy a radio, is it unethical if you don’t get the construction plans for it?”
      This analogy between construction plans and souce code is also flawed.
      The construction plans can be free (freedomrespecting). But the construction plans are not the corresponding source of the radio: The radio does not perform the construction steps. The radio does not have a corresponding source, since it is the output of the construction steps.

      Tony wrote: “If you buy some software, is it unethical if you don’t get the source-code?”
      Depends on your view. You can certainly argue: yes. First off: the steps the program runs, are the steps that are described in the source code. Furthermore: if the program runs on a general purpose computer, then you could easily change it (lets say it is not software that is burned into a ROM for an applianc like a toaster.) Then it is only fitting that you should really be able to make use of this possibility (changing the program on your computer), and that requires a form of the program that is best suited to do that job: the corresponding souce.
      On the other hand: If you have proprietary software, then – even though you are running the software on a device that easily allows changes – the owner of the propriertary software has deliberately decided to make this difficult or illegal for you to do. Then only the owner controls the program, and you might be called a fool for using it.

      If you buy a processor, is it unethical if you don’t get the “hardware description language”-description (HDL) of the processor?

      Depends on your intent: do you want to analyze what the processor’s logic is doing, and then have the possiblity to make changes to the processor and create your own (with the guarantee that your logic will be on the chip [and not some fab’s back-door logic])?
      If you buy a processor created by a fab with modern photolithography, then you get a chip that you cannot change. In that case you don’t need the HDL-description. BUT: if you buy the whole fab itself (oh: so you have those billions of dollars?!), then you have the possibility to make changes. In that case you’d be a fool, if you don’t insist on getting all steps, and descriptions, etc. for making the processor chip, and being able to change it, for example if the chip happens to have a serious bug! If you cannot fix the chips hardware-bug, you’ll probably be out of business very soon.

      If on the other hand you buy a FPGA (not so expensive: say 500 dollars or cheaper), and the processor is synthesized on that FPGA, then you can change the hardware-description (via the HDL) and load the changes onto the FPGA. In that case, you’d be a fool, if you don’t get the freedomrespecting HDL-description (e.g. in Verilog or VHDL code), in order to actually do that.

      The free software definition (of Stallman), applies to the source code and to the binary program. The 2 (source and binary) are linked: the steps in the binary program are the steps in the source code: they are just a transformed version of the same thing. Except that one is easy to change (source code) and the other is incredibly difficult to change (binary program).
      The source code is the corresponding source of the binary program. Free software gives you the freedom to make changes (that you can realistically realize, since that’s what you can do on general purpose computers), by providing you with the corresponding source.

Comments are closed.