What’s happening (or not) at Replicant

Two months ago, I (Paul Kocialkowski) gave a talk about reached milestones and ongoing development on Replicant at FOSDEM, one of the biggest yearly European gatherings of free software developers. I was thrilled to meet people interested in Replicant there and pleased to chat with many other free software developers, working on various fields. As usual, talks were recorded and most of those recordings are now available on the FOSDEM website, with no exception for the embedded devroom, where I gave my talk and joined an embedded freedom roundtable with Carsten Munk from Jolla and the attendance. A WebM version of the talk is available on the Conferences page of the wiki.

Back from FOSDEM, most of my work was focused on U-Boot (the universal bootloader) for the LG Optimus Black and Sunxi (Allwinner) devices. Things are starting to look good on the LG Optimus Black, which now correctly boots Android without random run-time faults. As usual, things are moving very slowly due to the lack of time. The next step there will be to submit the first batch of LG Optimus Black support for inclusion in upstream U-Boot.

The Replicant code itself hasn’t changed much in the past months, since I am focusing on bootloaders development at this point. In addition, Gitorious is now closing down and while we have all the source code uploaded there backed up, we’re looking for an alternative solution that doesn’t compromise on the core values behind Replicant and offers significant guarantees. Because of this situation, nothing is to be committed to the repositories before they are moved to a new location, that we are yet to find.
However, some security updates were kindly submitted by the community and those will be reviewed and integrated as soon as everything is back up and running.

So hopefully, things will start moving faster in a bit!

Replicant homepage and roadmap for the future

For a long time, the entry point for Replicant on the web was our blog, which holds status reports and news about the project. However, it did not fit well for providing easy access to relevant material about the project, nor did it give our (growing) community the attention it deserves. This is why we decided to launch a new homepage for the project, highlighting what really matters, in style.
We believe it is a good thing to have, in order to clearly spread the word about Replicant and ease the understanding of our message. The new homepage provides a clear explanation of what Replicant is about, provides answers to some common questions about the project and most importantly, holds a detailed overview of the core freedom and privacy/security issues that we face on mobile devices today, as well as recommendations regarding these topics.

Regarding progress in development, a few things happened recently and a lot more is on the way: time to take a step back, look at what’s in the works and what is next on our roadmap.
After attending RMLL/LSM in Montpellier, France, most of the development time was spent on completing a full rewrite of Samsung-RIL, the software in charge of the various aspects of telephony and mobile data on the Samsung devices we support. This rewrite brings many advantages in terms of stability, features support and also provides a sane and clear base to make external contributions easier. While this is an important contribution to achieve software freedom on mobile devices, these Samsung devices are severely flawed as they don’t allow running free bootloaders.

For some time already, we have decided to focus our development effort on better devices, that can run free bootloaders, in addition to a free system such as Replicant. First, we decided to bring Replicant 4.2 support to the Goldelico GTA04 and have already made good progress since the start. It is not currently usable as a daily phone, but we are confident about the future. The next step in the process is to work on supporting Allwinner devices, starting with cheap Chinese tablets. We are proud to be collaborating with the free software community built around the Allwinner Sunxi platforms: linux-sunxi. Our goal is to provide generic Replicant support for these platforms, so that as many devices as possible can be supported, with little effort required to support a new device. Thanks to the work of the linux-sunxi community, many of these devices can already run a free bootloader and have a community-maintained kernel available, providing a solid base for Replicant on Sunxi devices. In addition, we have spotted a few widely-spread devices that would also be good candidates for running a free bootloader and a free system: stay tuned as we will start documenting these devices soon!

In the meantime, we are more than ever willing to make Replicant as privacy/security-oriented as we can, especially by targeting devices that either don’t have a modem at all (Wi-Fi-only tablets, such as the many Sunxi ones) or are not proven to have bad modem isolation.

As of today, Replicant is still a one-man effort and while all these new directions are very exciting, it takes a lot of time to actually turn them into reality. Since we prefer to focus on these new directions, Replicant will stay based on version 4.2 of Android, even though newer versions are available upstream. Porting Replicant to a newer version requires a lot of effort and doesn’t bring any significant advantage when it comes to freedom.

Regarding the devices we already support that do not match the free bootloaders criteria, we are not going to drop development for them, but the majority of what was possible to achieve on them is already there and while we could keep adding support for more and more of these devices, we believe that development time is better spent on these new exciting directions!

Replicant 4.2 on the Goldelico GTA04

We started the work on the Goldelico GTA04 about 2 years ago, back in the Replicant 2.3 days. While we were able to release images at this point, they were far from being functional as key components were missing from the kernel, especially regarding power management. About 2 years later, the situation was finally unlocked thanks to the efforts of Golden Delicious and various members of the OpenPhoenux community, bringing GTA04 support to a newer kernel version that holds all the necessary pieces for proper Android support. More details on some technical aspects related to this are available at Paul Kocialkowski’s coding blog.

Work on the device resumed months ago and we’ve been working hard ever since to improve the status of the Replicant port. While it is not yet usable as a daily phone, we have reached numerous milestones over the past months and many key parts of the device are already handled correctly, already allowing many use cases, such as digital audio player or GPS navigation system. A dedicated wiki page holds the details of the Replicant status on GTA04.

As we’re very enthusiastic about the future, we’ve decided to shoot a video highlighting various aspects of Replicant on the GTA04! Installable images for the GTA04 will be released along with the next batch of Replicant 4.2 images, including all the features shown in the video:

The video is also available for download:

To this day, the GTA04 remains the best phone out there regarding software freedom: bootloaders are free software and Replicant will eventually be able to run with most of the device’s features supported, the only exceptions being graphics acceleration, hardware media encoding/decoding and Wi-Fi (due to a proprietary firmware). Regarding security and privacy, the Goldelico GTA04 is also very good as it can run without proprietary software, but also because its modem is clearly separated from the rest of the device.

You are very much encouraged to get your own device out of the next batch of GTA04 production by placing a preorder on the next revision! As it is often the case, devices that are particularly designed to be a good fit with free software don’t get much mainstream attention, which makes it especially hard for Golden Delicious to run production batches. Unlike in software development, having hardware produced costs a lot of money, especially in small batches. It is up to you to change that by showing your interest toward the Goldelico GTA04. Donations to Golden Delicious or Replicant are also welcome to help push the project forward!

About the Fairphone

Over the past months, we have been asked a lot whether Replicant is going to be running on the Fairphone. The goal behind Fairphone, as its name suggests, is to build a phone that is “fair”. This covers a lot of different aspects that the Fairphone company took care of: such topics as using fair and conflict-free resources, ensuring that all workers along the supply chain get a fair wage, improving the handling of electronic waste, being transparent about the cost of each part of the device, its technical specifications and encouraging open and flexible designs.
We are really glad to see a company producing electronic devices taking care of such many important aspects as social conditions of workers, ecology and handling of e-waste as well as transparency and being “technically open”.

What we are especially interested in, at the Replicant project, is how good the device will be when it comes to software freedom. Hence, we have spent some time investigating the device, even though it is not out yet. Thanks to the cooperation of Fairphone, we were able to draw a quite complete picture of it.

The Fairphone will ship with a modified Android 4.2 version. An overlay interface was developed for the device and should be released as free software, but what we are really interested in is the parts that deal with the hardware. First, the Linux kernel source code for the device will be released (it is copyleft software so this is an obligation). It will also be possible to build the kernel from source and install it on the device without the need to sign the kernel with the manufacturer’s key. Actually, there should be no signature check on the Fairphone for the kernel or the bootloaders. Some of the bootloaders (maybe all of them; we cannot tell for sure at this point) are free software and it should be able to replace them with a free build. We are a bit worried that the tools to flash the Fairphone may be proprietary, but if the bootloaders are free and/or there is root access out of the box, there will be ways to work around this problem. On the system side, some of the libraries that deal with the hardware have been released as free software for devices that use the same platform (Mediatek 6589), so the basic required features such as audio will likely work. We are also confident we will be able to handle the modem with free software (that means telephony and such will work).
Fairphone is really trying hard to get Mediatek to release as many components as free software as possible, but they don’t have the source in their own hands and nor can they decide to make it free software themselves, so it may take some time to arrive or eventually not succeed.

However, things are not looking so good when it comes to evaluating the platform that was chosen for the Fairphone: the modem is embedded in the System on a Chip (SoC) which leads us to believe that it is poorly isolated from the rest of the platform and could access critical components such as storage, RAM, GPS and audio (microphone) of the device. If this was to be the case (we can only speculate about what the truth actually is), it would mean that the Fairphone is fatally flawed for security as it makes it possible for the phone to be converted to a remote spying device.

