news

Dépêches sur la téléphonie


Project maintained by OpenWifiPhone Hosted on GitHub Pages — Theme by mattgraham

Quel système d’exploitation pour nos téléphones ?

Qui pourrait se passer de son téléphone ? Celui-ci devient de plus en plus puissant, remplaçant souvent l’ordinateur. Ainsi, 17 % des français possédaient un smartphone en 2011 et 73 % en 2017.[réf]

Mais avons-nous le contrôle sur notre téléphone ? Acheter un ordinateur avec un OS libre est plutôt facile. Et pour libérer nos téléphones ? Faisons le tour des nombreuses initiatives. 📱😍

Deux développeuses utilisent toujours leurs bons vieux téléphones

Cet article est également publié sur LinuxFr.org sous la forme de sept dépêches :

  1. Les premières initiatives ☎😍
  2. La lignée de Maemo à Nemo 🔒
  3. Le libre sur la planète Android 🤖💚
  4. La saga Firefox OS 🦊🚀
  5. Ubuntu pour unifier ordinateur et téléphone 🖥️📲
  6. Les récents projets qui risquent de chambouler le monde 🌍
  7. Une synthèse des commentaires de toutes ces dépêches 🤷

Cet article est disponible sur deux dépôts Git miroirs : Framagit et GitHub. Tu peux nous aider à améliorer cet article en proposant ta poule ricouestte. 🐔



  1. Les premières initiatives ☎😍

Dans les années 90, nos téléphones n’étaient pas libres. Mais, au début des années 2000, des libristes s’organisent et une multitude de projets apparaissent. Ce chapitre est une rétrospective de ces bons vieux projets des débuts. C’était aussi la mode des GIF animés 🐧

Tux parle au téléphone

1.1 Qtopia Phone Edition

Logo de Qt_Extended

              Qtopia
            (Trolltech)
                 |
Symbian^1        ▼
Symbian^2 ◀──▶  Qt
Symbian^3    Extended
 (Nokia)      (Nokia)
                 |
                 ▼
               QtEI
           (Communauté)

Pour l’anecdote, après avoir dissout la société norvégienne Trolltech Qt Software (2010), Nokia revend Qt à Digia (2012). Cette dernière recrée à nouveau la société, mais en Finlande (2014), puis l’introduit en bourse sous le nom de Qt Group (2016).

Vidéo : 41 secondes pour se faire une idée du Qtopia Greenphone (2007)

1.2 OPIE

Mascotte de OPIE dans une bulle

   Qtopia   ─▶ OPIE
(Trolltech)  (Communauté)
     |
     ▼
Qt Extended ─▶ QtEI
  (Nokia)    (Communauté)

OPIE n’est pas un système d’exploitation, mais, tout comme G(PE)^2, il est un environnement graphique complétée par 80 applications. OPIE est basée sur Qt, au contraire de G(PE)^2 qui est basé sur GTK+.

OPIE a souvent été utilisé sur un système d’exploitation libre comme [[Familiar Linux]] (2001-2007), [[OpenZaurus]] (2002-2006) et Ångström (2007-2018). Ce sont des systèmes d’exploitation conçus à l’origine pour [[PDA]] et [[ordinateur de poche]] mais peuvent aussi équiper des téléphones.

Vidéo : OPIE avec Ångström sur un Sciphone G2 en 2011 (3 minutes)

1.3 GPE Phone Edition

logo de GPE

logo de GPE Phone Edition

G(PE)^2 est un environnement graphique (applications), le concurrent communautaire de OPIE. Tous deux nécessitent un système d’exploitation comme [[Familiar Linux]] (2001-2007), [[OpenZaurus]] (2002-2006) et Ångström (2007-2018). GPE fonctionnait avec ces systèmes d’exploitation sur [[PDA]] et [[ordinateur de poche]]. G(PE)^2 était adapté aux téléphones, et utilisait probablement la distribution GNU/Linux Ångström.

Vidéo : Démarrage d’une distribution GNU/Linux avec GPE-2.7 sur un [[iPAQ]] avec Windows Mobile 5, probablement en utilisant HaRET (1 minute et demi, 2007)

1.4 DeforaOS

Logo de DeforaOS

En 2004, Pierre Pronchery (khorben), en stage d’école d’ingénieur, commence à travailler sur le projet DeforaOS.

Pierre explique que le but est de proposer un environnement natif basé sur Debian et GTK+, pour différents matériels capables de démarrer un système alternatif. Le développement continue mais au ralenti car :

Pierre est toujours prêt à travailler avec une équipe pour proposer une alternative à Android et iOS. Mais cela implique un budget à 7 chiffres…

Vidéo : Conférence de DeforaOS : un voyage dans le développement d’un OS (1 heure) par Pierre Pronchery (enregistrée par l’association MiNET en 2018)

1.5 OpenWifiPhone

Logo OpenWifiPhone

En 2005, Miko et Oliver créent le projet OpenWifiPhone pour développer sur leur temps libre un téléphone 100 % logiciel libre. Le protocole GSM n’étant pas encore pris en charge par le noyau Linux, ils utilisent un SoC ARM spécialisé [[VoIP]] [[Wi-Fi]] fourni par un fondeur qui espérait que ce type de téléphones puissent remplacer les [[DECT]].

C’était aussi le début des réseaux Wi-Fi communautaires (Réseau citoyen, France Wireless…). Le logiciel grenoblois Linphone avec Speex permettait déjà des appels téléphoniques SIP. Des opérateurs commençaient aussi à installer des bornes Wi-Fi (hotspot), un bouillonnement…

Mais en 2008, les deux amis ont dû déménager dans des villes différentes, puis baisse de motivation et, en plus, les téléphones Wi-Fi ne percent pas.

1.6 La famille OpenMoko

Logo de OpenMoko

        OpenMoko
  (Openmoko Communauté)
  _________|_________
 |   |   |       |   |
 |  FDMO |       |  ...
 |       |       |
 |  Hackable:1   |
SHR            QtMoko

1.6.1 Hackable:1

Logo de Hackable:1

En 2009, Pierre Pronchery (khorben) intègre la société Bearstech, puis crée avec d’autres la distribution Hackable:1 pour fournir une [[Debian]] avec GNOME Mobile.

En 2010, une dizaine de personnes travaillent sur Hackable:1.

En 2012, le projet est progressivement abandonné.

Vidéo : 5 secondes de Hackable:1 (2009)

1.6.2 SHR

Logo de SHR

La distribution GNU/Linux SHR, qui signifiait à l’origine Stable Hybrid Release réutilise le travail d’Openmoko. Initialement créée en 2007 pour combiner GTK+ et le nouveau [[intergiciel]] (middleware) freesmartphone.org (FSO) créé par Openmoko, SHR a beaucoup évolué et les applications graphiques se basent de préférence sur les [[Enlightenment Foundation Libraries]] (EFL), mais peuvent aussi utiliser GTK+ ou Qt. Pour uniformiser la communication entre les applications, la communication entre les différentes couches du système utilise l’interface D-Bus.

La construction de l’image (ROM) utilise OpenEmbedded et le gestionnaire de paquets opkg.

SHR se veut flexible, et il peut être installé entre autres sur les téléphones Openmoko Neo Freerunner, Goldelico OpenPhoenux (GTA04) et Nokia N900. Très appréciée, la distribution était en 2010 la plus utilisée pour les téléphones Openmoko.

En 2010, le projet Yocto apparaît et SHR s’adapte pour en profiter : les couches shr-core et meta-smartphone apparaissent, et le rythme de sortie se cale sur celui de Yocto.

Depuis 2013, SHR est globalement inactif. Cependant la couche meta-smartphone, réutilisée par LuneOS, est toujours maintenue.

En 2017, la branche « shr » du dépôt meta-smartphone est finalement supprimée.

En 2018, la branche master du dépôt meta-smartphone est toujours très active, notamment grâce aux distributions LuneOS et AsteroidOS qui y contribuent.

Vidéo : Démarrage de SHR sur GTA04 en 17 secondes, une prouesse ! (2012)

1.6.3 QtMoko

Logo de QtMoko

En 2009, Nokia, alors dirigé par un ancien de chez Microsoft, abandonne le projet Qt Extended, anciennement Qtopia (code source). Immédiatement, la communauté s’organise et créé la bifurcation (fork) Qt Extended Improved (QtEI). Dans la continuité du dépôt Git de QtEI commence le projet QtMoko pour unifier le meilleur des projets communautaires QtEI et OpenMoko, notamment sur le portage vers Debian. Une première version est même publiée la même année.

  Qtopia ───▶ OPIE 
(Trolltech) (Communauté)
     |
     |    OpenMoko
     |  (Communauté)
     ▼       |
Qt Extended  |
 (Nokia)     |
     |       ▼
   QtEI ─▶ QtMoko
    (Communauté)

Bien que OPIE et QtMoko soient issus du même ancêtre Qtopia, les deux projets ne sont pas compatibles, et donc les applications OPIE ne peuvent être réutilisées sous QtMoko. Chacun développe dans son coin !

