summaryrefslogtreecommitdiffstats
path: root/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex')
-rw-r--r--Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex1532
1 files changed, 1532 insertions, 0 deletions
diff --git a/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex b/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex
new file mode 100644
index 0000000..be62825
--- /dev/null
+++ b/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex
@@ -0,0 +1,1532 @@
+\documentclass{beamer}
+\usepackage[english]{babel}
+\usepackage{color}
+\usepackage{graphicx}
+\usepackage{ifthen}
+\usepackage[utf8]{inputenc}
+\usepackage{ulem}
+\usepackage{listings}
+\usepackage{pdfpages}
+\usepackage{tikz}
+\usepackage{xtab}
+
+\newcommand{\outputpicture}[2] {
+ {\includegraphics[scale=#1]{output/#2}}
+}
+\newcommand{\devicepicture}[1] {
+ {\includegraphics[scale=0.5]{../../external_resources/replicant_website/images/supported-devices/#1.png}}
+}
+
+%% \usetheme{Singapore}
+
+\title{Extending the lifetime of smartphones with Replicant, a fully free Android distribution}
+\author{Denis 'GNUtoo' Carikli and David 'dllud' Ludovino}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Introduction}
+
+\begin{frame}
+ \center{Introduction}
+\end{frame}
+
+\begin{frame}
+ \center{Replicant:}
+ \begin{itemize}
+ \item Fully free Android distribution approved by the FSF
+ \item But the hardware it runs on is not...
+ \item More details on hardware related freedom issues later %% TODO
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Quick Facts}
+ \begin{itemize}
+ \item Website: replicant.us
+ \item Exists since September 2009
+ \item Currently based on LineageOS
+ \item Android versions:
+ \begin{itemize}
+ \item Replicant 6: Android 6, last security update: October 2017\cite{last-android-6-update}
+ \item Replicant 9: Android 9, work in progress\cite{porting-to-android-9}
+ \end{itemize}
+ \item Supports $\sim$ 10 devices (smartphones and tablets)
+ \item $\sim$ 2 full time equivalent contributors and a big community
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Minimum feature set required to support a device:}
+ \begin{itemize}
+ \item Display working and graphics fast enough
+ \item Sound working
+ \item Be able to make calls
+ \item etc
+ \item GPS, Camera, and other non crucial hardware may not work, or work in later releases
+ \end{itemize}
+\end{frame}
+
+{
+ \begin{frame}
+ \center{A very short introduction on hardware:}
+ \outputpicture{0.8}{i9300_hardware.png}
+%% \float
+ %% \setbeamercolor{block body}{fg=red}
+ %% \begin{block}
+ \begin{itemize}
+ \item System on a chip
+ \item Smartphones and the modem
+ \end{itemize}
+ %% \end{block}
+ \end{frame}
+}
+
+\begin{frame}
+ \center{Why Android?}
+ \begin{itemize}
+ \item Advantages:
+ \begin{itemize}
+ \item GUI and applications adapted to big fingers
+ \item $\rightarrow$ run on devices that:
+ \begin{itemize}
+ \item Lack keyboard
+ \item Have capacitve touchscreen and no stylus
+ \item Have very small displays with very high number of pixel
+ \end{itemize}
+ \end{itemize}
+ \item Issues
+ \begin{itemize}
+ \item Part of the GNU/Linux software architecture is light years away: package management and build system, graphics, audio, etc
+ \item Huge unknown code from Google
+ \item Meant to run proprietary software, not to empower users
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Android: From time to market driven architecture to substainability}
+ \begin{itemize}
+ \item SOCs, WiFi chips, smartphones and tablets
+ \begin{itemize}
+ \item Write the code that work as fast as possible
+ \item Support as many hardware features as possible
+ \item $\rightarrow$ Varying code quality
+ \item $\rightarrow$ Example: One driver rewritten 3 times %% TODO: reference
+ \end{itemize}
+ \item Breaking Kernel API and ABI
+ \begin{itemize}
+ \item It can take time (years) to bring in a new framework in Linux
+ \item Example of API breakage: HTC dream audio driver
+ \item Solution: Apps $\leftrightarrow$ Android framework $\leftrightarrow$ HAL $\leftrightarrow$ Kernel
+ \item Getting better in Android: Trebble and Generic Kernel images
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Ugly code is good (for freedom):}
+ %% TODO: replace with [blobby from OpenBSD] VS [dirty tux] -> [freedo]
+ \begin{itemize}
+ \item Having the source code under free software licenses, even if the code quality is bad is crucial for freedom:
+ \begin{itemize}
+ \item Hardware bringup is often made that way anyway
+ \item Things can be improved later:
+ always be cleaned up later or if the code quality is too bad, rewritten from scratch
+ \item Having the source code under a free software license is very important
+ \item Worst case: use the source code as documentation or reverse engineer it (add prints)
+ \end{itemize}
+ \item $\rightarrow$ We depend on that source code
+ \end{itemize}
+\end{frame}
+
+%% \begin{frame}
+%% \center{What affect a device lifetime in Replicant?}
+%% \begin{itemize}
+%% \item Upstream support $\leftarrow$ We're working on it
+%% \item Android RAM consumption VS device RAM size $\leftarrow$ Very little leverage from Replicant
+%% \item Removable batteries and developers being able to get the device $\leftarrow$ We don't support devices without removable batteries
+%% \item Freedom issues (Chinese whispers) $\leftarrow$ Conflicting interests
+%% \end{itemize}
+%% \end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+{
+\setbeamercolor{background canvas}{bg=black}
+\setbeamercolor{normal text}{fg=white}
+\usebeamercolor*{normal text}
+\begin{frame}
+ \center {
+ [
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ OK
+ \setbeamercolor{normal text}{fg=white}
+ \usebeamercolor*{normal text}
+ ] Listened to the background introduction.
+ }
+\end{frame}
+}
+
+{
+\setbeamercolor{background canvas}{bg=black}
+\setbeamercolor{normal text}{fg=white}
+\usebeamercolor*{normal text}
+\begin{frame}
+
+ \center {
+ [
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ OK
+ \setbeamercolor{normal text}{fg=white}
+ \usebeamercolor*{normal text}
+ ] Listened to the background introduction. \\
+ \setbeamercolor{normal text}{fg=white}
+ \usebeamercolor*{normal text}
+ \hspace{4.5em}
+ Starting second part about sustainability.
+ }
+\end{frame}
+}
+
+\section{Smartphones lifetime}
+
+\begin{frame}
+ \center{Part II: Smartphones lifetime}
+\end{frame}
+
+
+\setbeamercolor{background canvas}{bg=black}
+\setbeamercolor{normal text}{fg=green}
+\usebeamercolor*{normal text}
+
+{
+ \setbeamercolor{normal text}{fg=white}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ What I'm about to tell you is subversive...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ $<$subversive$>$
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Once upon a time...
+ }
+ \end{frame}
+}
+
+\begin{frame}
+ \center {
+ \large{Dave didn't want to buy a smartphone...} \\
+ \bigskip
+ \small{
+ "Nearly all Present-day cell phones are Stalin's dream” \\
+ Richard Stallman\cite{stalin-dream}
+ }
+ }
+\end{frame}
+
+\begin{frame}
+ \center {
+ \large{But...} \\
+ \bigskip
+ \small{
+ $\rightarrow$ [[Peer pressure]] and advertizing \\
+ $\rightarrow$ Employment (exploitation?)
+ }
+ }
+\end{frame}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ You need to be reeeeachable at all timesssss.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: okay okay, I finally bought a smartphone.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave bought an Android smartphone off the shelf. \\
+ The smartphone has a removable battery.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ This smartphone will self-destruct in 5 years
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Why didn't I know that at the time of buying?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Two years later...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Hmmm
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: What?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I'm sorry Dave, your battery ran out.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Game Over: Buy a new phone.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Play again! Insert a new battery to continue!
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave buys a new battery.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Uhhh consumers like Dave are tiring me...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: I'm a humain beeing!
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Uh oh.
+ }
+ \end{frame}
+}
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Hmmm
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: What now?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I'm sorry Dave, your smartphone ran out of software support.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Shiiit
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ %% TODO: Charlie chaplin like interlude
+ Dave doesn't want to destroy the planet
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: \\
+ \sout{No passaran} \\
+ \sout{You shall not pass} \\
+ I shall not buy a new smartphone.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: I can still run Android apps.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Securityyyy....
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: my smartphone is full of backdoors anyway.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: You're part of my threat model.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Shit they become more and more clever.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Hmmm?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I'm sorry Dave, the Android apps don't support your old Android version.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Shiiit
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Fuck you, I'll install LineageOS.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I'm sorry Dave, you will loose your data in the process.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: \\
+ I'll migrate the data myself. \\
+ DIY is great ! \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave Dave please remain with us...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave:
+ I don't trust you.
+ Fuck off! \\
+ Leave me alone! \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Two years later...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave was living happily \sout{ever after} and forgot about his smartphone \\
+ (and all the backdoors...).
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I'm sorry Dave, LineageOS dropped support for your smartphone.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=green}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave faints...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: How is that possible?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Knock Knock Dave...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Do you want the red pill [y/N]?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Do you want the red pill [y/N]?
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ Y
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Fuck yes I want the red pill!
+ }
+ \end{frame}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section{Replicant}
+
+{
+ \setbeamercolor{background canvas}{bg=white}
+ \setbeamercolor{normal text}{fg=black}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Part III: The Phantom Menace
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave, you've been living in a dream...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Until recently the Linux kernel in your phone was very heavily modified...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Our informations are scarse and sometimes outdated...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ But we deduced that in 2008 the device and chip manufacturers did that to improve the time to market...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ But who care about time to market when most of the humans will die with 2 degrees?
+ }
+ \end{frame}
+}
+
+%%TODO: fix /!\
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ HAL: %% /!\
+ Warning: Anarcho-ecolo-communist terrorist detected
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Good idea!
+ }
+ \end{frame}
+}
+
+%% TODO: improve error
+{
+ \setbeamercolor{normal text}{fg=red}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Kernel panic: error -1: Operation not permitted \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ So they abstract the kernel in libraries that are often nonfree.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Like the libril which implements the modem protocol, and in some cases a backdoor too...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: Shiit...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave: So they own us?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ In some way yes, but we have the devices, so we can still fight back.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ For instance we have greater assurance of not being recorded, but if you left your phone on, they know where you are.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Shit.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=white}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Dave panicks and removes the battery.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ You trapped me! \\
+ Because we're at the same location, they know I'm in the resistance now!
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I don't use a smartphone so they don't know where I am.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ By the way: Welcome to the Resistance.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{background canvas}{bg=white}
+ \setbeamercolor{normal text}{fg=black}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ %% TODO: attack of the clones with Replicant instead
+ Part IV: The counter attack of the \sout{clones} Replicants
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ How to fight back? Do I need a \sout{light saber} soldering iron?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I've no definite answer on that, many things were tried in the past.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Revolutions, assasinations, armed conflicts, theft, strikes, teaching, living in remote communities, regicides, and even making a bank.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ But besides remote communities and self-management spaces within the system, we didn't get rid of abuse of power yet.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I meant for smartphones.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ I'm sorry Dave, as of today smartphones can't respect your freedom.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ They track you with a deadly precision.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Our sources indicated us 10 or 20 meters for GSM and 3G.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ But replacing more and more nonfree software by free software limits the damage.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ We have several fully free software GNU/Linux distributions and even Replicant, a fully free Android distribution.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Replicant is almost as old as \sout{the Matrix} Android.
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ So if I've a supported device that has a removable battery, will it last longer with Replicant?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Not yet.
+ }
+ \end{frame}
+}
+
+\section{Breaking the chains}
+
+{
+ \setbeamercolor{background canvas}{bg=white}
+ \setbeamercolor{normal text}{fg=black}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ %% TODO: attack of the clones with Replicant instead
+ Part IV: Breaking the chains
+ }
+ \end{frame}
+}
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% And in some places where the resistance is strong.
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% There are communities operating various types of wireless networks.
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% We could take advantage of that, but then would we still really need smartphones?
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% Replicant is still heavily based on LineageOS.
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% So if LineageOS didn't port a device to new Android versions...
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% Replicant would also need to drop that device for new Android versions.
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% But many projects are working to get rid of hardware vendor kernels.
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{normal text}{fg=violet}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% Including Replicant, postmarketOS, LineageOS and even Android are involved.
+%% }
+%% \end{frame}
+%% }
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Some smartphones have longer software support... \\
+ But they have batteries that cannot be easily removed... \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Others are meant to be repaired... \\
+ But the software support is bad... \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ So we lost? \\
+ There are many many smartphones being produced each years... \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ What you must learn is that these rules are no different than rules of a computer system. \\
+ Some of them can be bent, others can be broken. \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Most modern smartphones have non removable batteries! \\
+ It's hopeless! \\
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Free your mind...
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Do you think that the number of smartphones has anything to do with their strength?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=blue}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ Right, but how?
+ }
+ \end{frame}
+}
+
+{
+ \setbeamercolor{normal text}{fg=violet}
+ \usebeamercolor*{normal text}
+ \begin{frame}
+ \center {
+ We're going to hangup on this political system,
+ and then show these people what thoses in power don’t want them to see.
+ We're going to show them a world without power.
+ A world without forced rules or controls, borders or boundaries.
+ A world where anything is possible.
+ Where we go from there, is a choice I leave to the people.
+ }
+ \end{frame}
+}
+
+\section{Real world}
+
+\setbeamercolor{background canvas}{bg=white}
+\setbeamercolor{normal text}{fg=black}
+\usebeamercolor*{normal text}
+\begin{frame}
+ \center{Part V: Back to the real world}
+\end{frame}
+
+\begin{frame}
+ \center{Replicant 6 $\rightarrow$ More recent Android.}
+\end{frame}
+
+\begin{frame}
+ \center{Requirements += Replacable battery:}
+ \begin{itemize}
+ \item No need to rush to support the device
+ \item The device lasts longer
+ \item $\rightarrow$ In line with upstreaming longer term work.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Devices supported by Lineage 16 with a removable battery:}
+ \begin{itemize}
+ \item Qualcomm MSM8*:
+ \begin{itemize}
+ \item Fairphone: FP2
+ \item LG: G3 (many versions)
+ \item OPPO: Find 7a/s
+ \item Samsung: Galaxy Note 3 LTE (Many versions)
+ \item Samsung: Galaxy S III Neo (2 versions)
+ \item Samsung: Galaxy S5 Active
+ \item Samsung: Galaxy S5 LTE (Many versions)
+ \item Samsung: Galaxy S5 LTE Duos (Many versions)
+ \item Wileyfox: Swift
+ \end{itemize}
+ \item Qualcomm APQ8*
+ \begin{itemize}
+ \item Samsung: Galaxy S4 (Many versions)
+ \item Samsung: Galaxy S4 Value Edition (GT-I9515/L)
+ \item Samsung: Galaxy S4 Active
+ \item Samsung: Galaxy S5 LTE-A
+ \item Samsung: Galaxy S5 Plus
+ \end{itemize}
+ \item Samsung Exynos 7580:
+ \begin{itemize}
+ \item Samsung: Galaxy S5 Neo
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Limiting freedom, privacy and security attacks:}
+ \begin{itemize}
+ \item Isolated modem:
+ \begin{itemize}
+ \item Modem not in the SOC.
+ \item No shared memory (RAM) between the modem and the SOC.
+ \begin{itemize}
+ \item HSIC: USB-like, the host control re-enumeration.
+ \item MIPI: Should be OK, not extensively reviewed.
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Devices supported by Lineage 16 with a removable battery:}
+ \begin{itemize}
+ \item \sout{Qualcomm MSM8*:} Modem in the SOC
+ \begin{itemize}
+ \item \sout{Fairphone: FP2}
+ \item \sout{LG: G3 (many versions)}
+ \item \sout{OPPO: Find 7a/s}
+ \item \sout{Samsung: Galaxy Note 3 LTE (Many versions)}
+ \item \sout{Samsung: Galaxy S III Neo (2 versions)}
+ \item \sout{Samsung: Galaxy S5 Active}
+ \item \sout{Samsung: Galaxy S5 LTE (Many versions)}
+ \item \sout{Samsung: Galaxy S5 LTE Duos (Many versions)}
+ \item \sout{Wileyfox: Swift}
+ \end{itemize}
+ \item Qualcomm APQ8*
+ \begin{itemize}
+ \item Samsung: Galaxy S4 (Many versions)
+ \item Samsung: Galaxy S4 Value Edition (GT-I9515/L)
+ \item Samsung: Galaxy S4 Active
+ \item Samsung: Galaxy S5 LTE-A
+ \item Samsung: Galaxy S5 Plus
+ \end{itemize}
+ \item Samsung Exynos 7580:
+ \begin{itemize}
+ \item \sout{Samsung: Galaxy S5 Neo} Modem $\leftrightarrow$ SOC: shared memory
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Hmmm}
+ \begin{itemize}
+ \item $\rightarrow$ No Exynos with removable battery and isolated modem.
+ \item $\rightarrow$ All the devices supported by Replicant 6.0 have been dropped.
+ \item $\rightarrow$ We'd like to support the devices longer...
+ \item The APQ* also look interesting, we would need to do more research on it:
+ \begin{itemize}
+ \item Isolated modem?
+ \item Upstream support for the SOC?
+ \item Nonfree bootloader ($\sim$ BIOS+GRUB) (signed?)
+ \item Probably way more work needed (different modem, more upstreaming work).
+ \end{itemize}
+ \item We also took the decision when LineageOS didn't support these.
+ \end{itemize}
+\end{frame}
+
+\section{Part III}
+\begin{frame}
+ \center{Part III}
+\end{frame}
+
+\begin{frame}
+ \center{Already supported by Replicant 6.0:}
+ \begin{itemize}
+ \item Galaxy SIII (I9300): Good upstream status, modem support lacking, and other small fixes to do.
+ \item Galaxy Note II (I9300): Good upstream status, modem and display support lacking.
+ \item Galaxy SIII 4G (I9305) and Galaxy Note II 4G (N7105): Different modem.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Making devices more sustainable:}
+ \begin{itemize}
+ \item $\rightarrow$ Upstream Linux $\rightarrow$ We can support them longer.
+ \item $\rightarrow$ Most Replicant users and developers already have one.
+ \item $\rightarrow$ Known hardware that works and can still be bought second hand.
+ \item Remaining issues:
+ \begin{itemize}
+ %% $\rightarrow$ Repurpose the device and run GNU/Linux when not supported anymore.
+ \item RAM size and new Android versions.
+ \item Nonfree bootloader.
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Main blocker: Nonfree bootloader}
+ \begin{itemize}
+ \item Nonfree $\rightarrow$ Incentive to drop the device.
+ \item Partially free u-boot port $\rightarrow$ can't redistribute the nonfree part.
+ \item Research to understand if we can make it fully free (XBOOT).
+ \item Stock bootloader incompatible with Linux...
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Upstream Linux bootloader requirements}
+ Documentation/arm/Booting (since 2003):
+ \begin{verse}
+ The MMU must be off.
+
+ Instruction cache may be on or off.
+
+ Data cache must be off.
+ \end{verse}
+\end{frame}
+
+\begin{frame}
+ \center{Some funding later...}
+\end{frame}
+
+\begin{frame}
+ \center{Replicant 9.0:}
+ \begin{itemize}
+ \item Galaxy SIII booting, modem initialized.
+ \item Still work to do(testing, audio, networking, etc.).
+ \item Slowed down by conferences and other Replicant work (XBOOT, Replicant 6, etc).
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \center{Future directions:}
+ \begin{itemize}
+ \item Finish the research on XBOOT.
+ \begin{itemize}
+ \item https://github.com/xboot/xboot
+ \end{itemize}
+ \item Look into devices like the PinePhone and the Librem5.
+ \item Share more work with GNU/Linux upstream (OFono, other hardware support libraries).
+ \end{itemize}
+\end{frame}
+
+%% {
+%% \setbeamercolor{background canvas}{bg=black}
+%% \setbeamercolor{normal text}{fg=green}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% \less $\slash$ subversive \gtr
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{background canvas}{bg=black}
+%% \setbeamercolor{normal text}{fg=green}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% <real mode>
+%% }
+%% \end{frame}
+%% }
+
+
+
+%% %% TODO: also add picture of the 8086 + internals
+%% {
+%% \setbeamercolor{normal text}{fg=green}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% %% From cpu/x86/16bit/entry16.inc in Coreboot
+%% \begin{verbatim}
+%% movw %cs, %ax
+%% shlw $4, %ax
+%% movw $nullidt_offset, %bx
+%% subw %ax, %bx
+%% lidt %cs:(%bx)
+%% movw $gdtptr16_offset, %bx
+%% subw %ax, %bx
+%% lgdtl %cs:(%bx)
+%% \end{verbatim}
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{background canvas}{bg=white}
+%% \setbeamercolor{normal text}{fg=black}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% How all that works in practice?
+%% }
+%% \end{frame}
+%% }
+
+%% {
+%% \setbeamercolor{background canvas}{bg=white}
+%% \setbeamercolor{normal text}{fg=black}
+%% \usebeamercolor*{normal text}
+%% \begin{frame}
+%% \center {
+%% How all that works in practice?
+%% }
+%% \end{frame}
+%% }
+
+%% \begin{frame}
+%% Licenses:
+%% \begin{itemize}
+%% \item The SIM card and BTS pictures comes from \url{https://en.wikipedia.org/wiki/File:Gsm_network.png} and are under the GFDL 1.2 or the Creative commons Attributions-Share ALike 3.0 Unported.
+%% \begin{itemize}
+%% \item GSM: \url{http://wiki.openmoko.org/wiki/QtMoko}
+%% \item SHR pictures: \url{http://wiki.openmoko.org/wiki/SHR_User_Manual}
+%% \end{itemize}
+%% \item HTC Dream: \url{https://commons.wikimedia.org/wiki/File:HTC_Dream_opened.jpg}
+%% Creative Commons Attribution 3.0 Unported
+%% \item \url{https://creativecommons.org/licenses/by-sa/4.0/} for the rest.
+%% \end{itemize}
+%% \end{frame}
+
+\begin{frame}
+ Licenses:
+ \begin{itemize}
+ \item The SIM card and BTS pictures comes from \url{https://en.wikipedia.org/wiki/File:Gsm_network.png} and are under the GFDL 1.2 or the Creative commons Attributions-Share ALike 3.0 Unported.
+ \item This presentation: CC-BY-SA 4.0 International.
+ \item The Galaxy SIII picture: CC-BY-SA 4.0 International.
+ \end{itemize}
+\end{frame}
+
+\begin{thebibliography}{99}
+\bibitem{stalin-dream}
+ \url{https://stallman.org/archives/2011-nov-feb.html}
+\end{thebibliography}
+\end{document}