Qu’est-ce que le projet Firefox OS ?

ffosbgÇa y est, le système d’exploitation de Mozilla arrive en France grâce à un partenariat entre le constructeur ZTE et E. Leclerc. C’est donc le ZTE Open C qui sera le premier téléphone sous Firefox OS commercialisé en France. Vous pouvez lire à ce sujet le billet de blog officiel de Mozilla. Je ne vais pas m’étendre spécialement sur ce téléphone, vous pouvez aller voir le site de ZTE pour cela. Je vais parler ici du système lui même, de pourquoi Mozilla s’est lancée dans un tel projet, pourquoi il est extrêmement important pour notre Liberté, et pourquoi je crois en lui et pense que c’est la solution, plus que les autres projets Libres (Sailfish OS par Jolla, Ubuntu, Tizen…).

D’abord, qu’est-ce que c’est que Firefox OS (anciennement connu sous le nom de boot to gecko) :

  • Un système d’exploitation complet, découpé en trois couches : Gonk (C) un Linux qui permet de parler avec le materiel, Gecko (C++) le moteur de rendu de Firefox (interprétation du HTML + moteur Javascript) et Gaia (HTML5 / CSS3 / JavaScript) l’interface du système
  • Il est orienté mobile, même s’il peut s’installer relativement partout (il y a actuellement des partenaires qui travaillent sur des tablettes, des télévisions et un dongle HDMI à la chrome cast)
  • C’est un Logiciel Libre (la licence n’est pas la même selon les couches mais respecte toujours les 4 libertés) conçu par une fondation à but non lucratif
  • Il possède actuellement toutes les fonctionnalités de base d’un smartphone : appel, SMS/MMS, gestion des contacts, email, agenda, musique, camera, radio, suivi conso, connectivité (3G, WiFi, bluetooth, NFC), magasin d’applications…

On peut maintenant arriver à la vraie question :

Pourquoi Firefox OS, un système d’exploitation basé sur le web ?


Je ne suis pas impliqué très profondément dans la fondation Mozilla, mais de ce qui est ressorti de mes discussions là-bas, voici ce que j’ai retenu du pourquoi d’un tel projet. Vous pouvez retrouver plus d’explications dans cette interview donnée par Tristan Nitot au Nouvel Obs.

Lutter contre les silos

Spécifiques à une plateforme, les applications relancent l’apparition de silos enfermant les utilisateurs. Elles sont un cauchemar à la fois pour les développeurs qui doivent les recréer pour chaque OS où ils veulent être présent, iOS, Android, Symbian, Blackberry, Windows Phone… (souvent, ils s’arrêtent aux deux premiers car le reste n’est pas rentable vu les parts de marchés, ce qui renforce les silos) et pour les utilisateurs, qui une fois qu’ils en ont acheté plusieurs se retrouvent coincés sur une plateforme, ne pouvant les transférer. Mozilla aime le Web. Un web ouvert, libre, neutre, où tout le monde est à égalité. Voir des sites investir énormément dans des applications spécifiques à des plateformes fermées au lieu d’une version mobile pour tous est une aberration qui exclu certains utilisateurs, comme l’époque où il n’était pas possible d’envoyer un email d’AOL vers CompuServe parce que les deux fournisseurs d’accès étaient en guerre commerciale…

XKCD app
par XKCD

Cette notion de libérer des silos est très importante dans la philosophie du projet, car c’est une étape de plus que d’exécuter du code Libre. Je ne sais pas quelle est l’approche exacte des autres créateurs d’OS Libres sur ce point, mais j’imagine par exemple qu’une application développée pour Ubuntu va elle aussi être spécifique à cet OS. Avec de l’espoir, on peut imaginer qu’elle tournera sur tous les GNU/Linux. Cela serait déjà mieux qu’Apple, Microsoft, Google, Amazon & Cie, mais ce n’est pas parce que le code est Libre qu’il ne restreint pas à une plateforme. Choisir le Web, c’est choisir d’être exécutable partout, par tous. On ne développe pas une application « pour Firefox OS », on développe une application Web, qui fonctionne aussi bien sous Mac OS ou Android que sous Windows 8. Faites l’essai, allez sur le marketplace avec Firefox depuis votre Android et installez des applications, vous verrez qu’elles s’intègrent parfaitement au système. Voici du vrai multi-plateforme. Au passage, le marketplace n’est qu’un catalogue, les applications n’y sont pas hébergées et il n’est nullement un lieu de passage obligatoire pour installer une application.

La fin des systèmes d’exploitation « lourd » ?

En fait, cette logique a déjà été bien comprise et utilisée par nos géants, mais uniquement à leur avantage. Le web est la plateforme, cela se voit à l’usage. Quand auparavant, on démarrait son ordinateur, puis on lançait un logiciel de messagerie pour voir ses mails, un lecteur multimédia pour regarder un film ou écouter de la musique, une suite bureautique pour créer des documents, un autre pour gérer ses photos, un jeu… À présent, on lance simplement son navigateur. Et on va sur son webmail, son réseau social, sur du streaming et de l’écoute en ligne, sur les google apps, picasa ou autre, des jeux, bref, absolument tous les usages que l’on pouvait faire dans son ordinateur se font à présent en ligne. Du point de vue maitrise des données, c’est inquiétant. Du point de vue utilisation, c’est d’une facilité absolument géniale. Une faille ou une nouvelle version ? Un serveur à mettre à jour, et tous les utilisateurs ont la dernière version. Des utilisateurs très différents, sur des systèmes d’il y a 10 ans ou bien sur un téléphone ? En 32 ou en 64 bits ? Windows ? Quelle version ? Mac OS ? GNU/Linux ou même BSD ? Qu’importe. Du moment qu’ils ont un navigateur moderne, tout marchera. Pas besoin d’un ordinateur puissant, ni d’un disque dur de 1To, le programme comme les données restent dans le cloud. Un petit SSD de 128Go, démarrage en deux secondes, et on est bon. Vous reconnaitrez là aussi la vision derrière Chrome OS. Je le redis, cela pose des questions de vie privée, et c’est pour cela que des projets comme Cozy Cloud ont une importance primordiale. Mais quittons les serveurs et recentrons nous sur les clients. L’usage nous montre donc que tout est à présent fait avec le navigateur. Que se passerait-il si, au démarrage du système d’exploitation, nous lancions directement le navigateur en mode plein écran ? Nous afficherions une interface adaptée, qui permettrait d’accéder facilement aux sites que nous visitons le plus. Nous en garderions même certains en cache, pour les consulter sans internet. Tout fonctionnerait comme avant lorsque nous lancions manuellement le navigateur. Mais alors ? Plus besoin des programmes installés autres que le navigateur. Plus besoin de centaines de librairies, du support pour des dizaines de langages différents, d’une interface complexe avec gestionnaire de fenêtres, de gestion des utilisateurs, des sessions… Vous l’avez compris, je viens de vous décrire Firefox OS, et en même temps, de vous expliquer comment, même avec un langage interprété qu’est le JavaScript, il est possible d’avoir des performances acceptables avec 256Mo de Ram et un processeur simple cœur.

En résumé donc, libérer les utilisateurs des écosystèmes fermés mis en place par Google, Apple et Microsoft, en mettant en avant le Web comme plateforme ouverte en se basant sur l’évolution des usages, voici le pourquoi du projet Firefox OS. Il s’agit aussi bien sûr de conserver / acquérir sur mobile des utilisateurs de Firefox, afin de maintenir le poids de Mozilla dans l’avenir du web.

Une exécution de code téléchargé mais une meilleure sécurité ?

Les applications ne sont que rarement installées et restent généralement des sites web, ce qui amène beaucoup d’avantages collatéraux. Par exemple, pas d’installation signifie pas de désinstallations foireuses avec des morceaux qui restent un peu partout dans le système, impliquant un reformatage obligatoire tous les 6 mois si l’on ne veut pas pédaler dans la semoule. Cela implique aussi une gestion très différente des permissions. Ces dernières ne sont en effet pas demandées à l’installation mais à l’usage. Vous avez déjà certainement croisé ces popups dans Firefox : « ce site web demande à [connaitre votre position / accéder à votre webcam / stocker des données pour une utilisation hors ligne / …] ». Firefox OS n’est rien d’autre que Firefox en plein écran, il fonctionne exactement de la même manière. On peut donc utiliser une application qui va demander à accéder à la galerie de photos tout en refusant qu’elle accède à notre position géographique. Cette granularité est complétement absente des autres plateformes où il faut accepter toutes les permissions, ou refuser d’utiliser l’application. Bonus : on peut même réaliser à quel moment exact l’application a besoin de la permission. (Accéder à mes contacts pour m’afficher la météo ? Seems legit…). À ceux qui s’inquiétaient de voir des sites web pouvoir accéder à des données internes de l’OS, vous pouvez être rassurés, à moins d’une faille dans Gecko, vos données sont finalement beaucoup mieux contrôlées dans Firefox OS que dans Android ou iOS.

Release quick, release often

Il est intéressant de noter l’approche de la fondation pour gérer son projet. Durablement marqué par la sortie de Firefox 4, qui a été repoussée pendant des mois, la fondation a pris un virage à 180 degrés pour tous ses produits. Plus question maintenant de retarder une date, un logiciel sortira le jour J ou ne sortira pas. Cela veut dire que les fonctionnalités non prêtes sont repoussées au lieu que ce soit la date de la sortie qui change. Tant pis, elles seront incluses dans la version suivante du logiciel. Cela signifie évidemment que les versions doivent s’enchaîner assez rapidement, sinon le manque pour l’utilisateur est important. Pour Firefox, c’est donc toutes les 6 semaines qu’une nouvelle version est disponible. Firefox OS est délivré aux partenaires, pas directement à l’utilisateur, le rythme est donc deux fois plus long, une release tous les trois mois. Cela reste extrêmement rapide pour un système d’exploitation, et il est donc probable que les partenaires ne vont pas publier toutes les versions sur système mais passeront plus probablement directement de la 1.3 à la 2.0 par exemple (elle correspond à la 1.5, il n’y aurait donc que la 1.4 qui serait sautée dans ce cas de figure).

Sortir des versions aussi souvent est un pari risqué pour Mozilla, mais il semblerait que ce soit la bonne solution. En effet, un OS complet met des années à être construit. Des années pendant lesquels les développeurs travaillent dans un tunnel, avec peu de retour, et sur un marché qui évolue grandement pendant ce temps. On ne compte plus le nombre de projets annoncés qui n’ont jamais vu le jour. L’objectif était donc un Time to Market minimum : un téléphone sur le marché le plus vite possible, pour avoir des retours, faire parler du projet, intéresser les développeurs afin d’avoir des apps quand le téléphone sera mis sur des marchés plus concurrentiels. Firefox OS 1.0 n’avait donc même pas le support des MMS ! Depuis, chaque version a apporté son lot de fonctionnalités indispensables, jusqu’à la 1.4 qui contient toutes les fonctionnalités attendues d’un téléphone intelligent actuel. Cette 1.4 aurait pu être la « vraie » 1.0, mais retarder la sortie sur le marché de presque 1 an et demi aurait été problématique. Cette 1.4 a une maturité que la 1.0 équivalente n’aurait jamais eu. Et maintenant que les bases sont posées, Mozilla peut commencer à innover réellement dans une 2.0 qui promet pas mal de changements.

Voilà, j’ai encore beaucoup de choses à dire sur Firefox OS mais ce billet commence à devenir sacrément long. On va donc s’arrêter là et espérer que le projet rencontre le succès qu’il mérite. Vu la liste des partenaires, on peut être confiant !

Ça y est Cyrille Borne, tu l’as ton article sur Firefox OS !

{16} Thoughts on “Qu’est-ce que le projet Firefox OS ?

  1. Bel article ! Firefox OS m’intéresse de plus en plus 😀

    Petite question, sait-on si les devices vendus aujourd’hui seront un jour bloqué sur une version de Firefox OS (autrement dit, aurons-nous des devices sans MAJ ?)

    Merci !

    • On ne peut pas forcer les constructeurs à mettre à disposition les nouvelles versions, donc on en sait rien. Tu ne seras pas bloqué si tu es un minimum bidouilleur de toute manière : il est assez facile de flasher Firefox OS donc tu pourras mettre une nouvelle version « à la main » 😉

  2. Pour la suite, ce que j’attends, c’est que tu expliques le mode hors ligne, parce que c’est que je n’arrive pas à m’expliquer.
    genre, avec du html5, on peut éditer un texte en local et l’enregistrer, sans connexion au web?

    • Le javascript est exécuté par Gecko, s’il a été téléchargé lors de l’installation et conservé car l’application est réglée sur ce mode par son concepteur, oui, pas besoin de connexion Internet.

  3. Bon article. Je voulais en faire un dans ce style pour présenter les spécificités de Firefox OS. Je vias le partager 🙂

    Un ch’ti conseil : ton article gagnerait vraiment en lisibilité si tu divisais les gros blocs de texte en paragraphes plus courts. Là ça décourage…

  4. Je suis potentiellement intéressé par Firefox OS, dans l’optique de pouvoir me débarrasser définitivement de Google. Mais je ne connais pas Firefox OS et j’ai lu qqles trucs qui me posent questions. J’ai lu par ci par là :
    – pas de support de carddav
    – pas de support de caldav
    – le navigateur Web redirige vers Google, sans possibilité simple de modifier ce comportement.

    Difficile dans ces conditions de dire merde à google !

    • Bonjour ! Tu as raison de t’intéresser à Firefox OS pour te débarrasser de Google. Pour te répondre :
      – Le support cardDav n’est en effet pas encore là, mais il y a du travail donc ça devrait être disponible dans les versions à venir. Le temps que les constructeurs fassent les mises à jour, c’est vrai que ça peut prendre pas mal de temps.
      – Le support calDav est présent depuis les premières versions et fonctionne très bien !
      – Le moteur de recherche par défaut est effectivement Google. À partir de la version 2.0 (qui devrait être commercialisé en Octobre), il peut être changer facilement. Sinon, il est toujours possible de modifier le fichier de config.

  5. La seule chose qui m’embête en lisant cet article (que j’ai beaucoup apprécié au demeurant), c’est que j’ai l’impression de voir un manifeste pour Chrome OS à part dans les quelques parties qui parlent de se débarrasser de Google…
    J’ai le sentiment qu’on ne distingue pas trop ce qui peut faire la force de Firefox OS par rapport à Chrome OS mais c’est quand même plein d’infos et d’explications pertinentes…
    Merci pour la lecture instructive!

  6. Juste quelques remarques sur Ubuntu Touch:
    Ubuntu Touch sait aussi utiliser les webapps, de la même manière que Firefox OS, avec du HTML5/CSS3.
    D’autre part, Ubuntu Touch sait accueillir des apps écrites en QML, qui peuvent bénéficier d’un contrôle plus avancé sur le hardware notamment. Notamment pouvoir faire des notifications, inclure des events dans le calendrier…
    Mais de ce qu’on sait dans la communauté francophone, les devs préfèrent faire des webapps.
    La communauté va tôt ou tard exiger et obtenir des bibliothèques JS pour contrôler les devices.

    Firefox OS et Ubuntu Phone sont complémentaires, Firefox OS vise des nouveaux utilisateurs, Ubuntu Phone plutôt des geeks, qui aiment avoir accès à un terminal. (Et oui, avec Ubuntu Phone vous avez accès au Linux inclus dans votre device 🙂 )

  7. Alors j’ai plusieurs interrogation concernant ton article.

    Quid des données perso réellement, car tu dis que Gekko serait plus sécurisé qu’un iOS ou Android, mais reste que ce sont des sites extérieurs à qui ont autorise l’accès à nos données personnels, donc comment s’assurer de ce qu’ils en font derrière ?

    Ce que je veut dire, à près j’ai peut-être une impression erroné de la chose, mais lorsque tu installes ton logiciel c’est toi en tant que client qui a les pleins pouvoir sur ce que peut faire l’application des données que tu lui donnes à traiter (tant que c’est une application qui n’a pas besoin d’internet j’entends). Donc du coup tu sais ce qui sort au niveau des flux du réseau, tu peux déterminer s’il y a un mauvais usage.

    Mais comment faire avec un service qui est externalisé complètement ? Quand le Serveur s’occupe aussi de la partie Client ? Parce que là j’ai l’impression que c’est une nouvelle forme de centralisation qui s’opère. Et qu’on nous prend pour des truffes. Alors je ne suis pas un expert, mais au niveau de la logique il me semble y avoir des défaillances notables. Comment va-t-on réellement pouvoir contrôler ce qui se passe sur le serveur web ?

    Après tu parlais des suite à une question du fait que le JavaScript est télécharger sur le téléphone, est-ce que cela voudrait dire que les opérations imaginons la modification d’une image, se fasse en téléchargeant simplement le JS qui correspond à l’application et qu’ensuite sans connexion aucune on puisse modifier notre image comme on l’entend et en sachant ce qui est fait de notre photo c’est à dire qu’elle reste sur notre ordi. Je pense à ça aussi beaucoup avec le contexte de l’espionnage constant opéré par la NSA (coucou) et du coup à un réel soucis de la protection des données personnelles.

    Bon je donne une dernière impression qui me vient, c’est l’utilisation des firmes peu scrupuleuses qui proposeront des services qui ne sont accessible que pas l’application en étant connecté pour ainsi être sûr de récolté un max d’info sur nous. Dans leur pensé mercantile il y a fort à parié que certains on déjà eu l’idée ou l’auront, bien quel comporte certains désavantages pour eux, déjà on a pas internet partout ce qui est assez gênant si on veut utiliser une application qui a priori n’en a pas besoin.

    Bref désolé pour ce pavé j’espère avoir été pertinent et n’avoir pas dit/supposé trop de bêtises.

    • Désolé de répondre si tard, je m’aperçois seulement de ton message.

      Tu as tout à fait raison concernant le problème du Saas, qui est d’ailleurs la raison pour laquelle RMS n’approuve pas le projet FFOS à fond. Cependant, il faut bien voir que les applications qui sont des sites web distants auraient de toute manière reposée sur un serveur même si elles avaient été natives. Ce sont des applications qui sont entièrement dépendantes du réseau (Facebook et Twitter, le trafic SNCF, les journaux en ligne, ce genre de choses). Il est bien sûr possible de faire des applications hors ligne dans Firefox OS. Le code de l’application est alors téléchargé et exécuté sur le téléphone comme un programme normal (les applications SMS, réveil, musique, les jeux, la radio, l’appareil photo par exemple). Bref, même si ça peut faire peur au début, rien de très neuf sous le soleil finalement.

  8. Sympa cet éclairage, après je me demande si FOS a des chances de bien percer face aux « géants » qui offrent simplicité et larges gammes d’apps à des utilisateurs en grande majorités « bétas » qui bidouillent peu et veulent pas se prendre la tête.

    Ce sera une niche comme Linux ?
    A moins que des pays avec cerveaux et avec du pouvoir d’achat moindre s’y mettnte, comme la Chine, l’Inde et la ça peut devenir du lourd.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>