Pourquoi la distribution Fedora ne distribue pas Chrome et Chromium ?

Fedora, l’une des plus populaires distributions GNU/Linux, ne propose que Firefox et n’inclut pas les navigateurs Chrome et Chromium de Google.

On le comprend bien pour Chrome qui n’est pas libre, mais moins pour l’open source Chromium.

D’où ces quelques explications qui ne proviennent pas officiellement de Fedora mais d’un simple (et passionné) utilisateur de Fedora.

Pourquoi Fedora ne distribue pas Chrome et Chromium ?

Why Fedora doesn’t ship Chrome and Chromium ?

Alex Diavatis – 15 octobre 2012 – WorlOfGnome.org
(Traduction : pwetosaurus (@paul_playe), tibs, Sylvain, misc, ehsavoie, Gatitac, L’gugus, Penguin, viking, Nÿco)

Pour Chrome les raisons sont évidentes, Chrome de chez Google est un logiciel privateur, il contient des modules qui ne sont pas open source, donc fin de l’histoire.

Dans le cas de Chromium qui est issu du projet de système d’exploitation Chromium OS, les choses sont plus compliquées et remontent au 19 novembre 2009, quand une discussion débuta pour savoir si oui ou non il fallait pour distribuer Chromium avec Fedora. Presque trois ans plus tard, nous en sommes toujours au point de départ.

Fedora et l’open source

Fedora a toujours été et sera toujours un défenseur et un distributeur fondamental de l’open source. Un partisan fondamental de l’open source, mais pas un fanatique invétéré du logiciel libre, puisqu’ils fournissent des blobs binaires propriétaires dans leur noyau Linux. On ne peut rien reprocher à Fedora ici puisque cela vient en amont du noyau, le noyau de Torvalds, qui n’est pas totalement libre à cause de pilotes firmwares propriétaires présents principalement pour mieux faire tourner le matériel.

J’aime le nom Fedora et son logo est selon moi l’un des plus beaux qui soient dans le monde des distributions Linux. Le nom Fedora fait référence à un type de chapeau (borsalino) et vient rappeler qu’il provient de Red Hat, la plus grande compagnie open source.

Il y a cependant un fait gênant : la police du logo est une police commerciale (très chère qui plus est avec ses 275$ pour l’utiliser).

Dans leur wiki, à propos de leur logo, ils écrivent :

La police utilisée pour le logo est Bryant2. Cette police n’est pas une police libre mais elle a été choisie parce que c’est celle qui s’intègre le mieux dans le design du logo. La licence pour l’utilisation de cette police dans le logo officiel a été payée, ainsi le logo peut être utilisé à chaque fois que la marque déposée et les recommandations d’usage le permettent, sans coût supplémentaire.

Ils auraient quand même pu la partager via un torrent puisque le piratage est une forme de liberté numérique, comme l’anarchie est une forme de liberté sociale… Je plaisante bien sûr. ;)

En tout état de cause, tout cela montre que Fedora n’est pas piloté par une bande d’idéologues passés de mode du logiciel libre. Fedora ne distribue que des logiciels open source pour des raisons bien précises (sur lesquelles je ne m’étendrai pas), mais sûrement pas parce qu’ils « détestent » les logiciels commerciaux.

Fedora et l’environnement de bureau

Certaines personnes disent que Fedora n’est qu’une version de test pour la distribution commerciale Red Hat Enterprise Linux (RHEL) et ne veulent pas être des « bêta-testeurs de Red Hat ». Je pense que, même si c’était peut-être le cas dans le passé, les choses ont évolué. Les deux dernières versions de Fedora (17 et 18) tentent vraiment de proposer un système convivial et de qualité pour un usage bureautique.

Pour être franc, je pense que Canonical nous a quelque part aidé le jour où Ubuntu a décidé de développer Unitypar dessus GNOME, ne faisant plus de ce dernier l’environnement de bureau par défaut. Aujourd’hui, Red Hat et GNOME sont contraints de faire de Fedora une distribution conviviale de qualité car ils ne bénéficient plus comme avant de l’aide d’Ubuntu. Bien sûr, Fedora a beaucoup de travail à accomplir pour rattraper Canonical car Ubuntu est désormais mondialement connu comme étant la distribution de bureau pour le grand public et a réussi à se faire un nom réputé sur le marché.

Fedora et les logiciels

Fedora a une politique stricte qui détermine quel logiciel est autorisé à être inclus dans leurs dépôts officiels et quel logiciel est interdit.

Le Projet Fedora encourage vivement à utiliser des logiciels libres et open source. Fedora possède une ligne de conduite qui impose les obligations suivantes :

Si c’est propriétaire, cela ne peut pas être inclus dans Fedora (la seule exception étant donc les firmwares binaires).

Si c’est légalement problématique, cela ne peut pas être inclus dans Fedora.

Si cela enfreint les lois des États-Unis, cela ne peut pas être inclus dans Fedora.

Vous pouvez trouver plus de détails sur la page du wiki « Fedora Forbidden Items ». Ainsi des logiciels de base comme certains pilotes nVidia et ATi, ceux des cartes Wi-Fi, la version Java d’Oracle, le greffon Flash d’Adobe, etc. ne sont pas inclus. Bien que je sois complètement d’accord avec ce qu’ils font, je ne suis pas toujours d’accord avec la manière dont ils le font.

Et nous en arrivons au sujet initial de ce billet, à savoir : pourquoi Fedora refuse d’incorporer Chromium à leur distribution.

Chromium et Chrome

Pour les gens qui ne connaissent pas la différence, Chromium est le navigateur open source dont Google Chrome tire son code source. Les deux navigateurs (Chrome et Chromium) partagent la majorité du code et des fonctionnalités bien qu’il y ait quelques différences mineures.

Chromium n’intègre pas de fonction de mises à jour automatiques, ni de lecteur PDF ni de lecteur Flash. Chrome est un gratuiciel et ils ne fournissent pas le code source (qui est quasiment identique à Chromium de toute façon), alors que Chromium est, accrochez-vous, sous licences BSD, MIT, LGPL, MS-PL et sous triple licence MPL/GPL/LGPL.

Pourquoi Fedora ne distribue pas Chromium

Chromium est en théorie un logiciel instable (mais en pratique stable) et ils ne distribuent pas de versions stables. C’est la première raison pour laquelle Fedora ne le distribue pas. Cependant, Chromium maintient de nombreux « forks » stables parmi les créations (ou builds) de la communauté et qui portent le même nom : « Chromium ». Ce n’est donc pas le principal problème aujourd’hui.

Le vrai problème, c’est la politique d’empaquetage de Fedora et la politique d’empaquetage de Chromium. Chromium est constitué de nombreux composants open source, mais concrètement il a tendance à les forker puis les empaqueter pour les intégrer.

Par exemple (cas d’école) Chromium utilise OpenSSL. Mais l’équipe de Chromium n’est pas vraiment satisfaite de son fonctionnement et elle veut y apporter des modifications. Ils font alors un fork et ils l’incluent dans le paquet de Chromium. Ils maintiennent cependant une documentation sur les modifications qu’ils apportent à ces paquets. Mais donc maintenant Chromium se retrouve avec son propre OpenSSL, qui n’a pas été testé avec le système et cela rend l’empaquetage difficile pour tous les contributeurs de distributions Linux.

Un rapport de bug a été ouvert à ce sujet en novembre 2009 : bug de suivi sur la création d’une vraie version pour les distributions Linux #28287…

Bien que nous fournissions le code source, il y a quelques étapes nécessaires avant que cela soit utilisable en amont par les distributions Linux. Ce bug de suivi sert à en suivre l’avancement.

…mais encore aujourd’hui, il faut toujours un dépôt supplémentaire pour installer Chromium.

Tom Callaway

Tom Callaway est manager de l’équipe d’ingénierie Fedora chez Red Hat et travaille conjointement avec Google pour corriger les problèmes de Chromium dans le but de l’incorporer au dépôt officiel. Il maintient également ses propres paquets de test de Chromium.

Callaway décrit le problème :

« Google forke des bits de code libre pour Chromium comme un lapin fait des petits : avec régularité et sans trop y penser. Plutôt que de tirer parti des API existantes des projets upstream comme ICU, libjingle et SQLite (pour ne nommer qu’eux), ils préfèrent forker ce code à l’instant t et modifier à mort leurs propres API pour être utilisées dans Chromium.

Ce qui ressemble beaucoup à de la méthodologie Java, que je pourrais résumer ainsi : « j’ai envie d’utiliser ce code tiers mais mon application est trop spéciale pour l’utiliser tel quel, donc j’ai rajouté des jantes et pare-chocs en alu et un éclairage néon pour éclairer le dessous, puis j’ai fourré ma copie bling-bling dans mon application ». Une grande partie des développeurs upstream de Chromium semble avoir un passé de codeurs Java ce qui pourrait être une explication mais qui n’excuse rien. Cette façon de faire devrait être un dernier recours, pas la norme.

Voici ce qui devrait plutôt arriver dans l’absolu (en prenant SQLite comme exemple) :

google Hé, ça serait sympa si nous pouvions utiliser SQLite dans Chromium pour nos besoins de bases de données locales.

google Hum, l’API SQLite ne cadre pas à 100 % avec la manière dont j’aimerais que Chromium l’utilise.

google Salut l’équipe SQLite, il y a quelques endroits où nous aimerions voir des améliorations de l’API pour que Chromium en tire profit dans notre cas d’utilisation.

sqlite_upstream Salut Google, c’est tellement cool que vous vouliez utiliser notre code.

sqlite_upstream regarde les changements proposés par Google à SQLite.

sqlite_upstream Intéressant, vous pourriez essayer d’utiliser la fonction X pour mieux répondre à vos besoins mais le reste des changements semble OK.

sqlite_upstream valide les changements dans le code source dans la révision 12345.

sqlite_upstream Notre prochaine version va les inclure.

google Ouais ! Nous allons dire aux gens d’appliquer notre patch ou d’utiliser la révision 12345 ou plus récente. »

Vous trouverez plus d’informations sur la page consacrée à Chromium dans le Wiki Fedora.

Finalement

Au final, il y a deux bons navigateurs open source, Firefox et Chromium, mais Fedora persiste à n’en fournir qu’un seul et, malheureusement pour moi, ce n’est pas celui que je préfère :)

L’ironie du sort, c’est que si vous recherchez « Fedora Chrome/Chromium » dans Google, il y a de fortes chances pour que vous vous retrouviez sur une page qui vous propose le téléchargement de Chrome, puisque Google fournit un dépôt officiel Chrome pour Fedora !

Et l’on se retrouva en fin de compte avec un Google Chrome et son Flash intégré :)

Crédit photo : Scott Beamer (Creative Commons By-Sa)