Liberating the software running at the lower levels of the hardware we use, either on the main processor or on controllers and peripherals can reveal to be quite challenging. There is a series of (more or less) usual limitations to overcome in the process, each of them being a challenge for free software developers, with the potential of fatally blocking a free software implementation.

This talk will highlight the process of liberating the software running at the lower levels of devices we use. In particular, it will focus on each recurrent limitation that is encountered when freeing a device, with an insight on the process to overcoming them, when possible at all.

Various examples will be shown, drawn from experience liberating mobile devices at the operating system level (with Replicant), at the bootloader level and other devices such as a Chromebook laptop and another laptop's embedded controller.

Finally, the question of the free software replacement's installation process for end users will be mentioned, with positive and negative examples and suggestions for making the process less painful in general.

This lightning talk will (quickly) highlight various aspects of developing on Replicant, the fully free Android-based mobile operating system. It will provide some insight about why more developers should join-in and how to get started with it.

Most mainstream mobile devices are fatally flawed when it comes to software freedom since they are unable to function without proprietary software on their main processing unit. In particular, most of those devices ship with proprietary bootloaders: early software that is in charge of bringing up the hardware and loading the operating system. While free software bootloaders exist and provide support for a wide range of different platforms, mainstream mobile devices very often do not allow running free bootloaders because of enforced numeric signature checks.However, once in a while, we come across a few devices or platforms that allow running free bootloaders and thus show true potential for taking freedom to the next step. Some of those will be presented, along with the communities built around them. In particular, the work conducted to liberate the LG Optimus Black (P970) will be presented with detail, as well as the efforts to free Allwinner platforms by the linux-sunxi community and the work on the GTA04 and Neo900 phones, built around the OpenPhoenux community.

Replicant was started as a pragmatic way to achieve software freedom on mobile devices, as a fully free version of Android. Over the years, support was added for a dozen of different mainstream devices. However, most of these are severely flawed when it comes to software freedom and privacy/security. Thus, it was decided to focus the development effort on a few specific devices that perform better than others from those perspectives, instead of trying to catch up with the latest mainstream devices.

This talk will first cover what was accomplished by the Replicant project over the last few years and what milestones have been reached. This includes an overview of the work that was completed to support various devices, especially when it comes to writing free software replacements for proprietary components. Some of the most challenging examples will be highlighted and put in perspective as milestones for the project. In addition, some of the work on making the system better regarding privacy and security will be mentioned. Once the improvement of the situation is acknowledged, this talk will show how most of these devices are still fundamentally flawed, hence opening up two possible ways for the future of the project: adding support for more and more new devices and recent Android versions or focusing on a handful of devices that show real potential for being liberated. Hence, the second part of this presentation will introduce the recent efforts that were started to support devices that can take freedom to the next step. Some of these exciting devices will be presented in details, with a description of the journey to freeing them from the ground up!

Android is developed by Google mostly as open source, through the Android Open Source Project. However, AOSP cannot actually run on most devices without proprietary software for supporting various hardware features. Back in 2010, the Replicant project was founded by a couple of free software enthusiasts to try and bring a fully free version of Android to the first Android phone, the HTC Dream, by replacing or avoiding the proprietary parts. Four years later, more than 10 different devices are supported by the project, which still focuses primarily on software freedom. Hence, making Replicant the only mobile operating system that truly puts the emphasis on freedom.

This talk will present Replicant as part of the effort to reach software freedom on (telephony-enabled) mobile devices. First, it will introduce the major freedom issues that are encountered on these devices, as well as considerations regarding the security of these devices and the communications made with them, from an ideal scenario to what the reality actually is today. The talk will then focus on the proprietary parts needed by most open source mobile operating system and how Replicant comes into play. Various community Android versions will be mentionned, as well as other systems such as Firefox OS or Ubuntu Touch. An overview of what was accomplished by the Replicant project over the years will then be mentioned, as well as the challenges we are currently facing and the current state of the project. Finally, a demonstration of Replicant running on various devices will be shown!

The Replicant project was founded four years ago as a fully free version of Android. While Google releases most of Android as open source, with the Android Open Source Project, it still cannot run as-is on any actual device, since it needs proprietary programs for handling various parts of the hardware. Replicant however intends to run on actual devices while not compromising on software freedom. Hence, the proprietary parts are not part of Replicant and are instead either avoided or replaced. Over time, a good share free software replacements for the proprietary components was developed by the project, each time a new challenge for the developers involved!

This technical talk will describe how free replacements for the user-space proprietary components (in charge of the hardware) are developed by the Replicant project. Numerous examples of the general approach we use for figuring out what these proprietary parts actually do will be given. The intent of this talk is to highlight how reverse engineering such proprietary programs is often not as hard as it sounds and can in fact be accomplished without particular knowledge of very advanced techniques. The talk also intends to demonstrate that getting involved in the project only requires basic programming knowledge, time and a good share of curiosity and ingeniosity! Replicant is currently a one-man effort, hence particularly looking forward to seeing new developers getting involved.Schedule

ARM devices have become an overwhelming part of our computing, present in most embedded and mobile devices. While free software seems prominent on ARM platforms, for instance with Android on phones and tablets, and various other GNU/Linux systems on single board computers and plug computers, not all systems and platforms are equal in terms of software freedom.

Over this talk, various aspects of the platforms built around the ARM architecture will be reviewed from the perspective of software freedom. First, it will introduce what ARM is and the concept of System on a Chip (SoC) as well as the different form factors and use cases for ARM devices. An overview of the various hardware platforms that use the ARM architecture will then be drawn, along with comparisons between these platforms regarding software freedom. The communities build around some of these platforms will also be introduced. The talk will put the emphasis on the free software and systems available for each platform.

The Replicant project aims at developing a fully free derivative of Android, and focus mainly on phones. This talk will explain the freedom issues with Android and their solutions. It will also explain how Replicant is developed.