L’environnement graphique Qtopia étant sous licence GPL, toutes les applications fournies doivent également être sous la même licence. Cette limitation a pour origine le modèle économique de Trolltech qui vendait une licence commerciale (non-libre). Aucune entité étant propriétaire de l’ensemble du code source, ce n’est plus possible de s’arranger afin de fournir une application non-libre ou avec une licence incompatible avec la GPL. Ce qui peut être vu comme un avantage pour les libristes et ceux qui sont soucieux de leur vie privée, mais aussi comme un inconvénient pour ceux qui souhaitent inciter les entreprises/développeurs à proposer leurs applications non-libres ou avec d’autres licences libres. Lire le troll quand Nokia a passé une partie de Qt sous licence LGPL en 2009.

Cependant en 2014, Radek Polak, le dernier développeur, se décourage à cause, entre autres, de la consommation élevée de la batterie quand le téléphone est en veille.

Logo de la communauté tinkerphones, aciennement OpenPhoenux, qui contribue au projet QtMoko2

Néanmoins, neuf mois plus tard, c’est la renaissance du projet. Nikolaus Schaller, fervent défenseur du libre et fondateur de Golden Delicious crée la bifurcation (fork) QtMoko2. Cela tombe bien, sa société conçois des téléphones libres comme le GTA04 et le neo900. \^_^

Vidéo : Démo QtMoko sur GTA02 (3 minutes, 2011)

1.7 Symbian

logo de Symbian

Voici l’histoire de l’ouverture-fermeture du code source de [[Symbian OS]] entre 2008 et 2011 :

              Qtopia
            (Trolltech)
                 |
Symbian^1        ▼
Symbian^2 ◀──▶  Qt
Symbian^3    Extended
 (Nokia)      (Nokia)
                 |
                 ▼
               QtEI
           (Communauté)

Le SDK était complexe à mettre en œuvre et il fonctionnait uniquement sous Windows avec des outils assez mal empaquetés (packagés). Les applications étaient codées en C++ avec Qt, mais aussi, dans une moindre mesure, en Java (J2ME) et en Python. Des morceaux de Symbian sont réutilisés dans d’autres projets comme Qt Extended et Maemo. Un peu de ce code source originel subsiste dans l’ADN des descendants (MeeGo, Mer, Sailfish, Nemo) qui sont également en C++ et Qt.

Vidéos de 2010 pour se faire une idée de la progression entre Symbian\^1 (Nokia C3) et Symbian\^3 (Nokia N8) :

  1. https://youtu.be/UJNYqnnWPvw (7 minutes)
  2. https://youtu.be/GDnvqp_MYH8 (6 minutes)
  3. https://youtu.be/Rub7BDoduKw (5 minutes)
  4. https://youtu.be/GmKFzaDfhTo (6 minutes et demi)

1.8 De Palm OS à LuneOS 🌜🌠

Logo de LuneOS

   Palm OS
   (Palm)
      |
    Palm OS
 (PalmSource)
   ___|___
  |       |
webOS    ALP
(Palm) (PalmSource)
  |
webOS
(HP)  \
  |    \
  |     Open webOS
webOS  (HP + Communauté)
(LG) \           \
  |   \           \
  |webOS OSE ◀─▶ LuneOS
  |   (LG)    (Communauté)
  |     |          |
  |     |          |
 ···   ···        ···

LuneOS n’est pas un ancien projet, il est plutôt récent. Mais il est présenté dans cette première partie pour ses racines qui remontent aux années 90. Son nom provient de l’interface graphique Luna, héritage d’un long processus de maturité et souvent copié.

Pour pouvoir fonctionner sur du matériel récent, LuneOS réutilise les couches basses du projet [[LineageOS]], dont les pilotes (driver) d’Android. C’est le projet Halium qui fédère ces couches basses avec les différents systèmes d’exploitation. À part certains blobs issus des pilotes Android, tout le reste est sous licence Apache 2, MIT, GPL et LGPL.

Ainsi nous profitons de l’ergonomie intuitive issue de webOS sur des mobiles récents.   \o/   Une petite dizaine d’appareils sont déjà pris en charge officiellement dont les Nexus 4 et 5, les Xiaomi Mi A1, Redmi 5, Note 4x et aussi les Raspberry Pi 2 et 3. L’équipe webos-port privilégie les téléphones avec un bon rapport qualité/prix, une forte communauté et un bootloader déverrouillable. Historiquement, c’était les Nexus, mais depuis que Google a monté en gamme avec les Pixel, l’équipe webos-port s’est rabattue sur les téléphones Xiaomi.

LuneOS, tout comme pour SHR, utilise OpenEmbedded pour la construction de ses paquets. De plus, comme SHR était déjà installable sur les téléphones HP Palm Pre, Pre Plus et Pre2, LuneOS réutilise également une partie du projet.

Tout comme pour les projets Mer, Sailfish OS et Nemo mobile, les applications natives de LuneOS utilisent généralement la bibliothèque graphique Qt qui profitent de l’accélération matérielle avec QtWayland. D’ailleurs, l’équipe webos-ports collabore avec le projet Mer, car certaines briques de Mer sont réutilisées dans LuneOS, comme la gestion de la téléphonie.

En mars 2018, à la surprise générale, LG publie ^[1],^[2] webOS OSE (Open Soure Edition) afin d’inciter d’autres constructeurs à utiliser ce système d’exploitation dans leurs produits. Cette ouverture permet à webOS OSE de bénéficier des innovations apportées par la communauté webos-port, mais aussi de partager les améliorations et corrections de webOS OSE vers LuneOS.

En juin 2018, des représentants de LG et de webos-port se rencontrent à Paris pour mieux collaborer et choisissent le Xiaomi Mi A1 (en) comme base commune (et non pas un des téléphones LG). LG compte beaucoup sur son système d’exploitation et met à jour sa feuille de route (roadmap) régulièrement (en).

