Un pavé dans l’ (open) source – 2ème partie

Numérique Responsable

Dans l’article précédent, nous avons vu que derrière l’expression “open source” se cachent, en fait, plusieurs familles de licences et que toutes ces familles ont des différences importantes d’usage et de philosophie. Mais pour des raisons de facilité de lecture, je continuerai d’utiliser le terme “open source” avec toutes les réserves associées.

Dans cette deuxième partie, nous allons voir si le lien entre Numérique Responsable et open source est aussi évident.

L’expression “open source” est il un pot de miel ?

J’ai constaté depuis mon arrivée dans le domaine du Numérique Responsable qu’il suffisait de mettre un tampon Open Source pour que certaines organisations ou personnes décident que c’était un logiciel ou une plateforme qu’il fallait utiliser.

Prenons un exemple avec Mattermost. Cette plateforme de messagerie instantanée indiquait il y a encore quelques temps qu’elle était open source. Cela a visiblement suffi à certaines organisations de décider de l’utiliser, et cela a été envisagé au sein de Nuageo pour cette même raison. Mais si on regarde dans les détails c’est un peu plus compliqué. Sur leur page GitHub, il y a 3 licences en jeu :

  • si vous utilisez une version compilée par Mattermost, la licence MIT s’applique
  • si vous compilez vous même la version open source présente sur GitHub, la licence GNU AGPL v.3.0 s’applique
  • si vous compilez la version complète, c’est à dire la version »open source » plus le code propriétaire, il faut s’adresser à Mattermost et c’est une licence commerciale qui s’applique

Et la version cloud s’appuie sur la version commerciale.

Si vous regardez maintenant (en avril 2024), il y a toujours mention du terme open source sur leur page d’accueil mais elle est presque en bas de la page et bien plus réduite qu’en mai 2022 où open source apparaît directement sur la page d’accueil. On peut supposer que c’est le résultat d’une offre pour le moins ambiguë. C’est un peu comme si nous disions que macOS était open source car il est basé sur FreeBSD.

J’ai rencontré les mêmes arguments, par exemple dans des Fresques du Numérique à propos d’Android. L’argument le plus fréquent est de dire que iOS est propriétaire alors qu’Android est open source. Alors oui, une partie d’Android est open source, sous licence Apache v2.0. C’est le projet AOSP pour Android Open Source Project mais Android fourni par Google est de plus en plus propriétaire comme le montre cet article de 2018. Et les choses ne se sont pas arrangées avec Google Pay, la dépendance de plus en plus importante à Google Play Services, …

Bien sûr, il y a des alternatives comme LineageOS, /e/ mais il faut se passer de plusieurs services comme Google Maps, Google Pay voire les push notifications et essayer de trouver des substitutions. Donc ce n’est pas à la portée du premier venu.

L’open source, objet de toutes les vertus ?

À part Linux ?

Le seul et quasiment unique exemple qu’on me donne quand je pose la question du lien entre Numérique Responsable et open source est Linux. Je ne discute pas cet exemple ; effectivement Linux permet à d’anciennes machines d’être utilisées et donc participe à un numérique plus soutenable et responsable. 

Le dernier échange sur le sujet était au GreenTech Forum où un exposant m’expliquait qu’il avait donné à sa grand-mère son ancien portable de 10 ans équipé de Linux et qu’elle s’en sortait très bien. Quand je lui ai demandé quels logiciels elle utilisait, il m’a répondu qu’elle n’utilisait que Firefox (logiciel libre) même pour lire ses mails via GMail…

Bien sûr, cet exemple est anecdotique mais il est révélateur du manque d’offre de logiciels open source de qualité. La part de marché de Linux dans le grand public est comprise entre 2 et 3% et même si elle a doublé depuis 10 ans, c’est peu. Est-ce que les utilisateurs sont des imbéciles qui n’ont rien compris ? L’explication est peut-être ailleurs.

