% Cinquante minutes

\documentclass{beamer}

\usetheme{boxes}

\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}

\usepackage{bortzmeyer-utils}

\author[Stéphane Bortzmeyer]
{
  Stéphane Bortzmeyer \texttt{stephane+tourainetech@bortzmeyer.org}
}

\title[Politique]{Le code est-il neutre ?}

\date[2023]
{Touraine Tech, 20 janvier 2023} % https://touraine.tech/

%\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} 
% \setlength{\parskip}{15pt} 
\setbeamersize{text margin left=0.2cm,text margin right=1.8cm}
\addtobeamertemplate{frametitle}{}{\vspace{-10pt}} % decrease
\setlength{\parskip}{15pt plus 10pt minus 10pt} 
\newcommand{\of}{.6}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}
  \frametitle{« Je ne fais pas de politique »}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->C'est ce que disent beaucoup de programmeurs et de programmeuses,
     \item<3->« Le code est neutre », % Exemple du traitement de texte
                                % qui peut servir à écrire Mein Kampf,
                                % le Manifeste du parti communiste ou
                                % Harry Potter.
     \item<4->Creusons un peu.  
    \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Il faut toujours commencer par une copie d'écran de ChatGPT}
  \includegraphics[scale=0.49]{chatgpt-neutre.png}
\end{frame}

\begin{frame}
  \frametitle{Un exemple typique}
  « \foreign{The Signal App and the Danger of Privacy at All Costs} »,
  par Reid Blackman, \foreign{New York Times}, 28 décembre 2022 : % https://www.nytimes.com/2022/12/28/opinion/jack-dorseys-twitter-signal-privacy.html
  Signal est politique, c'est horrible ! % https://fair.org/home/nyt-worries-big-brother-is-not-watching-you/ (mauvaise traduction en https://grenoble.ninja/le-nyt-s-inquiete-que-big-brother-ne-vous-surveille-pas)

  \includegraphics[scale=0.75]{new-york-times-rant.png}

  \tiny{Levez la main si vous faites partie d'un « \foreign{small
      group of technologists} ».}
\end{frame}

\begin{frame}
  \frametitle{Mais peut-on faire un logiciel non-politique ?}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Précisions : politique au sens des décisions qu'on prend
       en commun pour les affaires publiques, pas au sens de « qui
       sera premier ministre »,
     \item<3->Aujourd'hui, beaucoup d'activités humaines passent par
       un logiciel,
     \item<4->Le logiciel permet ou interdit certaines choses, rend
       facile ou difficile des activités.
    \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Premier exemple : le chiffrement, bien sûr}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Sans chiffrement, tout le monde peut se servir, États,
       polices, gangsters,
     \item<3->Si vous dites que vous n'avez rien à cacher, je vous
       demande de mettre une \foreign{sex tape} sur PeerTube,
     \item<4->Donc, il faut chiffrer.
     \item<5->Mais cela peut être plus ou moins difficile !
     \item<6->Si c'est difficile\only<6>{ (Telegram…)}, la vie privée sera réservée aux
       informaticiens.
     \item<7->Bref, qu'on chiffre ou pas, ce sera politique : ça aura
       des conséquences pour les utilisateurices.
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Deuxième exemple : Unicode}
  Blog de Daniel Stenberg, l'auteur de curl, 14 décembre 2022. % https://daniel.haxx.se/blog/2022/12/14/idn-is-crazy/
  Les IDN sont les noms de domaine en Unicode, comme
  \dns{réussir-en.fr}.

   \includegraphics[scale=0.56]{stenberg-idn.png}
\end{frame}

\begin{frame}
  \frametitle{Mais pourquoi Unicode ?}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Parce que les humains utilisent différents systèmes d'écriture,
     \item<3->Et ce n'est pas négociable\only<3>{ (ah, si seulement
       tous ces étrangers se décidaient à parler anglais)},
     \item<4->Ce n'est pas Unicode qui est compliqué, ce sont les
       écritures humaines,
     \item<5->Ne \emph{pas} gérer proprement Unicode dans son
       logiciel, c'est délibérement exclure des utilisateurs : c'est
       politique.
     \item<6->Ce n'est pas par hasard que les IDN sont surtout
       attaqués par les Occidentaux.  
     \item<7->Note au passage : on qualifie souvent de « politique »
       les \emph{actions} alors que les \emph{inactions} sont tout
       autant politiques.  
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Troisième exemple : le tri dans un réseau social}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Vous savez que Twitter, Facebook et les autres
       n'affichent pas tous les messages de vos relations, et pas dans
       un ordre chronologique,
     \item<3->Tout tri se fait sur la base de critères, qui sont un
       choix politique,
     \item<4->Ne pas trier (Pleroma, Mastodon) est aussi un choix politique,
     \item<5->Beaucoup de gens ont des demandes irréalistes, par
       exemple réclamer un moteur de recherche « neutre »,
     \item<6->Autre exemple, bien sûr, Parcoursup. Choix très
       politiques mais pas toujours assumés comme tel. % Le code est
       % tellement complexe que je ne suis pas sûr que les
       % programmeurs aient eu un cahier des charges complet et
       % rigoureux. Pas mal de décisions ont sans doute été prises par
       % le programmeur en bout de chaine.
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Quatrième exemple : tester avec plusieurs navigateurs}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Chrome a aujourd'hui une position dominante dans les
       navigateurs Web,
     \item<3->Résultat, Google contrôle largement les évolutions du Web,
     \item<4->Ne tester le site Web qu'on développe qu'avec Chrome,
       c'est aider Google,
     \item<5->Répondre aux utilisateurs qui se plaignent que ça
       déconne qu'ils n'ont qu'à utiliser Chrome, c'est aider Google.
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Cinquième exemple : justement, en parlant du Web…}
  \begin{overlayarea}{\textwidth}{\of\textheight}
    (Bon, Ploum en a largement parlé hier, donc je passe vite.)
     \begin{itemize}
     \item<2->Écrire un navigateur Web est aujourd'hui une tâche quasi-impossible,
     \item<3->Le Web est devenu bien trop gros et trop complexe,
       excluant tout nouveau navigateur,
     \item<4->Faut-il un Web plus modéré\only<4->{ (oui, les derniers
       gadgets CSS et Javascript, c'est d'eux dont je parle)} ?
     \item<5->Ou carrément repartir à zéro avec un système simple
       comme Gemini ?
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Sixième exemple : centralisé vs. décentralisé}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Ce n'est pas une décision purement technique,
     \item<3->Un système centralisé, même géré par des gentils, court
       toujours le risque d'être capturé\only<3>{ (Twitter…)},
     \item<4->Et la chaine de blocs ? Cette fois, le but politique est
       plus explicite.
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Septième exemple : le magasin d'applications}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Inventé sauf erreur par Debian en 1993,
     \item<3->Très pratique,
     \item<4->Mais empêcher les utilisateurs d'utiliser autre
       chose\only<4>{ (iOS, certains Android)} ?
     \item<5->La sécurité ? Elle a bon dos. % FranceConnect qui exige un téléphone non rooté https://linuxfr.org/users/jadfa/journaux/franceconnect-et-vous
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Huitième exemple : nom et prénom}
  \begin{overlayarea}{\textwidth}{\of\textheight}
        (Bon, Cécile et Iris en ont largement parlé hier, donc je passe vite.)
     \begin{itemize}
     \item<2->Souvent, le code impose des contraintes rigides, qui ne
       collent pas avec ce qui est socialement existant et/ou possible,
     \item<3->Par exemple, si le code ne permet pas de changer le
       prénom d'une personne, comment les personnes transgenre vont
       faire ? \only<3>{ « L'ordinateur ne veut pas »}
     \item<4->Référence obligatoire : « \foreign{Falsehoods
       Programmers Believe About Names} » % https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/  
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Neuvième et dernier exemple : les traqueurs}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Les applications sur mobiles sont souvent bourrées de traqueurs,
     \item<3->\url{https://exodus-privacy.eu.org/} en analyse
       beaucoup,
     \item<4->Mais le choix est parfois indirect : le développeur a
       utilisé une bibliothèque… contenant les traqueurs.
     \end{itemize}  
  \end{overlayarea}
\end{frame}

 \begin{frame}
  \frametitle{Peut-on faire un logiciel qui ne serait utilisable que pour le Bien ?}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Difficile techniquement\only<2>{ (conséquences
       inattendues)},
     \item<3->Attention aux promesses irréalistes\only<3>{ (« sur
       Mastodon, tout le monde est bienveillant »)},  
     \item<4->Et qui décide de ce qui est Bien ?
    \end{itemize}  
  \end{overlayarea}
\end{frame}

\begin{frame}
  \frametitle{Conclusion}
   \begin{overlayarea}{\textwidth}{\of\textheight}
     \begin{itemize}
     \item<2->Les choix techniques sont complexes,
     \item<3->Beaucoup de critères sont à prendre en compte,
     \item<4->Mais ne cachez pas les conséquences politiques de vos
       choix !
     \item<5->Si nos choix n'avaient pas de conséquences dans le monde,
       nous serions moins payés :-)  
     \end{itemize}  
  \end{overlayarea}
\end{frame}

\end{document}