Le 28 novembre 2018, la publication de la version majeure LuneOS Doppio améliore le Bluetooth (passage de BlueZ4 à BlueZ5 et mutualise davantage son code source avec le projet Halium (en).

L’équipe webos-port est constituée d’une vingtaine de personnes et a besoin d’aide :

Ainsi, LuneOS, s’améliore progressivement et un jour une nuit, des téléphones seront peut-être vendus avec LuneOS préinstallé… lors de la pleine lune…

Pour en savoir plus, Christophe Chapuis nous présente régulièrement le projet LuneOS dont il est contributeur :

Vidéo : Démo de 5 minutes de l’application LuneTube version 0.2.0 (2016). Aujourd’hui (2018), cette application en JavaScript a beaucoup mûri et en est à la version 0.5.3.

1.8 Bilan des premières initiatives

Un rappel de ces projets des débuts par ordre de date de première publication du code source :

Parmi ces projets libres, quatre sont toujours actifs : DeforaOS, QtMoko2, LuneOS et webOS OSE.

Afin de se concentrer sur les téléphones et leurs environnements applicatifs, nous n’avons pas abordé les distributions GNU/Linux comme [[Familiar Linux]] (2001-2007), [[OpenZaurus]] (2002-2006), Ångström (2007-2018) et Poky (en). Ni les systèmes de construction d’image (ROM) comme OpenEmbedded (en) et Yocto (en). Ni les serveurs graphiques comme PicoGUI (en) et TinyX-KDrive (en). Et nous n’avons pas non plus abordé les suites applicatives comme Pimlico (en).

Le projet OsmocomBB (2010) est postérieur à la période du début des années 2000, et cette première dépêche est déjà assez longue. Nous en parlerons dans la partie 6.

Deux développeuses utilisent QtMoko et LuneOS sur leurs téléphones

Maemo

Logo de Maemo

En 2005, Nokia publie sa première distribution GNU/Linux (dérivée de Debian) dont l’interface graphique [[Hildon]] (un GNOME allégé) utilise le gestionnaire de fenêtres [[Matchbox]] et utilise [[GTK+]].

Nokia 770     Internet Tablet OS 2005 (OS2005)
                |
Nokia N800    Internet Tablet OS 2006 (OS2006)
                |
Nokia N810    OS2007  
                |
              OS2008 (Maemo4)
                |
Nokia N900    Maemo5  

Nokia stimule la communauté libre avec maemo.org. Son premier produit, le Nokia 770, est même présenté en avant première au JdLL 2005. Des applications GNU/Linux sont facilement portées comme, par exemple, Tux Paint.

Dates clés:

Le N900 a tellement été apprécié (bien mieux que les Nokia sous Windows) qu’une entreprise propose de fabriquer son successeur : le Neo900 (480 €).

MeeGo, le mariage

[[MeeGo]] est la fusion des projets Maemo (Nokia) et [[Moblin]] (Intel) afin de mutualiser leurs investissements. Les deux ancêtres utilisent des interfaces graphiques basées sur GTK+. MeeGo bénéficie d’une nouvelle interface graphique, Handset qui est cette fois-ci basé sur Qt. Nokia profite alors de l’expertise Qt Extended acquise deux ans plus tôt. Handset reste aussi compatible avec les applications GTK+ de Moblin. Pour utiliser la centaine d’applications Maemo, une application Hildon doit être installée par l’utilisateur.

Pour rappel, Moblin avait été développé à l’origine pour le processeur Intel Atom qui équipaient de nombreux [[netbook]]s, très à la mode à l’époque. Moblin signifie Mobile linux. Cela permettait aussi à Intel de mettre la pression à Microsoft pour que Windows 7 fonctionne sur les processeurs Intel Atom.

     Qtopia   →     OPIE
   (Trolltech)   (Communauté)
        |
  Qt Extended → QtEI → QtMoko
    (Nokia)      (Communauté)
        \
  Maemo  \       Moblin 
 (Nokia)  \     (Intel)
     \_____\______/
           |
         MeeGo
    (Nokia et Intel)

Mascottes de MeeGo

Les N9 (600 €) et N950 (jusqu’à 2000 € sur eBay) était considérés largement supérieurs aux téléphones de l’époque. Pour l’occasion, l’application de navigation Ovi Maps (Maemo) avait été renommée [[HERE WeGo]] (wego.here.com). Intel et Nokia ont investi un milliard dans MeeGo.

Dans sa note interne sur la plateforme pétrolière en feu, le PDG de Nokia expliquait que les concurrents ne piquent pas leurs parts de marché avec des téléphones, mais avec un écosystème. Apple et Google ont chacun réussi à créer un écosystème avec un magasin d’applications, des développeurs, du commerce électronique, des revenus, de la publicité, des applications sociales, des services de géolocalisation…

Mer, descendance communautaire

Logo du projet Mer

Ce projet a débuté en 2011 et correspond à la bifurcation (fork) de MeeGo par la communauté.

     Qtopia   →     OPIE
   (Trolltech)   (Communauté)
        |
  Qt Extended → QtEI → QtMoko
    (Nokia)      (Communauté)
        \
  Maemo  \       Moblin 
 (Nokia)  \     (Intel)
     \_____\______/
           |
         MeeGo
    (Nokia et Intel)
           |
          Mer
     (Communauté)

Le projet communautaire est toujours très actif, et cherche à faire le pont entre les projets Tizen et Sailfish OS.

Tizen, descendance industrielle

Logo de Tizen

Tizen est officiellement un projet issu et soutenu par la Linux Foundation, à l’instar de son prédécesseur MeeGo. C’est principalement Samsung qui porte financièrement ce projet.

     Qtopia   →     OPIE
   (Trolltech)   (Communauté)
        |
  Qt Extended → QtEI → QtMoko
    (Nokia)      (Communauté)
        \
  Maemo  \       Moblin 
 (Nokia)  \     (Intel)
     \_____\______/
           |
         MeeGo
    (Nokia et Intel)
         /      \
      Mer        Tizen
 (Communauté)  (Samsung)

Samsung souhaite intègrer Tizen sur ses produits afin de contourner les limitations d’Android, les contraintes de Google et récolter sans doute une part du gâteau de la vente d’applications.

Tizen est utilisé par différentes montres de la marque coréenne. Et Samsung commercialise aussi des téléphones bas de gamme sous Tizen, les Z1 (2015), Z3 (2015), Z2 (2016), Z4 (2017) vendus essentiellement en Inde et au Bangladesh. Le Z1 a été vendu à un million d’exemplaires ce qui est une petite percée assez rare pour un système alternatif.

En 2017, pour doper l’attractivité du système, Samsung organise un concours avec des gains financiers important pour les meilleures applications produites pour l’occasion.

Si Tizen est pour le moment discret dans nos contrées, Tizen a le mérite de progresser régulièrement et d’être soutenu par un grand constructeur qui place déjà ce système un peu partout même en Europe (montres et téléviseurs). Le téléphone sera sans doute le dernier et le plus délicat palier à franchir.

Sailfish OS, un nouvel espoir

Sailfish OS est la continuité de MeeGo par des anciens salariés de Nokia.

     Qtopia   →     OPIE
   (Trolltech)   (Communauté)
        |
  Qt Extended → QtEI → QtMoko
    (Nokia)      (Communauté)
        \
  Maemo  \       Moblin 
 (Nokia)  \     (Intel)
     \_____\______/
           |
         MeeGo
    (Nokia et Intel)
         /      \
      Mer        Tizen
 (Communauté)  (Samsung)
       |
  Sailfish OS
    (Jolla)

Logo de Sailfish OS

Jolla vend des appareils

En février 2011, le PDG de Nokia publiait une note interne dans laquelle il comparait Nokia à un homme sur une plateforme pétrolière en feu avec le choix de sauter dans l’eau glacée ou de périr dans les flammes. Il ne peut empêcher la commercialisation du [[Nokia N9]] à cause d’une obligation contractuelle avec Intel. Mais il annonce, à la surprise générale, l’annulation du projet MeeGo quel que soit son succès. Bien qu’il ait essayé de saborder sa commercialisation avec plusieurs limitations comme le choix de pays dont la population est peu intéressée, le N9 est un vrai succès.

En octobre 2011, c’est à dire à peu près au moment où un haut dirigeant de Microsoft est nommé CEO de Nokia, des salariés de Nokia ont profité de l’aide à la création d’entreprise pour des départs volontaires (25000 €), et c’est dans ces conditions qu’une partie de l’équipe MeeGo a quitté Nokia pour fonder l’entreprise Jolla, qui signifie [[dinghy]] (ou [[canot de sauvetage]]), une petite embarcation de quelques mètres, en référence au saut dans l’eau glacée.

Bien que la direction de Nokia ait définitivement abandonné MeeGo, celle-ci ne permet pas à Jolla de récupérer les composants non-libres : l’environnement graphique Harmattan et ses applications. Par conséquent, une nouvelle architecture est conçue en collaboration avec la communauté Mer. Malheureusement, Jolla a le même comportement que Nokia et ne publie pas le code source du nouvel environnement graphique. Le nouveau système d’exploitation s’appelle [[Sailfish OS]] et partage ses composants libres avec le projet Mer.

Dès 2011, la Sailfish Business Alliance (SBA) est créée pour rapprocher les entreprises souhaitant que Sailfish OS devienne une alternative à Android et iOS (fabricants, revendeurs, opérateurs, développeurs…). C’est dans l’esprit de la OHA (Android) mais sans aucune obligation. Des restos sont même organisés les premiers et troisième jeudis de chaque mois, où chacun paye sa part (le budget SBA est minimal).

La marque Jolla ne décollera pas malgré des points positifs :

Le Jolla 1 avec le Fairphone sont les deux derniers smartphones grand public conçus en Europe d’un point de vue matériel. Mais en 2016, Jolla qui avait environ 150 employés a du licencier, notamment dans les équipes en charge de la partie matérielle. Jolla ne conçois plus d’appareil, mais se concentre sur Sailfish OS avec une cinquantaine d’employés.

Jolla vend Sailfish OS

Fin 2015, le Fairphone 2 est commercialisé et la communauté arrive à porter Sailfish OS vers ce smartphone. Début 2016, au MWC (Barcelone), Jolla révèle être en négociation avec la société Fairphone pour équiper ces nouveaux téléphones avec Sailfish OS. Le communiqué de presse cite le DSI de Fairphone (Olivier Hebert) : « Nous sommes emballés à explorer les opportunités de collaboration commerciale avec Jolla ». Nous savons aujourd’hui qu’aucun accord n’avait été trouvé (les Fairphones ne sont pas équipés de Sailfish OS), mais nous n’en connaissons pas la raison. Nous pouvons juste supposer que cela coûtait moins cher à Fairephone de développer leur propre Fairephone OS et Fairephone Open plutôt que de payer Jolla pour Sailfish OS…

Depuis 2017, Jolla collabore avec Sony dans le cadre du programme Sony Open Devices et commercialise Sailfish X, une ROM à installer sur les Xperia X (F5121 et F5122). D’autres appareils Sony devraient pouvoir tourner sous Sailfish OS, notamment avec l’arrivée de Sailfish OS 3.0.

Jolla mise tout sur Sailfish OS v3

Pour la sortie de la v3, Jolla vient juste d’organiser un grand évènement à Helsinki le 8 novembre 2018, l’équivalent d’une keynote ;-) pour Apple. La grande conférence, fut globalement très appréciée par les fans de Sailfish OS. Par contre, il faudra attendre la fin de l’année 2018 pour avoir toutes les fonctionnalités de cette v3.0.

Deux versions sont proposés au téléchargement (en) :

Nicolas Suffys résume la troisième mouture sur son blog JollaFr qui suit l’aventure Jolla depuis le début :

  • Nouveau menu principal : les paramètres rapides et les raccourcis sont désormais accessibles de partout,
  • Ambiances : nouveau look,
  • Chiffrement des données : le chiffrement de la carte mémoire est maintenant disponible. Le chiffrement du système de fichiers du périphérique fera son entrée dans les prochaines versions,
  • Nouveaux gestes du clavier : changez rapidement la disposition du clavier en un seul geste,
  • Stockage USB On-The-Go : connectez-vous à différents types de périphériques de stockage externes
  • Améliorations de l’appareil photo

Alien Dalvik pour avoir les applications Android

Afin de bénéficier des applications Android, Jolla paye la société franco-suisse Myriad (en) pour intégrer Alien Dalvik (en) à ses ROM. Cette compatibilité Android ne se trouve donc pas dans le portage de Salfish OS par la communauté sur d’autres téléphones.