Bien entendu, je n’oublie pas que Microsoft et Apple sont de redoutables machines de communication et qu’elles laissent peu de place aux systèmes alternatifs. Mais il n’y a pas que ça.

Faire le choix de Linux n’est pas très simple pour le citoyen non-informaticien. Il faut choisir un windows manager. Et il y a pléthore : KDE, GNOME, Cinnamon… Lequel choisir ? C’est déjà une épreuve. Et il n’est pas rare d’avoir des soucis pour connecter un casque sans fil ou bien avoir des problèmes de compatibilité avec une carte ethernet, la gestion d’un double moniteur… problèmes qui sont souvent fonction de l’environnement desktop choisi.

Vous avez un doute ? Lisez les commentaires de cet article ou bien cette réponse sur Quora, quand on ne vous conseille pas de demander à un ami ou d’aller sur les forums. J’aime bien l’idée de l’entraide mais encore faut-il pouvoir être aidé et avoir dans son réseau quelqu’un qui pourra consacrer du temps à votre machine. 

Les logiciels Open Source sont-ils maintenus par une communauté ?

Il est courant de lire comme sur le site Green IT que les logiciels open source peuvent être maintenus par toute une communauté. Ceci est vrai : “ils peuvent”. C’est bien entendu le cas de Linux mais combien de projets sont abandonnés faute de développeurs ? Vous pouvez lire cet article de recherche de 2019 qui écrit : 

Conclusions: Project abandonment is a reality even in large open source projects

Et c’est sans compter qu’une majorité des projets étudiés n’ont qu’un seul mainteneur ! 

Concernant les failles de sécurité, les logiciels open source ont aussi des problèmes importants comme le bug Log4Shell qui a eu un impact considérable. Le problème ici n’est pas qu’il est open source ; c’est la taille du code qui a fait que personne dans la communauté ne l’a vu.

Manque de logiciels de qualité

L’autre problème important est le manque de logiciels. Quels sont les logiciels « open source », connus et de qualité, utilisables par n’importe qui ? On peut les compter sur les doigts d’une seule main : Firefox et VLC. Pour les développeurs, il y en a un peu plus et parmi eux il y a Eclipse, Python, PHP,… mais ça concerne une minorité d’utilisateurs développeurs.

Bien sûr, il en existe d’autres comme GIMP qui est certes connu mais en 20 ans de carrière, je n’ai pratiquement jamais rencontré un designer l’utiliser. Thunderbird ? Faites un sondage autour de vous et vous verrez que peu de gens en dehors de la tech connaissent son existence. Regardez le catalogue des logiciels libres : 3 logiciels “desktop” dans la section “FEATURED PACKAGES” mis en avant sont parfaitement inconnus (Music Blocks, Pino et Icedove) et cela n’a d’ailleurs pas changé depuis au moins un an.

Après il existe bien Apache Open Office et LibreOffice. Mais outre une UX un peu vieillotte (c’est aussi une affaire de goût, j’en conviens), ils sont peu intégrés avec l’OS qui les supporte, portabilité oblige. Des exemples ? Essayez d’imprimer depuis Firefox sur macOS : le dialogue d’impression n’est pas standard. Vous voulez glisser/déposer une image sur le bureau ? Vous récupérez une page web plutôt que l’image.

Mais, j’ai continué à creuser le sujet. Au sein de Nuageo, quelqu’un avait posté un lien wikipédia sur les correspondances entre logiciels libres et propriétaires. Comme je suis un fan d’OmniGraffle, je suis allé voir ce qui était proposé en logiciel libre sur Mac et j’ai pris le projet Dia, le seul qui ne soit pas un dérivé d’Open Office. Le site du projet affiche les dernières news qui datent de 2010 !! Soyons honnêtes : il faut avoir une très forte conviction pour utiliser ce logiciel sur Mac (j’aurais pu aussi parler des problèmes rencontrés par les utilisateurs sur des versions récentes de macOS).

Vous pouvez penser que je m’égare mais je ne le pense pas. J’essaie de montrer qu’il n’y a peu d’usage de logiciels open source pour plusieurs raisons dont l’ergonomie qui n’est pas au rendez-vous. Il est donc difficile d’avoir un déploiement massif.

Les logiciels open source sont-ils pensés « Numérique Responsable » ?

Même si beaucoup plus de gens utilisaient les logiciels open source, quel est le lien avec le Numérique Responsable ? Est-ce que Firefox, VLC, Eclipse pour n’en citer que quelques-uns sont particulièrement vertueux ? Est-ce qu’ils demandent nettement moins de ressources mémoire et processeur ? Sont-ils particulièrement ergonomiques ? Sont-ils éco-conçus avec une analyse centrée sur les fonctions essentielles ?

Car s’il y a un lien dans les consciences entre le Numérique Responsable et open source, l’inverse n’est pas vrai. Je n’ai pas vu, à ma connaissance, de logiciels open source se revendiquer être “sustainable” ou “green”. Et je vais l’illustrer par un exemple récent.

Au sein de Nuageo, je me suis intéressé à Mastodon car depuis le rachat de Twitter par Elon Musk, plusieurs membres de la communauté ont indiqué qu’ils allaient changer. Étant décentralisé, j’ai regardé ce qui serait nécessaire pour avoir son propre serveur. La stack technique est la suivante : 

  • PostgreSQL
  • Redis
  • Ruby On Rails
  • Node.js
  • Amazon S3 ou équivalent pour stocker les médias

On ne peut pas dire que les développeurs ont cherché à diminuer l’impact de leur solution. Si on peut comprendre que l’infrastructure pour des dizaines de milliers d’utilisateurs doit être différente d’une infrastructure pour quelques dizaines, au prix d’un effort supplémentaire, une configuration de base qui s’appuie sur SQLite au lieu de PostgreSQL et qui n’impose pas Redis aurait été la bienvenue. De même, tout développer en Node plutôt que de s’appuyer le couple RoR/Node aurait eu moins d’impact. Ou même utiliser Java, C# ou Swift pour réduire le besoin en ressources sur la machine.

Un autre exemple ? Framateam proposé par Framasoft dont j’entends parler depuis que j’ai rejoint Nuageo. Je trouvais leur site particulièrement lourd et je l’ai fait analyser par Website Carbon Calculator.

Verdict : 

Ce n’est pas moyen, c’est franchement mauvais.

Je ne vais pas lister toutes mes recherches ici, ce serait fastidieux. J’en conclus que les acteurs de l’”open source” sont comme tous les autres : pas spécialement sensibilisés aux problèmes environnementaux.

[Mise à jour au 16/5/24] Une approche très liée aux problèmes environnementaux existe : le permacomputing. Mais c’est une approche très orientée économiquement car vous pouvez y lire ceci : « With that said, permacomputing is an anti-capitalist political project ». Au moins c’est cohérent.

Modèle économique

C’est gratuit !

Un argument du libre, souvent entendu, est qu’il est gratuit. Je comprends la dimension sociale car elle permet à plus de gens d’utiliser l’informatique. Cependant, cela n’est pas sans conséquence. Tout d’abord, la relation n’est pas équitable. Dans la majorité des cas, ceux qui prônent le logiciel libre ne travaillent pas gratuitement. Dans le domaine du Numérique Responsable, il y a tout un écosystème de prestataires et de sociétés qui font des profits. Et c’est bien naturel. Mais quelle est la rétribution inverse ? Est ce qu’il y a une redistribution de l’écosystème vers les auteurs ? Certains oublient la maxime des défenseurs du libre “Free speech, not free beer”.

Je mets de côté le modèle très fréquent ou un éditeur met à disposition son logiciel gratuitement en échange de prestation de conseil car il concerne le B2B. Une des raisons du très faible nombre de logiciels de qualité open source, mise à par Linux ou BSD (FreeBSD, NetBSD…) est que la rémunération est faible voire inexistante. Développer un logiciel de qualité pour le grand public avec une très bonne ergonomie coûte cher car il nécessite beaucoup de compétences. Une application développée dans les années 90 jusqu’en 2008 était relativement simple : 1 plateforme (Windows voir 2 avec macOS dans le meilleur des cas). Et les sites web étaient aussi beaucoup plus simples. Depuis l’avènement du mobile, il faut au moins une application web, souvent une SPA (Single Page Application), une application iOS, Android, voire iPad quand il n’y a une version pour les TV connectées (Android TV, tvOS). Les attentes des utilisateurs ont beaucoup augmenté ainsi que leurs exigences.

Tout cela a un coût. Il n’est pas normal, d’après moi, d’attendre que les contributeurs développent gratuitement contre rien en échange. Pourquoi attendre de ces développeurs passionnés qu’ils contribuent le soir ou le week-end ? Ce n’est pas juste et je ne suis pas le seul à le penser si j’en crois cet article sur Techcrunch.

Et c’est sans compter le fardeau que représente la charge de travail et le risque de burnout. Dans son article, Jeff Geerling explique le fardeau de maintenir des projets open source (qui soit dit en passant gagne sa vie grâce à ses livres sur Ansible et sa chaine YouTube).

A moins de considérer que le logiciel est un bien public c’est-à-dire un bien universel, destiné à tous, dont l’usage n’est pas exclusif (s’en servir ne prive pas d’autres de leur usage) et de le faire financer par les gouvernements. Mais je ne suis pas sûr du tout que ce soit souhaitable, ni même possible à cause des déficits des états.

Finalement qui paie ?

Mais puisqu’on parle d’argent, comment sont financés les logiciels open source ?

Si on analyse le produit le plus célèbre qu’est Linux, il est intéressant de se poser la question de son financement. En 2016, il n’y avait plus que 7,7% des contributions qui étaient faites par des bénévoles. L’énorme majorité est faite par des développeurs rémunérés par leur sociétés. En 2020, les 2 premiers contributeurs au noyau Linux étaient Huawei et Intel. Dans les 20 premiers, on retrouve Google, Facebook, Oracle, Samsung… Entendons nous bien : je n’ai rien contre ce financement (enfin concernant Huawei ça me dérange un peu quand même) mais il faut bien reconnaître qu’on s’éloigne de l’image d’Epinal où une communauté de développeurs bénévoles développent un logiciel open source pour le bien de la communauté.

La fondation Apache fonctionne de la même façon : elle reçoit des donations pour son budget de fonctionnement, environ 1 M$ et les contributeurs sur les différents projets sont rémunérés par leur entreprise. Ce fonctionnement permet d’avoir des produits de qualité.

Une solution : changer de licence

Le problème est si important que plusieurs sociétés ont changé leur licence, une espèce hybride plus vraiment open. L’une des premières a été MariaDB, un SGBD compatible MySQL, créée à l’époque pour montrer le désaccord de son créateur après le rachat de MySQL par Oracle (Sun était propriétaire de MySQL et est tombé dans le giron d’Oracle quand Sun a été racheté par Oracle). Mais en 2013, plusieurs sociétés comme  MariaDB ou CouchBase ont créé une nouvelle licence : la Business Source License ou BSL. Le mouvement a été suivi par de nombreuses sociétés dont HashiCorp à l’été 2023. D’autres créent leur propre licence comme la société n8n.

Elles ont toutes un point commun : protéger leur capacité à faire un business qui leur permet de se développer.La situation peut même devenir cornélienne. Par exemple, la société allemande Clouron propose un service de déploiement de logiciels open source pour $15/mois (en plus de la location d’une VM) en développant une couche d’intégration entre les applications, le déploiement des mises à jour…. Personnellement, j’ai été séduit par l’idée mais son offre entre en conflit avec certains éditeurs qui essaient de trouver un business model en proposant d’héberger eux même leur solution sous forme d’abonnement. Qui va payer $4/user/mois pour leantime quand pour environ $35/mois (15 pour le service et environ 20 pour la VM) je peux avoir plusieurs applications, indépendamment du nombre d’utilisateurs ? Comment d’ailleurs ne pas ressentir une impression de profiter de la situation ?

Logiciel versus Plateforme

Des choux et des carottes

Dans la communauté du Numérique Responsable, il est commun, à juste titre d’ailleurs, de critiquer les grandes plateformes que sont Facebook, Google, Amazon … en faisant un amalgame avec les logiciels propriétaires. Or on compare des choux et des carottes.

S’il est logique de comparer Linux à Windows, on ne peut pas comparer Firefox à Youtube.

Or, à bien y réfléchir, ce sont ces plateformes qui sont visées car invariablement, dans les fresques ou dans les conférences, se pose la question des données qu’elles possèdent sur nous et de leurs usages. Donc ce n’est pas un problème de logiciel proprement parlé (cela aurait d’ailleurs du choquer mon interlocuteur du GreenTech Forum quand il m’expliquait que sa grand mêre utilisait un vieux portable avec Linux pour lire ses mails sur Gmail)

Et pour rendre les choses encore plus floues, les très grands acteurs de la tech sont à la fois des grands utilisateurs de logiciels open source (Google, Amazon, Facebook s’appuient sur Linux, WhatsApp sur FreeBSD). Mais ils sont aussi de grands contributeurs. Des logiciels open source majeurs ont été développés grâce à eux. Kafka a été développé à l’origine par LinkedIn, Go, Android, Angular par Google, Cassandra et React par Facebook pour n’en nommer que quelques-uns.

Donc peut-être que le problème le plus important n’est pas de savoir si on doit utiliser un logiciel open source ou pas dans le cadre d’une démarche Numérique Responsable mais si on peut utiliser les plateformes connues que sont WhatsApp, YouTube, Google Workspace, Office 365, LinkedIn…

Le cas LinkedIn


L’usage massif de LinkedIn par la communauté NR est un grand sujet d’étonnement. 

Comment peut-on conseiller, voir promouvoir, Linux, LineageOS, Mattermost… tout en misant toute sa communication sur un Facebook Like professionnel ? Où le premier réflexe, en présentiel, est de demander à être mis en relation ? 

Pourquoi vilipender Apple, Google, Meta, Microsoft… et pas LinkedIn (filiale de Microsoft) ?

Même si je comprends tout à fait l’aspect pratique, où est la cohérence ?

Pourquoi ces plateformes ont-elles du succès ?

Grâce aux réseaux de plus en plus rapides, il y a eu une migration du logiciel installé sur un équipement vers un logiciel web accessible en ligne. Et cette migration présente de nombreux avantages :

  • l’accessibilité depuis n’importe quel terminal, 
  • mise à jour automatique du logiciel,
  • enregistrement automatique
  • backups des données 
  • possibilité de collaborer ce qui a entraîné la suppression de la notion de format de fichier et tous les problèmes de compatibilité associés (on ne transmet plus un fichier à quelqu’un, on lui donne un accès).

Mais elle présente aussi son lot de problèmes :

  • opacité des algorithmes 
  • interrogation sur l’usage de nos données 
  • nécessité d’être connecté au réseau quasiment pour chaque tâche, que ce soit via un partage de connexion avec son smartphone ou une connexion WIFI
  • quelques problèmes d’ergonomie quand on compare à un logiciel natif pour peu qu’il soit bien conçu
  • gaspillage des ressources machines à cause des technologies web, via le navigateur ou via une application Electron (qui embarque Chromium pour chaque application) et de la quasi obligation d’avoir du réseau pour son usage quotidien.

On remarque que les avantages sont très visibles et ces plateformes sont très utiles dans nos vies quotidiennes alors que les inconvénients sont plus masqués et soulignent des problèmes directement liés au Numérique Responsable (une architecture plus soutenable serait d’avoir des applications locales pouvant fonctionner sans réseau qui se synchronisent lorsque le réseau est de nouveau disponible, un peu comme les applications Notes, Reminders … de macOS).

Je ne développerai pas plus cette partie car elle est hors sujet mais il me semble important de montrer qu’il y a deux problèmes distincts à traiter.

Est ce que l’open source ne sert à rien ?

Bien sûr que non. 

Déjà il a complètement changé la façon de développer des logiciels. Avant 2000 (à peu près), il n’y avait pas de librairies open source. Maintenant, il n’est plus envisageable de faire sans. Les impacts les plus importants sont :

  • réduction des coûts 
  • réduction de la durée de développement
  • plus grande flexibilité car les logiciels inclus peuvent être modifiés et adaptés

Mais si l’open source est un succès majeur dans le monde du développement, il n’a aucun lien avec le sujet qui nous intéresse.

Si j’étais provocateur, on pourrait même dire qu’il est une des causes de nos problèmes. 

Prenons Linux. C’est la plateforme serveur #1 : 96.3% des 1 000 000 web servers les plus importants utilisent Linux d’après cet article. Linux est au cœur d’Android soit une énorme majorité du marché des téléphones portables. Et il y a plus de smartphones que de PC donc Linux est partout. Il est donc indéniable que le logiciel open source est un énorme succès. 

Mais il a donc fortement contribué à la démocratisation du numérique car le paysage serait très différent si chaque société devait payer des licences à IBM pour AIX, AT&T pour UNIX, Microsoft pour Windows, Oracle … Sans logiciel open source, on n’aurait pas non plus de macOS, iOS, Android… et le monde serait dominé par Microsoft !

Outre le monde du développement, l’open source est très utile dans notre domaine.

Je pense au projet open source Cloud Carbon Footprint qui permet d’évaluer l’empreinte carbone des solutions déployées chez AWS, GCP et Azure. C’est d’ailleurs un bon équilibre entre une petite communauté de développeurs en partie bénévole mais supportée par une société américaine thoughtworks qui rémunère une équipe qui participe au projet.

Et quand le monde de l’open source est associé avec l’open data, on a un couple gagnant. C’est le cas de Boavizta. Dans notre démarche Numérique Responsable, nous sommes tous confrontés à des problématiques de mesure d’impact. Sans ce collectif, nous n’aurions accès à peu d’application et de données de base sans oublier les méthodologies proposées par l’association.

Je pense même que des services comme Fruggr devraient être dans le domaine de l' »open source » pour qu’il n’y ait le moins de freins possible à la mesure et à l’amélioration des sites web de toutes les entreprises, associations ou collectivités. Sur le modèle du projet Cloud Carbon Footprint (CCF) cité précédemment, le projet pourrait être supporté par plein d’acteurs de l’éco-système (pourquoi pas les membres fondateurs de l’INR, l’Ademe, des entreprises de la tech…).

Conclusion

Vouloir utiliser des logiciels open source part d’une bonne intention. Mais comme nous l’avons vu dans cet article, le lien entre Numérique Responsable et open source est faible et non réciproque. Le seul point qui émerge est l’aspect social car la gratuité permet sa diffusion à tous.

Or si je mets de côté les logiciels destinés aux développeurs qui sont souvent de qualité car un business model a été trouvé, ce n’est pas le cas du grand public.

Et l’évolution des usages consistant à utiliser une plateforme plutôt qu’un logiciel installé sur sa machine, n’a fait qu’empirer les choses. En plus des coûts de développement, s’ajoutent les coûts d’hébergement. Insister sur la gratuité ne fait que pousser les citoyens vers des plateformes où ils sont eux-même le produit.

Le véritable enjeu du Numérique Responsable n’est pas de pousser vers les logiciels open source mais de questionner les plateformes sur l’opacité des algorithmes, l’usage de ces algorithmes et des données… et peut être commencer par remettre en cause l’usage de LinkedIn & consort.

Philippe Rabier

Laisser un commentaire