summaryrefslogtreecommitdiffstats
path: root/slides.tex
diff options
context:
space:
mode:
authordllud <dllud@riseup.net>2019-12-18 05:22:10 +0000
committerdllud <dllud@riseup.net>2019-12-18 05:22:10 +0000
commit42e944d63231e89d9c2c370e0c16c45cfe13f863 (patch)
tree93520f7902dcd2e553a3c3a1afd25455441c960d /slides.tex
parent00490859e22f75cf1cc2f0d2f31659d84c41b5b5 (diff)
downloadwebview-presentation-42e944d63231e89d9c2c370e0c16c45cfe13f863.tar.gz
webview-presentation-42e944d63231e89d9c2c370e0c16c45cfe13f863.tar.bz2
webview-presentation-42e944d63231e89d9c2c370e0c16c45cfe13f863.zip
Several new slides.
- What's the matter with Chromium - WebView and Replicant - Desktop Chromium forks - Dirty Android builds
Diffstat (limited to 'slides.tex')
-rw-r--r--slides.tex103
1 files changed, 103 insertions, 0 deletions
diff --git a/slides.tex b/slides.tex
index 6c8455e..d6786de 100644
--- a/slides.tex
+++ b/slides.tex
@@ -13,6 +13,7 @@
\usepackage{graphicx}
\usepackage[font=tiny,skip=0pt]{caption}
\usepackage{array}
+\usepackage{verbatim}
\graphicspath{{img/}}
@@ -137,7 +138,107 @@ public class MainActivity extends Activity {
\section{What's the matter with Chromium?}
\begin{frame}
\frametitle{What's the matter with Chromium?}
+ Privacy issues:
+ \begin{itemize}
+ \item Background requests to Google during build and run.
+ \item Depends on Google services for several features (e.g. Safe Browsing).
+ \item Limited privacy controls.
+ \end{itemize}
+ \bigskip
+ Freedom issues:
+ \begin{itemize}
+ \item Pre-built binaries throughout the code base.
+ \item Missing license in some source files.
+ \end{itemize}
+ \bigskip
+ Verdict: unfit for fully free-software distributions.
+\end{frame}
+
+\section{WebView and Replicant}
+\begin{frame}
+ \frametitle{WebView and Replicant}
+ \begin{columns}
+ \begin{column}{0.1\textwidth}
+ \includegraphics[width=\textwidth]{replicant}
+ \end{column}
+ \begin{column}{0.9\textwidth}
+ Replicant:
+ \begin{itemize}
+ \item Android distribution
+ \item compliant with GNU Free System Distribution Guidelines (FSDG)
+ \end{itemize}
+ \end{column}
+ \end{columns}
+ \vspace{2\baselineskip}
+ Using outdated WebView based on Chromium 43: lots of security concerns.\\
+ \vspace{2\baselineskip}
+ How to create a WebView build that respects user's privacy and freedom?
+\end{frame}
+
+\section{Chromium forks}
+
+\subsection{Desktop Chromium}
+\begin{frame}
+ \frametitle{Desktop Chromium forks}
+ \begin{itemize}
+ \item ungoogled-chromium: aligned with privacy and freedom
+ \item Bromite: can build WebView; only focused on privacy and ad blocking
+ \item Debian: replaces pre-builts with system libs; Google services not removed
+ \item Iridium: one step on every direction; not as thorough as others
+ \end{itemize}
+ \vspace{2\baselineskip}
+ \begin{columns}
+ \begin{column}{0.1\textwidth}
+ \includegraphics[width=\textwidth]{guix}
+ \end{column}
+ \begin{column}{0.9\textwidth}
+ Guix, a FSDG compliant distro, uses:\\
+ ungoogled-chromium + build recipe that removes some files.
+ \end{column}
+ \end{columns}
+\end{frame}
+
+\lstset{
+ basicstyle=\fontsize{5}{5}\ttfamily,
+ keywordstyle=\color{brown}\bfseries\underbar,
+ otherkeywords={google,Google}
+}
+
+\subsection{Dirty Android builds}
+\begin{frame}[fragile]
+ \frametitle{Dirty Android builds}
+ Android builds require many more pre-builts and proprietary dependencies.\\
+ E.g.: Google Mobile Services (GMS)\\\bigskip
+ \verb;strings classes.dex | grep google;
+ \begin{block}{Chromium 78 WebView - 227 lines}
+ \lstinputlisting{txt/chromium78-webview-google-strings}
+ \end{block}
\end{frame}
+\begin{frame}[fragile]
+ \frametitle{Dirty Android builds}
+ \verb;strings classes.dex | grep google;
+ \begin{block}{Bromite 78 WebView - 124 lines}
+ \lstinputlisting{txt/bromite78-webview-google-strings}
+ \end{block}
+\end{frame}
+\begin{frame}[fragile]
+ \frametitle{Dirty Android builds}
+ \verb;strings classes.dex | grep google;\\\bigskip
+ \begin{block}{ungoogled-chromium-android 77 WebView - 10 lines}
+ \lstinputlisting{txt/ungoogled77-webview-google-strings}
+ \end{block}
+ \begin{block}{Replicant 6 WebView - 7 lines}
+ \lstinputlisting{txt/replicant6-webview-google-strings}
+ \end{block}
+\end{frame}
+
+\subsection{Android Chromium}
+
+\subsection{Stepwise cleansing}
+
+\section{GeckoView shim}
+
+\section{GeckoView on apps}
\section{Feedback?}
\begin{frame}
@@ -203,6 +304,8 @@ public class MainActivity extends Activity {
Thorium logo & \url{https://github.com/sschueller/peertube-android} & AGPLv3 \\
WebKit logo & \url{https://en.wikipedia.org/wiki/File:WebKit_logo_(2015).svg} & non-free (fair use) \\
Chromium logo & \url{https://commons.wikimedia.org/wiki/File:Chromium_11_Logo.svg} & CC-BY 2.5 \\
+ Replicant logo & \url{https://ftp.osuosl.org/pub/replicant/artwork/replicant_artwork.tar.gz} & CC-BY-SA 3.0 \\
+ Guix logo & \url{https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/} & CC-BY-SA 4.0 \\
everything else & this slideshow & CC BY-SA 4.0
\end{tabular}
\end{frame}