D’après l’annonce de la version 3 Lemmenjoki, le Jolla 1 restera actuellement à un équivalent Android 4.1, les autres smartphones (Jolla C, Intex Aquafish et Xperia X) resteront avec un équivalent 4.4. Jolla ne fait désormais plus que quelques opérations de maintenance sur Alien Dalvik pour l’équivalent 4.4. La version 4.1 du Jolla 1 n’est plus maintenue ce qui engendre de plus en plus de problèmes de compatibilité. Par exemple, Trainline refuse toute connexion en provenance de smartphone inférieur à Android v5.

Les téléphones officiels

Il semblerait que pour le Xperia XA2 et ses déclinaisons, puissent recevoir une nouvelle couche de compatibilité basée sur Andbox si l’on en croit le post de juhani@jolla.com dans l’une ses réponses dans le blog de Jolla. Il nous faut attendre les prochaines annonces de Jolla sur ce point. Voir également plus loin dans la nouvelle le point consacré à Andbox.

Sailfish OS pour Xperia supporte désormais le Xperia XA2 et les différentes déclinaisons.

Il est assez remarquable de noter que le Jolla 1, sorti il y a presque 6 ans désormais est toujours maintenu. Il a reçu la dernière mise à jour avec la version 3.0, étant entendu que les limitations matérielles de ce smartphone font qu’il ne pourra certainement pas bénéficier de tous les avantages de Sailfish X sur les appareils Sony (et notamment la couche Alien Dalvik). En tout cas le Jolla 1, tout comme le Jolla C, l’Intex Aquafish (converti en Jolla C) et les Xperia X, viennent de recevoir la dernière mise à jour en 3.0.0.8. La release note de la [version 3 est disponible.] (https://together.jolla.com/question/191509/release-notes-300-lemmenjoki/)

Actuellement, sous réserve des limitations liées aux versions d’Alien Dalvik mise en œuvre (4.1 pour le Jolla 1, 4.4.4 pour le Jolla C, l’Intex Aquafish et Xperia X, tous les smartphones sous Sailfish OS, à l’exception des portages, bénéficient de cette machine virtuelle Android fonctionnelle. Ils peuvent exécuter les applications issus des dépôts F-Droid, d’Aptoïde et du Google Play Store (comme Google Maps ou Firefox par exemple). De quoi étoffer la quantité d’applications disponibles étant précisé que pour le Google Play Store il est parfaitement possible de s’en passer en installant l’application Yalp disponible dans le store Jolla ou F-Droid.

Enfin, pour être complet, deux précisions complémentaires :

Points à améliorer

Pendant un moment, l’application SailSecure permettait des appels en VoIP (chiffrés), mais cela n’a pas duré. SailSecure était basée sur l’application Android LibreSignal, une bifurcation (fork) de Signal sans les dépendances [[Google Cloud Messaging]]. Mais Signal a demandé de ne pas utiliser ses serveurs. Du coup, LibreSignal et SailSecure ont du arrêter. Donc, pour passer des appels en VoIP, une application Android doit être utilisée : Conversations, Signal

L’application courriel de Sailfish OS ne permet pas de signer ses e-mail avec [[GPG]]. Par contre, l’application [[K-9 Mail]] est parfaitement opérationnelle, et fait d’ailleurs mieux que l’application de courriels native. Du coup GPG peut être utilisé grâce à [[OpenKeychain]].

L’application modRana était une application très appréciée sur Sailfish OS qui permettait d’avoir la navigation GPS en mode déconnecté (les cartes enregistrées sur le téléphones). Mais celle-ci ne fonctionne plus depuis que Jolla a changé son API. Depuis, les deux équipes ne semblent pas coopérer. :-( Une alternative est l’application Android [[OsmAnd]], parfaitement fonctionnelle, sous réserve que Jolla corrige le problème relativement récent de notifications Android qui vient quelque peu polluer le haut de l’écran et de fait, vient masquer régulièrement la direction à prendre. Une vraie application native serait cependant préférable. OsmAnd est encore capable de tourner avec le Jolla 1 mais avec son 1 Go de RAM et son petit processeur faut juste être patient, surtout quand il faut recalculer l’itinéraire. ;-)

Une demande récurrente des clients est d’améliorer la qualité du magasin d’applications pour Sailfish OS car il y a trop trop d’applications abandonnées et de qualité médiocre. Il faudrait que tous ceux qui le souhaitent viennent donner un coup de main. Tel est le cas par exemple de l’excellente application gPodder.

Le magasin d’applications Openrepos complète le magasin officiel géré par Jolla. Mais les applications que nous y trouvons sont considérées comme instables/expérimentales, bien que certaines finissent par rejoindre le magasin officiel. Les auteurs de cette dépêche ne s’en sont jamais servi, les mises à jours de Sailfish OS pouvant être problématiques. En effet, il semble qu’il faille désactiver Openrepos avant de faire une mise à jour.

Rappelons que Jolla c’est une petite équipe qui tâche de résister à la pression des GAFAM. Un article sur Engadget, aux titre et sous titre évocateurs, leur a été consacré. Jolla n’a pas la capacité financière de mener tous les fronts simultanément et cherche vraisemblablement à faire évoluer ce qui leur parait prioritaire. Par exemple le forum TJC est toujours dans une ancienne version et Jolla n’a pas encore pu le faire évoluer.

Russie

La Russie a maintes fois montré son intérêt pour cet OS, qui a le mérite de ne pas être étasunien (contrairement à Android, iOS et Windows Phone) et sans doute la proximité culturelle et géographique avec la Finlande où est basée Jolla. D’ailleurs, la Poste russe a décidé de faire un appel d’offre pour équiper son personnel avec ce système. Cela permettrait à Jolla de bénéficier d’entrées financières importantes et de développer son activité.

Depuis 2018, Jolla est manifestement devenue une entreprise détenue d’un point de vue capitalistique « russe ». En suivant le fil de discussion, vous trouverez un schéma permettant de visualiser l’organisation capitalistique de Jolla. En outre, la Russie tache de construire son propre système d’exploitation pour smarthones à partir d’Open Mobile Platform. Pouvons nous parler d’un fork ? Quel est le degré de collaboration entre Open Mobile Platform et Jolla ? Mais soyons clair : ce sont les russes qui ont permis à Jolla de ne pas sombrer.

À noter que l’un des fondateurs et ex-président de Jolla, Antti Saarnio, travaille désormais sur les écosystèmes sur mobile et la blockchain au travers notamment de Zippie OS. Opère-t-il depuis Jolla Honk Kong ? Le site web de Zippie ne contenant pas de mention légale, ne nous permet pas de l’affirmer. A priori non, si l’on en croit la FAQ. Jolla fait partie des partners de Zippie.

Cela est par ailleurs amusant, si Tizen est soutenu par un grand constructeur, Jolla le serait par un grand état. De quoi garantir à ces systèmes peut-être plus de possibilités de réussir dans ce marché. À suivre…

Sailfish OS n’est pas 100 % libre

Notons que Sailfish OS n’est pas un système libre, toute la couche graphique ne l’est pas. Et certaines applications maisons ne le sont pas non plus, même si l’ensemble repose sur les technologies libres.

Il est peut être possible de considérer Sailfish OS comme certainement une des alternatives les plus abouties mais qui reste encore à la moitié du gué. La compatibilité Android n’est qu’un pis aller pour combler les lacunes du store Jolla en applications natives. Il peut être considéré comme regrettable que certaines grosses entreprises en France et en Europe qui se plaignent des positions dominantes du GAFAM ne cherchent pas à promouvoir ce système conçu en Finlande, c’est à dire en Europe. Et le basculement “russe” risque de ne pas aider compte tenu des tensions diplomatiques actuelles.

Une partie de la communauté semble regretter qu’aucun accord de licence et/ou de collaboration puisse intervenir entre Jolla et HMD Global, l’entreprise finnoise constituée d’anciens collaborateurs de chez Nokia et de Microsoft et qui a repris suite à l’échec de Microsoft sur ce marché, la fabrication sous licence Nokia/Android de téléphones et smartphones sous la marque Nokia. Des regrets que l’on peut retrouver sur TJC ou dans le blog de Jolla.

Enfin beaucoup regrettent l’abandon par Jolla de la partie matérielle du smartphone. Le Jolla 1 était ouvert aux bricolages de toutes nature grâce à des contacts électriques disponibles sous le capot. Il n’avait pas de récepteur FM ? Qu’à cela ne tienne, des hackers s’étaient penchés sur la question. Vous vouliez un clavier intégré ?

La documentation pour les développeurs se trouve sur le site de Sailfish OS ainsi que le schéma de l’architecture.

Nemo Mobile, le petit dernier

logo Nemo Mobile

Nemo Mobile est un effort de la communauté Mer pour obtenir un équivalent de Sailfish OS complètement libre, notamment avec le projet Glacier UX qui consiste à réécrire sous licence libre une couche graphique comme celle de Sailfish OS.

Niveau Dépôt Git
Environnement graphique https://github.com/nemomobile-ux
Couches basses https://github.com/nemomobile
          Qtopia   →     OPIE
        (Trolltech)   (Communauté)
             |
       Qt Extended → QtEI → QtMoko
         (Nokia)      (Communauté)
             \
       Maemo  \       Moblin 
      (Nokia)  \     (Intel)
          \_____\______/
                |
              MeeGo
         (Nokia et Intel)
              /      \
           Mer        Tizen
      (Communauté)  (Samsung)
       /      |   \     
Sailfish OS  Nemo  \ 
   (Jolla)  Mobile  AsteroidOS                      
             (Communauté)

Un cousin, AsteroidOS est également dans l’arbre généalogique, mais celui-ci n’est pas pour les téléphones. AsteroidOS est une alternative à [[Wear OS]] essentiellement pour les montres connectées comme par exemple ce financement participatif pour une montre connectée française. Notons aussi que depuis 2016, Sailfish OS réutilise des concepts de AsteroidOS pour le projet Sailfish watch (en)./wiki/Sailfish_smartwatch).

  1. Le libre sur la planète Android

On ne présente plus Android, très présent aujourd’hui sur de nombreux smartphones. Historiquement, il ne s’agissait pas d’un projet libre, mais les sources sont publiées après la sortie de chaque version majeure.

Android Open Source Project

Fin 2008, Google publie le code source du Android Open Source Project (AOSP) avec la sortie du HTC Dream. C’est une distribution Linux sans les habituels logiciels GNU qui sont remplacés par des équivalents sous des licences permissives.

Le HTC Dream vendu par Orange

Les applications fournies avec AOSP sont simplistes. Google préfère mettre ses efforts sur le développement de ses propres applications (GMail, Maps…) que sur les alternatives libres publiées dans AOSP.

Cloud Google versus vie privée

En 2011, warwick s’inquiète des libertés individuelles et la vie privée sur Android. Et même récemment, un post de ProtonMail nous alerte que Google faisait disparaître dans ses résultats de recherche l’existence des alternatives sécurisées à GMail et qui ne sont pas sur le sol des USA. Il y a des spéculations sur le fait que la NSA pourrait être derrière cette décision.

En 2018, voxdemonix nous confirme dans sa dépêche Utiliser son Android de façon plus sécurisée que lors de l’initialisation d’un appareil Android, l’application Facebook, préinstallée par le fabriquant, va récupérer la liste de contacts et se l’envoyer sur les serveur de Facebook, même si l’utilisateur n’a jamais utilisé Facebook de toute sa vie.

Open Device chez Sony

Certains fabricants, plus que d’autres, jouent le jeu du logiciel libre avec Android. Par exemple, Sony publie sur Github les sources d’une version d’AOSP pour un certain nombre de téléphones de la gamme XPeria. C’est notamment sur cette publication que Jolla s’appuie pour déployer son OS sur le Xperia X F5121 et F5122 et d’autres à venir.

Il est assez inhabituel de voir directement sur le site du fabricant un tutoriel pour souder un connecteur UART sur un téléphone, les explications sur la procédure de dévérouillage du bootloader, et tous les outils nécessaires pour installer un nouveau système sur le téléphone.

Sony récompense même le meilleur contributeur chaque année en lui offrant un téléphone tout neuf.

Cependant, si le système AOSP est publié et installable sur les téléphones de Sony, il comporte toujours de nombreux blobs binaires pour faire fonctionner le matériel. Il ne s’agit donc pas d’un téléphone complètement libre.

De CyanogenMod à LineageOS

En 2009, les premières ROM (micrologiciels) alternatives pour le HTC Dream fleurissent. Parmi celles-ci, Steve Kondik, un ingénieur logiciel de chez Samsung ayant comme pseudo Cyanogen proposait une ROM compilée à partir du code source AOSP (et les pilotes de HTC au format binaire).

Cette nouvelle distribution CyanogenMod (Mod pour Modding) bénéficie du travail de nombreux enthousiastes et en quelques mois gère déjà plusieurs téléphones. Au fil des années, cette fourche (fork) de AOSP améliore le contrôle de son ordiphone (smartphone). CyanogenMod continue de prendre en charge les téléphones considérés comme obsolètes par leur fabricant, au grand bonheur des possesseurs des premiers ordiphones profitant de ROM à jour (et débarrassées des inutiles applications du fabricant/opérateur).

Les premiers logos de CyanogenMod présentaient la mascotte Android sur une planche à roulette au centre d’une flèche circulaire

Les premiers logos de CyanogenMod présentaient la mascotte Android sur une planche à roulette au centre d’une flèche circulaire

En 2013, Steve Kondik est séduit par l’idée de vendre la notoriété du nom Cyanogen à un fonds d’investissement afin de commercialiser des ROM sur mesure à des fabricants d’appareils Android. Sept millions de $ sont levés et même Microsoft y investit par la suite. Le nouveau fabricant OnePlus achète la ROM pour son premier téléphone, le OnePlus One, c’est un grand succès.

Premier logo de Cyanogen Inc.

Second logo de Cyanogen Inc.

En revanche, Cyanogen Inc. peine à convaincre les fabricants à acheter ses ROM (il faut dire que l’entreprise n’a pas choyé son client OnePlus). Côté communauté, de nombreux contributeurs sont déçus, car la licence la plus utilisée est la licence Apache qui permet aux clients de Cyanogen Inc. de réutiliser les ressources sans que les utilisateurs finaux puissent obtenir le code source.

Finalement, le 23 décembre 2016, Cyanogen Inc. prévient de la fermeture imminente des serveurs de construction (build) qui sont nécessaires à la communauté de continuer à coder/tester. La communauté n’a d’autre choix que de créer une bifurcation (fork) qui est annoncée dès le lendemain.

LineageOS est le nouveau nom de cette distribution qui n’a pas pu réutiliser le nom Cyanogen qui reste la propriété de l’entreprise Cyanogen Inc. Le mot anglais lineage signifie lignée en clin d’œil à son ascendance avec CyanogenMod. Soulignons l’importance de la survie de ce projet, car de nombreuses autres distributions dérivaient de CyanogenMod (Replicant, LuneOS, B2G…). Cette fois-ci, la communauté a bien repris les choses en main. :-)

Logo de LineageOS

Replicant

Logo de Replicant

Replicant a comme objectif de réécrire les pilotes et firmwares non-libres de LineageOS (et avant de CyanogenMod) pour proposer une distribution Android 100 % libre. Il y a eu plusieurs versions avec une évolution lente et la prise en charge de peu d’appareils (dont certains composants ne sont pas gérés). La FSF (Free Software Foundation) s’occupe de la récupération des dons et l’a mis dans sa liste des projets prioritaires. Sur LinuxFr.org, il a été présenté une première fois par Nÿco en 2011, puis par RyDroid en 2017 pour la version 6.0 et sa première mise-à-jour mineure.

Fairphone Open

[[Fairphone]] est une entreprise sociale qui conçoit et commercialise un téléphone écologique et équitable. Fairphone développe deux distributions :

Comme ce matériel est documenté et les pilotes sont open source, de nombreuses autres distributions fonctionnent aussi sur ce téléphone.

Sailfish OS (version communautaire) peut être installée en lieu et place d’Android sur le Fairphone 2.

Image du fairphone2 ouvert

/e/

Le logo lors de la campagne de financement

En 1998, en testant Red Hat 5.1, Gaël Duval a l’idée de simplifier l’expérience utilisateur. Quelques mois plus tard, alors âgé de 25 ans, Gaël publie la distribution MandrakeLinux (renommée Mandriva Linux en 2003).

En 2017, Gaël constate que les GAFAM exploitent les fonctionnalités des smartphones pour absorber nos données personnelles. La seule solution est donc d’utiliser ce que l’on peut maîtriser, donc du logiciel libre, à la fois sur son téléphone et dans les nuages. Mais un autre ingrédient du succès est la simplicité d’utilisation, comme pour MandrakeLinux, il faut de la magie.

Gaël Duval a donc lancé une campagne de cofinancement relayé sur LinuxFr.org pour un système d’exploitation mobile et ses applications dans les nuages. Initialement nommée eelo (eelo.io), le projet devient temporairement /e/ (e.fondation) et devrait avoir son nom définitif pour la v1.

Trollnad Dump nous annonce, tout juste, la première bêta de /e/ basée sur LineageOS v14, des applications libres et Nextcloud pour la partie libre dans les nuages. L’idée est de réutiliser ce qui fonctionne bien dans l’écosystème du libre, mais de simplifier l’expérience utilisateur afin que l’ensemble de l’écosystème soit cohérent, intuitif et tolérant aux pannes.

F-Droid

Logo de F-Droid

F-Droid nous simplifie l’installation d’applications libres sur son mobile. En 2014, ariasuni nous annonçait la disponibilité de 1000 apps et plus de 2000 4 ans après (2016).

Entre temps, en 2012, Nÿco nous expliquait comment libérer son Android en utilisant F-Droid. On peut très bien avoir un téléphone Android et ne pas partager sa vie privée avec Google. Il est possible d’installer AOSP sans les Google-Apps (les applications non libres de Google). De plus, grâce à F-Droid, on peut utiliser des applications alternatives à celles du Google Play Store.

Par contre, la liberté demande des sacrifices. En effet, ces applications, pour la plupart gratuites et sans publicité, n’apportent pas le même confort que les Google Maps, Waze (qui appartient aussi à Google) et consort, pour la partie « aide à la navigation avec analyse du trafic en temps-réel ». Pour le reste des logiciels tels que OsmAnd sont disponibles, OsmAnd par exemple propose une merveilleuse assistance à la géo-localisation et à la navigation. Peut être même la meilleure expérience pour les cyclistes.

RyDroid nous annonçait les sorties des versions 0.88 (2015) et 1.0 (2017). Lors de l’écriture de cette dépêche, F-Droid en est à sa version 1.3 et comptabilise environ 1600 applications (des nouvelles, mais aussi des applications supprimées).

MicroG

Un smartphone basé sur un LineageOS pur ne sera pas équipé du Google Play Store. Il est possible de se contenter d’applications disponibles sur F-Droid comme évoqué plus haut, mais cela peut être très limitant. Une possibilité est d’utiliser un magasin d’application (comme Aurora ou Yalp) capable de se connecter au Play Store avec des identifiants génériques pour avoir accès à l’ensemble du catalogue Google Play, néanmoins de nombreuses applications risquent de ne pas fonctionner faute de présence du Google Play Services (dont l’installation e.g. via OpenGApps implique de donner un accès root à Google sur votre ordiphone…).

MicroG vise à combler ce manque et à réimplémenter l’équivalent du Google Play Services de manière libre et non intrusive (plus de détails sur XDA). Son installation n’est pas toujours simple (signature spoofing), mais il existe une variante de LineageOS préinstallée avec MicroG

The Guardian Project 🏗️👷‍♀️👷‍♂️🚧 Besoin d’aide…

https://en.wikipedia.org/wiki/The_Guardian_Project_(software)

Anbox

logo de Anbox

Un système alternatif à Android et iOS pourra difficilement avoir du succès sans applications. Par exemple, on peut vouloir installer l’application de sa banque. Une solution est de pouvoir exécuter les applications Android sur son système alternatif.

C’est l’intérêt du projet Anbox (en) qui exécute des applications Android en convertissant les appels aux couches basses Android vers les appels aux couches basses d’une [[distribution GNU/Linux]]. La documentation (en) explique que l’affichage est gérée dans un conteneur [[LXC]] et utilise [[OpenGL ES]].

Pour sa comptabilité Android, Chrome OS utilise également un conteneur et se permet davantage d’accélération matérielle en convertissant directement les appels des couches basses Android vers les fonctions internes du noyau Linux et des pilotes matériels sans passer par des intermédiaires comme OpenGL. Par contre, Anbox n’a pas les mêmes contraintes et doit pouvoir facilement être porté sur différentes [[distributions GNU/Linux]].

D’autres projets ont choisi une autre voie, celle de l’émulation du système Android avec son propre noyau Linux. Ce sont les appels aux pilotes matériels qui sont convertis en appels aux couches basses du système. C’est le cas du projet Shashlik et de l’émulateur non-libre Genymotion de la startup parisienne [[Genymobile]].

Des projets comme UBports et LuneOS souhaitent donc utiliser Anbox. Par contre, Sailfish OS utilise la machine virtuelle non-libre Alien Dalvik Turbo (en) de la société franco-suisse Myriad (en).

Notons que depuis Android 5, la JVM [[Dalvik]] à été remplacée par le Android Runtime qui compile le bytecode en code natif et qui semble plus performant…

Halium

bannière de Halium

En 2017, Christophe Chapuis nous présente le tout nouveau projet Halium pour fédérer les couches basses des différentes distributions Linux sur appareils Android.

Un double objectif :

Auparavant, les projets comme Ubuntu Touch, Firefox OS ou Plasma Mobile (réutilisation d’un téléphone Android) devait interfacer leurs développements avec chaque pilote Android spécifique à un appareil précis.

Ce n’est donc pas une nouvelle distribution Linux pour smartphone, mais une mutualisation des efforts de différentes projets et un levier qui permet de démocratiser l’utilisation de Linux sur les appareils Android.

Ce dernier inclue cependant des dépendances comme systemd et pulseaudio (ce qui empêche d’utiliser une autre libc que glibc, telle que musl).

Treble et GSI

Malheureusement, contrairement aux plate-formes x86, les plate-formes ARM (valable aussi pour MIPS et RISC-V et tout ce qui est non x86…) n’ont pas la possibilité d’avoir « one kernel to rule them all » car il leur manque la couche d’introspection fournie par l’UEFI/ACPI (même si différentes initiatives cherchent à corriger cette situation malheureuse, à commencer par la généralisation du device-tree, qui met cependant du temps à être intégrée par le BSP des fabricants de puce comme Qualcomm/Mediatek).

Chaque SoC (et même chaque carte-mère) a donc son kernel, et chaque fabricant consacre donc des ressources non-négligeables pour effectuer l’intégration entre le BSP fourni par le fabricant de SoC, les différents drivers nécessaires, ses ajouts propres, etc. Sauf que cela entraine une dépendance envers le fabricant, seul à même d’effectuer des mises-à-jour (et dans notre système économique actuel, le fabricant – surtout lorsqu’il s’agit de produits à faible marge – préfère souvent vendre une nouvelle unité plutôt que consacrer des ressources pour maintenir des appareils déjà vendus). Ceci entraine une fragmentation et évidemment une quantité incroyable d’appareils vulnérables parmi tous ceux qui sont abandonnés par leur fabricant ! LineageOS peut contribuer à résoudre le souci (notamment pour les téléphones flagship sur lesquels le fabricant est généralement sérieux concernant la publication des sources du kernel), cependant LineageOS doit publier une image par modèle de téléphone !

Le Project Treble vise à mieux isoler les couches basses des couches hautes d’Android (comme cela aurait dû être le cas en théorie avec une vraie HAL), de sorte que les couches hautes puissent évoluer séparément des couches basses (kernel / drivers fournis par le fabricant et installés sur une partition dédiée). Cela ne résoudra pas tous les problème – par exemple en cas de faille de sécurité kernel/driver – mais permettra de corriger plus aisément des failles sur les couches hautes comme la faille Stagefright.

Une autre conséquence est l’apparition de Generic System Image (GSI) (en) : les distributions alternatives pourront ainsi se focaliser sur les parties haut niveau sans se soucier des détails hardware bas-niveau (dès lors qu’elles se reposent sur le kernel fourni par le fabricant).

Surcouches graphiques et composants AOSP

  1. La saga Firefox OS 🏗️👷‍♀️👷‍♂️🚧 En cours de rédaction…

Logo du FirefoxOS Marketplace

Cette section est inspirée de l’histoire de Firefox OS (en) racontée par Ben Francis (développeur Firefox OS) qui présente la naissance du projet, les choix d’architecture, les étapes, les succès, les erreurs…

Le projet fou Boot to Gecko

En 2011, Andreas Gal (en) annonce le projet Boot to Gecko (B2G). Andreas est un jeune ingénieur hongro-allemand très talentueux qui a rejoint Mozilla en 2008 (32 ans) pour développer [[TraceMonkey]], le premier [[compilateur à la volée]] dans un navigateur. En 2011, il devient directeur de la recherche (35 ans), développe PDF.js (en) et souhaite propulser JavaScript au rang des langages pour applications mobiles. Ce projet bénéficie du soutient de [[Brendan Eich]], créateur du langage JavaScript (1995), co-fondateur de Mozilla (1998) et [[directeur de la technologie]] de Mozilla.

Ce projet fou doit fournir un système d’exploitation complet avec un moteur graphique 100 % web :

Notons que ce projet B2G est lancé à une époque (début des années 2010) où Firefox en est à la version 3 et détient 30 % de parts de marché, son record. L’ambitieux projet B2G est donc bien accueilli, bien que des dirigeants de Mozilla n’avaient pas été mis au courant. Le projet est géré dans l’enthousiasme, sans vision produit et sans objectif clair à long terme.

Fin 2011, les différentes équipes réunissent leurs efforts et, pour la première fois de l’histoire, un appel téléphonique web est réalisé entre deux navigateurs sans recourir à une extension. 🏆

En 2012, le premier prototype B2G est présenté au salon MWC à Barcelone avec quelques applications comme l’appareil photo. Mozilla avec ses deux premiers partenaires, Telefónica et Qualcomm, évitent de présenter B2G comme une énième alternative à Android et iOS. Le projet est alors présenté comme l’opportunité de développer une [[application web]] compatible avec les différents systèmes d’exploitation mobile, en clin d’œil aux applications web qui se sont imposées sur l’[[ordinateur de bureau]] (quelque soit son système d’exploitation).

Firefox OS 1.0 et les synergies

Cette même année, le projet Boot to Gecko (B2G) est renommée [[Firefox OS]] (FFOS). Les salariés de Telefónica et de Mozilla s’unissent (enfin) pour coder ensemble la même interface HTML. L’opérateur allemand, Deutshe Telekom, ainsi que deux constructeurs chinois concurrents, ZTE et TCL, rejoignent le développement communautaire de Firefox OS. Ces alliances sont capitales pour Mozilla qui n’a pas la possibilité de fournir une ROM pour chaque téléphone (les mises à jour), car le fondeur Qualcomm fournit ses pilotes matériels uniquement à ses clients directs : les constructeurs et les opérateurs téléphoniques. Toutes ces équipes se réunissent quelquefois en hackathon pour corriger collectivement le maximum de bugs, les développeurs d’entreprises concurrentes travaillant ensemble dans la joie et la bonne humeur. En tout, cela fait plusieurs centaines de personnes travaillant à temps plein sur Firefox OS !

Néanmoins, un problème se pose : Comment une application web pourraient avoir un accès privilégié aux fonctions du téléphone ? Un navigateur a pour habitude d’exécuter le code JavaScript dans un bac à sable sécurisé. Afin de publier la v1 au plus vite, la solution retenue est d’imiter les applications Android et iOS en rassemblant tous les fichiers de l’application web dans une archive signée et vérifiée par un magasin d’application, comme le Firefox Marketplace. Pour Ben Francis, c’est une erreur, car ce n’est plus du web : une application web aurait du rester une [[URL]].

En 2013, au salon MWC de Barcelone, les premiers téléphones Firefox OS sont annoncés et commercialisé dans l’année. Le stand de Mozilla fut victime de son succès : trois fois plus de journalistes que prévu, 18 dirigeants d’entreprises télécoms qui soutiennent le projet Firefox OS, Firefox OS en une du magazine du salon… et à la surprise des visiteurs, pas de jolie fille pour présenter les produits de Mozilla, mais des salarié.e.s et bénévoles fiers de leurs propres réalisations.

Mozilla commence à considérer ses partenaires comme des clients. Par exemple, pour sortir le LG Fireweb (150 €, Brésil), Mozilla a du améliorer chaque fonction pour qu’elle se lance plus rapidement que l’équivalent Android. Les partenaires demandent aussi à faire de Firefox OS une copie d’Android.

Connectons le prochain million

C’est ainsi que Mozilla cherche à se différentier. Partant du constat que la majorité de la population mondiale vit dans des pays émergents ne pouvant pas acquérir d’onéreux smartphones, Mozilla décide de viser les smartphones à très bas prix en plaçant Li Gong (en) à la tête de Firefox OS.

En 2014, Mozilla et de nouveaux partenaires présentent au MWC le smartphone à 25 $ avec seulement 128 Mo de RAM, bien moins que le minimum requis par Android. Le slogan « Connecting the next million » sonne alors comme une mission humanitaire pour une fondation sans but lucratif.

Mais cette voie n’est pas une panacée :

Progressivement, les partenaires sont mécontents des faibles volumes de vente, et des partenaires clés claquent même la porte pour des divergences de stratégie. Plus tard, l’arrivée de téléphones Android dans la même gamme de prix et Android One réduisent les espoirs de Mozilla.

En 2015, Li Gong, sentant le vent tourner, lève 100 millions, crée Acadine Technologies (en), débauche des salariés Mozilla travaillant sur la version à faible empreinte matérielle et bifurque (fork) Firefox OS 1.3t.

Firefox OS 2.0 et Haida

En parallèle (2013), une autre voie est explorée pour différentier Firefox OS, notamment par rapport au nombre d’apps du magasin d’application. L’équipe [[expérience utilisateur]] (UX), conçoit alors Haida, une ergonomie révolutionnaire qui permet :

Démonstration de Haida par Josh Carpenter : https://youtu.be/n3f5mMK5P-k

Mais cette refonte se fait à petits pas car il faut prendre en compte les demandes des partenaires pour imiter Android, améliorer les performances et d’écrire de droite à gauche pour conquérir de nouveaux segments de marchés.

Firefox OS 3.0 et les objets connectés

En 2015, Haida n’a pas le temps d’être complètement implémenté qu’un nouveau changement de cap survient. Juste après le départ de Li Gong, c’est Andreas Gal qui démissionne avec d’autres personnes gérant le projet Firefox OS. Le projet se retrouve sans direction (dans les deux sens du terme), avec des partenaires déçus, des salarié.e.s ne partageant pas les mêmes objectifs ([[Idéation]] de Portland fin 2014)…

De plus, la direction de Mozilla ne croit plus au succès des téléphones Firefox OS et cherche à réorienter cet investissement vers le marché prometteur de l’[[internet des objets]] (IoT). L’équipe Firefox OS est alors renommée Connected Devices, travaille avec d’autres partenaires comme Panasonic ([[téléviseur connecté]]) et explore d’autres débouchés comme les tablettes

Transfert de B2G OS à la communauté

Logo de B2G OS

Depuis le début de Boot to Gecko, le produit phare de Mozilla, son navigateur Firefox, est passé de 30 % à 20 % de parts de marché (donc des revenus), et la dégringolade continue en 2015. Pendant ces 4 années, les équipes du navigateur se plaignaient d’être en manque d’effectif. C’est comme si Mozilla avait parié sur Firefox OS et avait tout perdu. La plupart des supporters influents étaient partis et Firefox OS était devenu le [[bouc émissaire]] de tous les problèmes de Mozilla.

En 2016, Mozilla transfert le projet à la communauté et le renomme G2E OS. Ce fut le moment, où le projet connu le plus grand nombre de bénévoles ! L’équipe réduite de Firefox OS migre proprement tout le projet sur des dépôts à part pour faciliter la poursuite du projet. La nouvelle architecture est simplifiée :

Mozilla a considéré que conserver le code B2G dans ses dépôts n’était pas justifié au regard du ralentissement du navigateur Firefox. La direction a donc décidé de supprimer toute trace qui polluait le code source du navigateur, comme pour supprimer toute trace de cet échec.

Le moteur de rendu web, Gecko, étant décorrélé de celui du navigateur web, la communauté ne bénéficie plus des mises à jour. Cela devient extrêmement difficile de continuer à maintenir le projet par des bénévoles sans soutien l’aide des salariés de Mozilla.

En 2017, le projet devient inactif, que ce soit sur le forum et dans les dépôt Git. Et en mars 2018, Firefox Marketplace, le magasin d’application de B2G OS est arrêté, empêchant les utilisateurs de (ré)installer des applications sur leur mobile Firefox OS.

Quel gâchis ! Tous ces millions investis, tous ces téléphones vendus avec Firefox OS, toutes ces applications développées pour Firefox OS, tous ces libristes s’étant équipés de téléphones ou tablettes sous Firefox OS…

TODO : idées à réutiliser dans les sections précédentes

Pour les curieux et curieuses, une liste des appareils officiellement pris en charge est maintenue.

On peut noter qu’il y avait des critiques sur l’apport de Mozilla sur l’aspect logiciel libre puisqu’il faisait moins bien que Replicant (si on exclut les autres aspects).

KaiOS

logo de KaiOS

Notons que KaiOS, un autre descendant de Firefox OS, connaît son succès notamment sur les téléphones sans écran tactile encore très vendus sur les marchés émergents.

Et comble du comble, Google a porté ses principales applications (GMail, Maps…) en JavaScript/HTML/CSS (Web App) afin de capter ces nouveaux marchés.

Second comble du comble, Nokia Microsoft [[HMD Global]] commercialise un téléphone Firefox OS KaiOS, le Nokia 8110 4G (en), successeur du Matrix phone (ou téléphone banane) que BAud semble apprécier.

  1. Ubuntu pour unifier ordinateur et téléphone

Canonical avait lancé plusieurs projets pour conquérir les mobiles.

trois téléphones sous Ubuntu Touch

Ubuntu Mobile

En 2007, Canonical lance le projet [[Ubuntu Mobile]] en partenariat avec Intel (pour les processeurs Atom) dont Nicolas Robin nous en a fait une présentation. Cette distribution Ubuntu utilise le GNOME Mobile et les widgets [[Hildon]] dont les racines remontent aux projets GPE, OpenMoko et Maemo. En 2008, la première version est livrée : Ubuntu Mobile 8.04. En 2009, le projet est abandonné.

Ubuntu Touch

En 2011, Nÿco nous annonce que Canonical souhaite porter Ubuntu sur les smartphones avec Ubuntu for Phones renommé [[Ubuntu Touch]], la poursuite de [[Ubuntu Mobile]] mais avec de nouveaux objectifs. Cette alternative à Android semblait prometteuse, car elle annonçait le port d’une distribution GNU/Linux complète sur smartphone avec la même interface Unity et potentiellement les mêmes logiciels que ceux des ordinateurs classiques.

Ubuntu pour Android

En 2012, Nÿco nous annonce Ubuntu pour Android qui fournit un noyau Linux compatible à la fois Ubuntu et Android. En mode téléphone, c’est un téléphone Android. Mais branché à un écran, [[Ubuntu pour Android]] bascule sur l’environnement Ubuntu (Ubuntu TV, Unity…).

Ubuntu Edge

En 2013, Canonical voit encore plus loin et lance une campagne de financement pour le [[Ubuntu Edge]], un téléphone en [[dual-boot]] [[Ubuntu Touch]] + [[Ubuntu pour Android]], qui nécessite de réunir 32 millions de dollars. Bien que près de 13 millions aient été réunis, le projet ne fut pas

Abandons

En 2014, Canonical abandonne Ubuntu pour Android faute de partenaires et se concentre sur Ubuntu Touch.

En 2015, trois téléphones sont vendus avec Ubuntu Touch : [[BQ Aquaris E4.5 Ubuntu Edition]], [[Aquaris E5 HD Ubuntu Edition]] et Meizu MX4 Ubuntu Edition. En 2016, c’est au tour de la tablette BQ Aquaris M10 Ubuntu Edition et du smartphone Meizu PRO 5 Ubuntu Edition.

