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 ?

 

21 thoughts on “Linux devient-il trop complexe ?

  1. Article intéressant mais je vais jouer mon puriste :

    Il faut parler de GNU/Linux et non uniquement Linux afin de différencier l’OS dont il est question ici et le noyau

    Il faudrait aussi classer l’article dans « Logiciel Libre »

  2. Tu as 100% raison. Il faut bien parler de GNU/Linux. D’ailleurs si tu lis certains de mes articles tu t’apercevras
    que c’est bien comme ça que je le(s) nomme. Pour cet article, j’ai voulu utiliser le terme Linux tel que la plupart des gens
    qualifient notre OS. J’aurais peut-être dû rester sur ma ligne puriste également !

  3. Bonjour,
    Vous partez d’un postulat faux: Les gens ne veulent pas savoir pourquoi ça ne marche pas et encore moins le réparer eux même! Les gens veulent simplement que ça fonctionne, un point c’est tout.
    Il est vrai que plus c’est complexe, moins ça fonctionne correctement et il est également vrai que les plantages font fuir les utilisateurs. Les (rares) personnes que j’ai convertit à Linux l’ont été parce que ça fonctionnait bien sur leur PC et qu’ils étaient peu formatés à un environnement de bureau en particulier. Pour convertir de nouveaux venus à Linux il n’y a pas de solution miracle: faire la chasse aux bugs et donner des interfaces cohérentes et simples (et non pas stupidement simplistes comme essaye de le faire Gnome). C’est ce qu’essaye de faire Ubuntu je crois, mais il y a encore du boulot.

    Après tout dépend du public visé, le nerd de base ou un public plus large et nettement moins avertit.

  4. Les systèmes GNU/Linux se sont complexifiés en interne pour offrir un fonctionnement plus simple à l’utilisateur. C’est difficile de trouver un bon équilibre entre les deux.
    Le montage de clé automatique en est un bon example. Il y a maintenant tout un tas de composants impliqués pour s’assurer qu’une clé montée automatiquement ne peut être lue que par l’utilisateur ayant une session graphique, stocker la clé de chiffrement dans le portefeuille de clé, … tout ça pour rendre cette opération au maximum transparente et tout de même sécurisée. Mais cela implique une multitude de composants qui rend la résolution de problèmes plus difficile. À contrario monter sa clé avec sudo mount est plus simple à diagnostiquer mais tellement moins pratique pour l’utilisateur.

  5. Ça fait surtout vieux de la vieille qui n’aime pas le changement, et qui trouve que c’était forcément mieux avant.

    Alors oui, quand j’ai débuté sous Linux en 1996, on pouvait plus facilement comprendre ce qui se passait sur notre système. Mais l’informatique à cette époque était également radicalement différente :

    – Le Wi-Fi n’existait pas encore.
    – La mobilité non plus (tablettes, smartphones…)
    – Pas de cloud ou de services en lignes
    – Pas de virtualisation
    – Pas de sandbox
    – Les menaces (malwares, trojans…) n’étaient pas aussi évolués qu’aujourd’hui.
    – On ne s’inquiétait pas encore des questions de vie privée (protection de nos données, chiffrement…)

    On doit pouvoir faire une liste longue comme le bras. L’informatique a changée, les besoins aussi. De nos jours, on souhaite pouvoir être mobile, pouvoir passer d’un périphérique à l’autre et reprendre où on en était. Que tout se synchronise de façon transparente. Pouvoir accéder à nos photos Flickr depuis notre gestionnaire de photos. Où à nos données dans le cloud depuis notre gestionnaire de fichiers ou n’importe quelle autre application.

    Et un autre point important a changé. Sans doute le plus important. L’informatique, bien qu’encore grandement imparfaite, est plus humaine qu’elle ne l’a jamais été. Quand j’étais gamin, de bien connaître l’informatique, faisait de moi un nerd. Ça rebutait les filles, les grands-parents, et finalement à peu près tout le monde. De nos jours, on a tous un ordinateur, un smartphone, et Internet sans trop de problèmes. Tout le monde peut communiquer, consulter Wikipédia, contribuer à OpenStreetMap…

    Pour moi, ça en valait la peine.

  6. Habitué de Windows depuis la version 3.11 + DOS (donc pas un newb en informatique) je dois avouer que je suis de plus en plus tenté par Linux, surtout avec l’arrivé de Windows 10 où l’on commence à perdre totalement la main sur sa bécane.

    Mais voila je n’ai pas encore réussi à franchir le pas du fait que je ne suis toujours pas parvenu à faire fonctionner ma carte son. Une Asus Xonar DGX.

    L’avantage sous Windows est que les constructeurs prévoient les drivers Windows de leurs périphériques, rares sont ceux qui le font pour l’environnement Linux. On installe donc un nouveau périphérique en 5 minutes et on peut de suite en profiter. Sous Linux il faut y passer des journées entières et on finit par passer plus de temps à configurer son matériel et à essayer de le faire fonctionner que de réellement l’utiliser.

    Un autre inconvénient est que sous Windows pour installer un logiciel un simple fichier exécutable suffit, sous Linux il faut passer par le terminal. Pour Madame Michu c’est déjà fichu, mais même pour quelqu’un avec de bonnes connaissances informatique mais qui a eu le malheur de grandir dans un univers Windows (qui me convenait jusqu’à W10) c’est la galère.

    Bref si vous avez une solution pour ma carte Xonar DGX je suis preneur, peut être qu’ensuite je retenterai l’aventure !

  7. Bonsoir,

    Comme vous le faites remarquer il s’agit bien de la volonté des constructeurs (ou plutôt la non-volonté d’ailleurs), de ne pas proposer les pilotes pour les distributions Linux.
    Même si cet état de fait tend à diminuer. Je ne pense pas qu’il faille passer des jours sur son laptop ou desktop pour le faire fonctionner correctement sous Linux. Maintenant c’est sûr
    qu’il faut y passer plus de temps que sous Windows (encore que ce n’est pas toujours le cas, par exemple mon imprimante HP s’installe en 5 secondes littéralement sur ma Debian).
    Pour votre carte son il semble que des utilisateurs aient réussi à la faire fonctionner :

    https://bbs.archlinux.org/viewtopic.php?id=184525

    Il semble qu’elle soit supportée depuis la version 3.14 du kernel.
    Au plaisir !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *