Contrairement à Windows et macOS, il n'existe pas de plateforme Linux, Tobias Bernard, un designer travaillant sur GNOME, essaie d'expliquer l'échec de Linux sur desktop

https://linux.developpez.com/actu/286772/Contrairement-a-Windows-et-macOS-il-n-existe-pas-de-plateforme-Linux-Tobias-Bernard-un-designer-travaillant-sur-GNOME-essaie-d-expliquer-l-echec-de-Linux-sur-desktop/

Linux est le plus grand projet communautaire dans le monde du développement. Il s’impose dans presque tous les domaines technologiques (serveurs, cloud, mobiles, superordinateur, etc.). Mais il fait un bide sur le marché des PC. Plusieurs ont essayé d’expliquer cela par de nombreux problèmes, y compris le manque de constructeurs proposant des PC avec Linux préinstallé ; le support des pilotes et des logiciels propriétaires ; des interfaces utilisateur que les gens trouvent parfois très basiques ; ou encore le problème de fragmentation de l’écosystème.

Parmi les grands noms de la tech qui ont donné leur avis sur la question, on pourrait citer Linus Torvalds pour qui, si Linux a du mal à réussir sur le marché des OS desktop, c’est principalement à cause de la fragmentation de l’écosystème. Mark Shuttleworth, fondateur et PDG de Canonical (éditeur d’Ubuntu), a, quant à lui, évoqué le manque de vision futuriste. Il blâme la communauté qui, selon lui, essaie plus de faire des choses qui ressemblent à ce qui existe déjà, au lieu d’innover (comme il a voulu le faire avec le projet Unity) ; ce qui conduit à des forks et fragmentations, qui vont à leur à tour freiner l’adoption de Linux sur desktop.

Mais pour Tobias Bernard, designer travaillant pour Purism afin d’apporter GNOME sur mobile avec le téléphone Librem 5, le véritable problème de Linux est que, contrairement à Windows et macOS, il n’y a pas vraiment de plateforme Linux. « Je pense que le cœur du problème est en fait la couche en dessous : avant de pouvoir avoir des écosystèmes sains, nous avons besoin de plateformes saines pour les construire », dit-il. Mais qu’est-ce qu’une plateforme ?

Pour lui, les plateformes qui connaissent du succès se distinguent par différents éléments qu’on peut manquer facilement en regardant simplement la surface. Du côté des développeurs par exemple, elles disposent d’un OS que les développeurs peuvent utiliser pour créer des applications et elles proposent un SDK et des outils développeur intégrés au système d’exploitation. Il faut également de la documentation pour les développeurs, des didacticiels, etc. pour que les gens puissent apprendre à développer pour la plateforme. Et une fois les applications créées, il doit y avoir un magasin d’applications pour les soumettre.

Mais les développeurs ne peuvent pas créer d’excellentes applications par eux-mêmes. Cela dit, il faut également des designers. Et les designers ont besoin d’outils pour simuler et prototyper les applications ; des modèles d’interface utilisateur pour des choses comme la mise en page et la navigation afin que chaque application n’ait pas à réinventer la roue ; et un langage de conception graphique pour pouvoir visuellement adapter leur application au reste du système. Il faut également des directives d’IHM documentant tout ce qui précède, ainsi que des didacticiels et d’autres ressources pédagogiques pour aider les gens à apprendre à concevoir des applications pour la plateforme.

Du côté de l’utilisateur final, Tobias Bernard explique qu’il faut vous un système d’exploitation grand public avec une boutique d’applications intégrée, où les gens peuvent obtenir les applications créées par les développeurs. L’OS grand public peut être le même que l’OS développeur, mais pas forcément (par exemple, ce n’est pas le cas pour Android ou iOS). Les utilisateurs doivent aussi disposer d’un moyen d’obtenir de l’aide ou un support lorsqu’ils ont des problèmes avec leur système (qu’il s’agisse de magasins physiques, d’un site Web d’aide ou autre).

En d’autres mots, Tobias Bernard estime qu’on ne peut pas parler de plateforme avant de remplir quatre conditions essentielles : un système d’exploitation, une plateforme développeur, un langage de conception et un magasin d’applications. Sur cette base, si nous cherchons dans le monde du logiciel libre, où sont les plateformes ? Selon Tobias Bernard, le seul OS remplissant les quatre conditions dans le monde libre est Elementary OS.

Linux ? Non, car Linux est un noyau, qui peut être utilisé pour créer des systèmes d’exploitation autour desquels peuvent être créées des plateformes, comme Google l’a fait avec Android. Mais un noyau en lui-même ne remplit pas les quatre conditions, et n’est donc pas une plateforme.

En regardant parmi les distributions, on peut penser à Ubuntu, qui est clairement parmi les plus populaires et qui, contrairement aux autres, a son propre magasin d’applications. Mais Ubuntu n’est toujours pas une plateforme, car il n’a pas les éléments les plus critiques, à savoir un SDK ou une pile technologique pour les développeurs et un langage de conception. D’autres distributions se trouvent dans une situation similaire à Ubuntu, mais pire parce qu’elles n’ont pas de boutiques d’applications.

GNOME ? C’est la pile de bureau la plus populaire dans le monde du logiciel libre, et il possède un SDK et un langage de conception. Mais, il n’a pas de système d’exploitation. De nombreuses distributions sont livrées avec GNOME, mais elles sont toutes différentes d’une manière ou d’une autre, donc elles ne fournissent pas un objectif de développement unifié.

En résumé, le fait qu’il n’y ait pas de plateforme Linux (une “plateforme” dans le monde Linux qui remplit ces quatre conditions) rend difficiles le développement et la distribution d’applications avec une bonne expérience utilisateur. Ce qui pourrait être la racine de tous les maux de Linux sur desktop.