In conclusion, we think it will be possible to have Replicant working on the Fairphone and the bootloaders (that are not part of the operating system) may even be free software, but we believe it is seriously compromised security-wise because of the poor modem isolation.
However, Fairphone seems definitely interested in doing things right on the software freedom side and helping us get Replicant running on the device!

Opening the Replicant Forums

It seems that we are asked way too many questions in the comment section of each page/post we write. Most of the time, the question is not relevant to the page and/or was already answered somewhere else.

Thus, we decided it would be better to open forums so that anyone can find answers both from us and from the community. Please, direct your inquiries to the forums if there is no particular reason to contact us privately via our contact e-mail address or to use the comment sections of our blog. The mailing-list and IRC are also good places for general-purpose questions since they are public, but it appears that many prefer to use web-based interfaces.

Registration was also made easier, since new accounts activation doesn’t require a manual confirmation from us anymore.

We hope the forums will help bring help and support, from and to the community.

Announcing the Free Software Foundation fundraising program for Replicant

Over the last few years, we have been asked countless times how one could make a donation to the project. Until very recently, it was not at all possible but thanks to the hard work of the Free Software Foundation team, especially John Sullivan and Zak Rogoff, it is now possible for the FSF to accept donations on the behalf of the Replicant project.

Donations will help us buy new devices and port Replicant to them as well as help us attend free software events to promote Replicant at. Devices donations can be accepted as well but we carefully select the devices we want to work on, based on how much they respect freedom, so we might decline some offers.

You might want to consider making a donation to our project, any amount will help, from the FSF directed donations page for Replicant.
Bitcoin donations are also accepted, at the following address: 13tgjejUJ6NtQVX9HvKz8svdcuWPNwgr5T

We also badly need new developers to help us bring Replicant to more and more devices as well as improve the status of the currently-supported devices. As a group effort, Replicant has better chances to succeed and bring freedom to mobile phone users. We are currently a team of two developers with less and less time to get involved in the project and bring new features. Becoming a developer is not even that hard: we have developer and porting guides available to make it easier for you to get started and we’ll be there to guide you all along. Even non-technical people can help to some extent, covering tasks such as building up documentation or writing announcements for the project if they’re good enough at it.

Please get in touch with us if you’re interested. The best way to start is most likely to get a Replicant-supported device and start hacking on it and if you prove serious enough, we might even use some of the donations money to provide you with a new device to port Replicant to!

Replicant 4.0 0004 images release

The last months have been rather calm for Replicant development, no big changes or improvements were made. That doesn’t mean the project stalled: instead, we added support for some new devices. The previous set of images added support for the Galaxy Tab 2 10.1/7.0 in their 3G versions and we were requested to provide images for the WiFi-only flavors of these tablets as well. Since it only requires very little work, we were able to quickly fulfill that request, even though we couldn’t test it ourselves (you’re more than welcome to spot and report issues about these devices).

However, the biggest part of what motivated us to build and release new images is the support for the Galaxy S3 device in its international GT-I9300 GSM version (not the LTE one or any other country-specific variant). Currently, only graphics acceleration, camera and GPS support are missing (some other features may need non-free firmwares that run on separate chips). A couple of other things are also missing due to technical limitations (NFC, FM radio).

We are still trying hard to bring Replicant to the Goldelico GTA04, but it couldn’t make it to that release either as we still need help bringing a reliable Android kernel to that platform (DM37x).

A more complete changelog is also available, highlighting in details what was changed. Special thanks to the team at CyanogenMod who fixed EXIF in the free Galaxy S2 camera module implementation I wrote but was too lazy to correctly implement EXIF into.

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 4.0 0002 images release

Since some progress was made lately, we decided to release a new set of images.

The new features available in this release are mostly camera support for the Galaxy S2, accelerometers support for the Nexus S and Galaxy S2 and RIL (telephony) improvements for all devices. A more detailed changelog is also available.

We are working to bring Replicant 4.0 support to more devices, such as the Goldelico GTA04 and the Samsung Galaxy Tab 2 (both 7.0 and 10.1 GSM versions).

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

New set of Replicant 2.3 images, including Galaxy S support

As it was announced a few weeks ago, we are now releasing a new set of Replicant 2.3 images including Galaxy S support. Nexus S support was also improved, mainly on the modem part (there is now basic data support). Data should also be fixed on Nexus One with this release. More details are available in the detailed changelog.

You can download the new set of images:

Our Wiki was also updated with new pages regarding Galaxy S: