# Firefox OS

Firefox OS est un système d'exploitation mobile libre et destiné aux objets connectés proposé et développé par la Mozilla Corporation. Firefox OS est dévoilé publiquement en février 2012 ; son développement est abandonné en septembre 2016.
Mozilla, via des partenariats avec les opérateurs, commercialise Firefox OS en Europe et en Amérique du Sud de 2013 à l’arrêt du projet en 2016.

## Création du projet et évolution
### Le projet à ses débuts

Le 25 juillet 2011, le Directeur de la Recherche de Mozilla Corporation, Andreas Gal, annonce le projet « Boot to Gecko » (B2G) sur la liste de diffusion de mozilla.dev.platform. Le but du projet était de poursuivre la création d'un système d'exploitation complet et autonome pour le web ouvert afin de trouver les lacunes qui empêchent les développeurs de créer des applications qui sont en tous points égales aux applications natives développées pour iOS, Android et Windows Phone 7. À la suite de cette annonce, le travail s'est porté sur :
* la création de nouvelles API web pour exposer les capacités des appareils et des systèmes d'exploitation
* la réalisation d'un modèle de privilèges pour exposer de manière sécurisée les API aux pages web
* le développement d'applications pour prouver les capacités du projet
* l'écriture d'un code de bas niveau permettant de démarrer sur des appareils compatibles avec Android
Mozilla a pour objectif avec B2G de montrer que les standards basés sur le web ouvert ont le potentiel d'être une alternative compétitive aux vendeurs d'applications des systèmes d'exploitation mobiles dominants. En 2012, Andreas Gal étoffe l'objectif de Mozilla. Il caractérise le statut actuel des systèmes d'exploitation mobiles comme des systèmes fermés et présente Firefox OS comme plus accessible. Il affirme qu'au sein de Firefox OS, uniquement des standards ouverts sont utilisés et qu'il n'y a pas de logiciel ou technologie propriétaire. Il affirme également qu'un nombre important de développeurs est établi autour de Firefox OS grâce à la technologie HTML5. Mozilla souhaite standardiser auprès de la W3C les API web qu'elle aura réalisées. Elle essaye de combler le vide qui existe entre les applications web et les frameworks natifs. L'objectif est de donner la possibilité aux développeurs de créer des applications multiplateformes en utilisant des API web sans réécrire l'application sur chaque plateforme.

### Historique du projet

Au Mobile World Congress 2012, Mozilla et Telefónica annoncent que le fournisseur espagnol de télécommunications a l'intention de fournir des « appareils web ouverts » basés sur l'HTML5 et d'autres API. Mozilla annonce également le soutien d'Adobe et de Qualcomm, ainsi que la volonté de Deutsche Telekom's Innovation Labs de rejoindre le projet. Lors de cet événement, une première version du logiciel et des applications a également été montrée à l'aide d'un Samsung Galaxy S II.
En juillet 2012, Boot to Gecko est renommé « Firefox OS », d'après le nom du navigateur web Firefox.
En août 2012, un employé de Nokia a montré le système d'exploitation sur un Raspberry Pi.
En décembre 2012, Mozilla a déployé une mise à jour mettant à disposition Firefox OS Simulator 1.0, qui peut être téléchargé comme une extension Firefox. La dernière version 4.0 de Firefox OS Simulator a été déployée le 11 juillet 2013$^,$. La fondation a également annoncé un smartphone Firefox OS fabriqué par Spreadtrum disponible au prix de 25 $. Mozilla a collaboré avec quatre fabricants de téléphones et cinq transporteurs sans fil pour fournir, en Europe et en Amérique latine, cinq appareils ayant comme système d'exploitation Firefox OS. La commercialisation a été dirigée par John D. Bernard. En Inde, Mozilla avait prévu de lancer des smartphones à 25 $ en partenariat avec Intex & Spice, mais le prix final s'est avéré être de 33 $ (28 €, en Inde 1 999 roupies).
En février 2013, Mozilla annonce ses plans pour la commercialisation mondiale de Firefox OS. La première vague de téléphones Firefox OS sera disponible pour le Brésil, la Colombie, la Hongrie, le Mexique, le Monténégro, la Pologne, la Serbie, l'Espagne et le Venezuela. Les constructeurs impliqués sont LG, ZTE, Huawei, Alcatel et TCL Corporation. Il sera disponible en France avec le ZTE Open C.
Le 2 juillet 2013, les premiers smartphones sous Firefox OS sont commercialisés auprès du grand public en Espagne par Telefónica (sous sa marque Movistar).
À la CES 2013 en janvier, Telefónica a commercialisé le ZTE Open (en) en Espagne, le premier téléphone avec Firefox OS$^,$. En décembre 2014, on dénombre 14 opérateurs qui commercialisent dans 28 pays à travers le monde des téléphones ayant comme système d'exploitation Firefox OS.
Le 4 février 2016, Mozilla annonce l'abandon de ses ambitions concernant un OS pour smartphone et une réorientation de ses priorités vers l'Internet des objets, indiquant arrêter tout support au-delà de la version 2.6 et laisser l'OS en développement à sa communauté si elle souhaite s'en emparer.
Entre mars et juin 2016, une étape de transition du projet Firefox OS pour mobile a été établie, elle consiste à passer le développement à la communauté. Le nom du système d’exploitation communautaire est renommé B2G OS.
Mozilla a également un partenariat avec T2Mobile pour faire un téléphone Firefox OS de référence appelé « Flame ». Il est conçu pour les développeurs afin qu'ils puissent contribuer au système et tester les applications. Le 8 décembre 2015, la Mozilla Corporation a déclaré qu’elle arrêtait la commercialisation de mobiles sous Firefox OS pour se concentrer sur les objets connectés. Cependant, Mozilla Corporation devait continuer à proposer Firefox OS pour smartphones en passant par d’autres voies que les partenariats précédents. Le projet n'a plus connu de développement depuis 2016$^,$.

## Technologies de base

Le système d'exploitation comporte trois principales couches :
* Gonk comprenant les briques de base bas niveau ;
* Gecko ainsi que des API spécifiques ;
* Gaia, une interface graphique.

### Gaia

Gaia a le rôle d'interface utilisateur de Firefox OS et contrôle tout ce qui interagit avec l'écran. Elle est l'intermédiaire entre l'utilisateur et le système, et ceci en utilisant uniquement des API web ouvertes. Gaia inclut par défaut un écran de verrouillage, un écran d'accueil, une liste de contacts, une application téléphone, une application d’envoi de messages, une application caméra et une application galerie. Les fonctions basiques comme la fonction email, le calendrier, la calculatrice et le magasin d'applications sont présentes. Le développement de Gaia a été fait en HTML, CSS et JavaScript. Comme Gaia utilise des API web ouvertes, elle peut fonctionner sur d'autres systèmes d'exploitation et d'autres navigateurs web.

### Gecko

Gecko est le logiciel moteur permettant d'exécuter Firefox OS. Il permet le support des trois standards : HTML, CSS et JavaScript. Il assure que chacune de ces technologies fonctionne sur tous les systèmes d'exploitation supportés par Gecko. Il inclut par conséquent : une pile réseau, un moteur de présentation, une machine virtuelle JavaScript et des couches de portage.

### Gonk

Gonk consiste en un noyau Linux et une couche d'abstraction matérielle de l'espace utilisateur (HAL). Le noyau et d'autres bibliothèques en espace utilisateur font partie des projets open source communs : Linux, libusb, bluez, etc. D'autres parties de HAL sont partagées avec le projet Android : le GPS et la caméra par exemple. Dans les faits, Gonk est une distribution Linux très basique. Gonk est une cible de portage de Gecko, il y a un port de Gecko vers Gonk, comme il y a un port de Gecko vers OS X. Comme Firefox OS a le contrôle total de Gonk, il est possible d'exposer des objets à Gecko qu'il n'est pas possible d'exposer sur d'autres systèmes d'exploitation. Par exemple, Gecko a un accès direct à la pile du téléphone et à l'affichage du frame buffer sur Gonk, mais n'a pas ce type d'accès sur d'autres systèmes d'exploitation.

## Réception

Des analystes prévoyaient, même avec un marché qui est déjà assez saturé en nombre d'OS mobiles, que ce système d'exploitation arriverait à atteindre 1 % de part de marché en 2013. De nombreux opérateurs tels Telefónica, Telecom Italia, Telenor et Deutsche Telekom, mais aussi des équipementiers comme ZTE et TCL soutiennent le développement.
Il peut être testé à partir d'un module installable sur le navigateur Mozilla Firefox sur ordinateur. Ce module permet de reproduire le fonctionnement de Firefox OS au moyen de la virtualisation (émulation).
En France, le premier smartphone sous Firefox OS a été mis en vente en juillet 2014.

## Historique des versions

| Version | Date de l'arrêt d'ajout de fonctionnalités | Date de publication | Nom de code | Version de Gecko | Inclut les corrections de sécurité |
| 1.0 | 22 décembre 2012 | 21 février 2013 | TEF | Gecko 18 | Gecko 18 |
| 1.0.1 | 15 janvier 2013 | 6 septembre 2013 | Shira | Gecko 18 | Gecko 20 |
| 1.1.0 | 29 mars 2013 | 9 octobre 2013 | Leo | Gecko 18+ (nouvelles APIs) | Gecko 23 |
| 1.1.1 | | | HD | comme 1.1.0 avec WVGA | Gecko 23 |
| 1.2.0 | 15 septembre 2013 | 9 décembre 2013 | Koi | Gecko 26 | Gecko 26 |
| 1.3.0 | 31 janvier 2014 | 17 mars 2014 | | Gecko 28 | Gecko 28 |
| 1.4.0 | 29 avril 2014 | 9 juin 2014 | | Gecko 30 | Gecko 30 |
| 2.0.0 | 21 juillet 2014 | 1er septembre 2014 | | Gecko 32 | Gecko 32 |
| 2.1.0 | 13 octobre 2014 | 21 novembre 2014 | | Gecko 34 | Gecko 34 |
| 2.2.0 | 29 avril 2015 | 18 mai 2015 (planifié) | | Gecko 37 | Gecko 37 |
| 2.5.0 | 2 novembre 2015 | ? | | Gecko 44 | Gecko 44 |

## Compatibilité avec Android
### Système

Firefox OS est compatible avec un nombre important d'appareils, comme le Samsung Nexus S, le Samsung Nexus S 4G, le Samsung Galaxy S II, le Samsung Galaxy Nexus, le Nexus 4 et bien d'autres.

### Applications

Depuis le 13 juin 2014, toutes les applications de Firefox OS peuvent être exécutées sur les smartphones Android sur lesquels Firefox 29 (ou ultérieur) est installé.