Seulement, en 2017, Canonical abandonne Unity, puis abandonne Ubuntu Touch et licencie une partie de ses salariés. Résultat, Ubuntu Touch est laissé avec une base Ubuntu 15.04 et une interface graphique Unity orpheline.

UBports

logo UBports

Mais que deviennent les projets Mir, Unity et Ubuntu Phone ?

Ces deux communautés s’organisent autours de la fondation [[UBports]] (ubports.io) avec l’aide du nouveau projet fédérateur Halium (halium.org).

Les dépôts de code source :

Bien que seuls trois smartphones soient officiellement pris en charge (Nexus 5, OnePlus One et FairPhone 2), la communauté UBports est toujours active : version 1.0 du compositeur Mir en septembre 2018 et mise à jour OTA-5 est disponible depuis peu en octobre 2018.

  1. Les récents projets qui risquent de chambouler le monde

Raspbian et autres OS de carte électronique

Depuis une dizaine d’année, des puces GSM faciles d’emploi sont disponibles comme la SIM800. Les cartes [[Arduino]] et [[Raspberry Pi]] peuvent donc être utilisés pour réaliser des téléphones à faire soi-même.

Équivalent du [[processeur de bande de base]] de nos téléphones industriels, ces puces GSM gèrent la carte SIM, la communication radiofréquence ainsi que toute la partie audio. Par contre, ces systèmes tout-en-un ne sont pas libres. La partie open hardware concerne donc le reste du téléphone.

Pour un [[téléphone mobile basique]], un micro-contrôleur peut donc suffire pour gérer l’afficheur, les boutons et les commandes vers la puce GSM. Pour des versions plus complexes, un processeur ARM est nécessaire, dont voici deux exemples :

Ces deux téléphones peuvent exécuter des applications en Python. Le développement du PiPhone semble être au ralenti. Par contre, le ZeroPhone bénéficie d’actualités régulières (en anglais).

PiPhone ZeroPhone
PiPhone ZeroPhone

OsmoComBB 🏗️👷‍♀️👷‍♂️🚧 Besoin d’aide

Les systèmes d’exploitation présentés dans cette dépêche fonctionnent sur le processeur applicatif (généralement un ARM), bien que Replicant essaie d’en réimplémenter les couches les plus basses pour dialoguer avec les composants sans devoir recourir à un [[micrologiciel]] (firmware) non-libre, sans pilote (driver) non-libre et sans blob binaire.

Le projet OsmoComBB vise à implémenter un micrologiciel GSM totalement libre, pour le [[téléphone mobile basique]] (feature phones), donc sans processeur applicatif distinct, équipant 13 appareils.

Le système autonome encore en-dessous du processeur à bandes de base, qui lui est contenu dans la carte SIM elle-même, n’est malheureusement pas aussi accessible.

PureOS (Librem 5)

Logo de Purism

De fin août à fin octobre 2017, Purism a mis en place un financement participatif pour un nouvel ordiphone libre. Il s’agit du Librem 5, un ordiphone orienté sécurité et vie privée, via des arguments de type « logiciel libre » et « chiffrement ».

Les innovations matérielles de cet ordiphone sont dans la séparation du modem réseau téléphonique mobile du processeur et la présence d’interrupteurs matériels pour l’appareil photo, le microphone, et les communications sans fil (Wi-fi, Bluetooth et réseau de téléphonie mobile).

Bien entendu, le micro-logiciel du « modem » sera propriétaire et aux dernières nouvelles ce serait une puce de chez SimCom, comme le module SIM800 évoqué dans la partie précédente. Mais, contrairement à des puces tout-en-un (telle que le Snapdragon 801 du Fairphone) conçues pour les téléphones, ce dernier est séparé du processeur principal (un NXP i. MX 8M) et n’a pas accès à toutes la RAM et aux autres ressources de l’ordiphone (ce qui est un inconvénient en terme d’intégration et de consommation d’énergie, mais un avantage en terme d’isolation puisque le firmware du baseband n’est pas modifiable ni auditable). Le fait que les pilotes Linux soient entièrement libérés est une avancée indéniable aussi bien dans la téléphonie que dans l’informatique grand public en général. L’innovation logicielle mise en avant est l’intégration par défaut de Matrix, afin d’avoir accès à des communications décentralisées point à point, ainsi que la compatibilité avec de nombreuses distributions (probablement via une prise en charge de la plate-forme directement intégrée à Linux).

Deux systèmes d’exploitation seront livrés en standard avec le Librem 5 :

  1. Par défaut, PureOS développé par Purism pour leurs ordinateurs qui peut utiliser GNOME ou KDE Plasma Mobile ;
  2. En alternative, UBport (Ubuntu Touch).

Fuchsia

logo de Fushia

Depuis quelques années, une centaine d’ingénieurs de Google travaillent sur le système d’exploitation Fuchsia. En 2016, le code source est publiquement dévoilé et des analyses montrent qu’il pourrait être utilisé pour une large gamme d’appareils dont les smartphones.

Fuchsia est la réponse de Google aux difficultées rencontrées avec l’intégration de Linux dans Android. Le noyau Linux est monolithique et les interfaces entre le noyau et les pilotes change régulièrement. La conséquence est que la plupart des fabricants de téléphones vont fournir une seule version du noyau, et ne jamais le mettre à jour par la suite (c’est trop compliqué et trop cher pour des téléphones qui sont déjà vendus). La plateforme Android souffre de cela, puisqu’elle ne bénéficie pas des mises à jour de sécurité nécessaires.

Fuchsia est donc construit autour d’un micronoyau, Zircon, écrit en C++ et reprenant une grande partie du code de Little Kernel, un noyau écrit par Travis Geiselbrecht, ancien de chez [[Be Incorporated]] qui a également écrit [[newOS]], le noyau ayant servi de base à [[Haiku]]. En fait, une grande partie des équipes de Be travaille, aujourd’hui, sur Fuchsia.

Les applications, les exemples et la documentation disponibles sur le site du projet utilisent des langages très variés : C++, Go, Python, Rust, Dart et Swift.

Le système peut s’adapter à différents contextes, et équipe par exemple les appareils connectés Google Home. Bien qu’il existe une interface graphique, pour l’instant il ne semble pas y avoir de téléphone ou de tablette fonctionnant avec Fuchsia disponible à la vente.

postmarketOS 🏗️👷‍♀️👷‍♂️🚧 Besoin d’aide

logo de postmarketOS

TODO à compléter…

La distribution postmarketOS (pmOS) est un portage de Alpine Linux sur appareil mobile…

Site du projet: https://postmarketos.org/

Prévu pour fonctionner sur le bon vieux N900 Il faut peut-être déplacer cette section dans la dépêche Partie 1… https://gitlab.com/postmarketOS/gps-nokia-n900

Projet toujours actif :-) https://www.reddit.com/r/postmarketOS

De Plasma Active à Plasma Mobile et KDE Neon 🏗️👷‍♀️👷‍♂️🚧 Besoin d’aide

logo de Plasma Mobile

En 2011, le sponsor Coherent Theory souhaite lancer sa propre tablette-ordinateur avec la première version de Plasma Active. Le projet Plasma Active est une adaptation du bureau KDE (C++ et QML) pour les écrans tactiles, notamment les tablettes. Mais en 2013, après la version 4.0, le sponsor se rend compte que le marché des tablettes baisse et le projet n’est plus une priorité.

En 2013, Plasma 2 est annoncé (en) avec une accélération matérielle apportée par OpenGL(ES). La première version utilise Qt 5.2, le [[Graphe de scène]] de QtQuick2 (OpenGL scenegraph) et KDE Frameworks 5.

C’est alors, qu’en 2015, le sponsor Blue Systems prend le relais en s’orientant vers le segment des smartphones, plus prometteur. Le projet Plasma Mobile est alors annoncé afin de porter l’environnement Plasma sur smartphone.

L’idée est de fournir un système complet avec le système d’exploitation postmarketOS en utilisant Wayland. Le système est prévu compatible avec les applications Ubuntu Touch. La compatibilité avec les APK Android devrait se faire avec Anbox. Une autre solution était Shashlik mais ce dernier semble au point mort depuis deux ans.

TODO cette section est à compléter… s’inspirer par exemple des informations https://www.plasma-mobile.org/get/

  1. Conclusion

TODO

Appel à participation

Tu as aimé cette épopée entre logiciels libres et téléphones, cette tumultueuse aventure agrémentée de liens vers des articles LinuxFr.org, témoignages à jamais gravés dans le marbre, reflets de nos enthousiasmes, nos déceptions et nos espérances.

Pour nous aider à continuer :

Note que pour limiter le pourriel (spam), tu dois te créer un compte pour accéder à l’espace de [[[rédaction]]]. Tu peux aussi jeter un œil sur comment [[[participer à LinuxFr]]].

Une dernière vidéo pour patienter d’ici la prochaine dépêche : Les OS mobiles alternatifs par Lionel Duboeuf en mai 2018 (1 heure). Le support de présentation est disponible sous licence libre aux formats ODF et PDF.