Linux devient-il trop complexe ?
C’est en tout cas ce que se demande John Goerzen sur son blog Changelog. J’ai reçu cet article via la newsletter de Slashdot, le titre m’ayant interpellé, je suis allé le lire. Ce qu’il dit en résumé, c’est que de nos jours, les distributions Linux deviennent de plus en plus compliquées, et qu’il est souvent impossible de « réparer les problèmes que l’on rencontre tout seul ». Selon lui il existe un postulat de base pour définir un bon logiciel. « Un bon logiciel est un logiciel prévisible ». C’est à dire qu’en ayant lu la documentation et parcouru l’interface (si il y en a une), on peut alors prédire que telle action va mener à tel résultat. A l’opposé, plus le logiciel est complexe, plus la possibilité de réparer soit même va être compliquée. De plus le niveau de complexité augmentant, le nombre de bugs sera à l’avenant.
Plus que de facilité d’utilisation, il tient à parler de facilité d’analyse. Cette facilité qui rend possible le « self-repair ». A ce titre son analogie entre une grotte et le système Linux est particulièrement intéressante. Il nous décrit comme étant dans une vaste caverne, avec comme plan les pages de manuel qui décriraient la texture des murs mais qui ne donneraient pas de plan exact de la grotte. Il semble reprocher ce fait aux environnements de bureau (Gnome en tête) et au désir des utilisateurs d’avoir des choses belles et soit disant simples. On peut rapprocher ce reproche à la bataille anti-sytemd, où certains pensent que Systemd est la résultante d’une tentative de prise de contrôle des développeurs de Gnome sur Debian.
Il y a quelques jours, j’avais commencé un article sur le sujet de l’esthétique en informatique. Le billet de John m’a poussé à le modifier. En effet les gens souhaitent que les outils informatiques qu’ils utilisent soient jolis. Mais si on se réfère à l’article de John, ce serait justement cette tendance qui tend à complexifier le logiciel. A le rendre moins auditable.
Pour utiliser souvent les pages de manuel, je dois avouer que je suis assez d’accord avec l’avis de John. Et je dirais même que je le rejoins assez sur le terrain de la complexité grandissante de notre OS. L’exemple le plus parlant et celui de la clé USB. Quand on branche une clé USB, on s’attend à ce que celle ci monte toute seule. Les cas où cela n’arrive pas, il est quasiment impossible de savoir pourquoi. J’ai moi même été confronté au souci sur ma Wheezy, et je n’ai jamais compris ce qu’il se passait. Ni même la communauté Debian à qui j’avais posée la question. Le plus étrange c’est que tout est retombé en marche comme par magie ! C’est typiquement ce genre de petites mésaventures, qui font fuir les éventuels nouveaux utilisateurs. Et pas tellement parce que ça ne marche pas, mais bien parce qu’il est très compliqué de comprendre pourquoi. Et l’inconvénient ici, c’est qu’on est en totale contradiction avec les préceptes du Logiciel Libre. Ces préceptes qui font que justement de nouveaux utilisateurs, souhaitent installer une distribution, pensant qu’ils pourront auditer eux-mêmes leur système et le réparer. Il m’arrive régulièrement de pester contre mon système, disant que j’en ai marre de passer 10 mns à tenter de comprendre pourquoi ma souris Bluetooth ne fonctionne subitement plus. J’ai envie de répondre que c’est un peu le prix de la liberté. Que malgré tout, le support matériel par les distributions Linux a fait d’énormes progrès, qui vont dans le sens d’une adoption massive.
Malgré tout, ces progrès doivent-ils se faire au détriment de la philosophie de base du Logiciel Libre ? Continueriez-vous à utiliser votre distribution si elle avait un niveau de support matériel parfait, une interface très léchée mais qu’elle devenait complètement inauditable ?