3 points par GN⁺ 2024-07-28 | 2 commentaires | Partager sur WhatsApp
  • Les systèmes d’exploitation étaient autrefois perçus comme du code immatériel difficile à vendre, mais après Microsoft et Apple, ils sont devenus des produits que le grand public choisit et paie, ainsi que des marqueurs d’identité culturelle
  • Les GUI ont rendu l’informatique plus accessible en enveloppant octets et fichiers dans des métaphores comme le bureau, les documents et la corbeille, mais lorsque la métaphore masque le fonctionnement réel, les erreurs et les pertes de données deviennent plus opaques
  • Windows et MacOS ont créé un marché gigantesque, mais les systèmes d’exploitation fermés et le monopole matériel contrastent avec la croissance des Unix open source et de l’écosystème des PC à bas coût
  • Linux expose l’intérieur du système via la ligne de commande, le code source public, les bases de données de bugs publiques et les fichiers de configuration ASCII, mais cette puissance laisse une fatigue geek (Geek fatigue) chez l’utilisateur ordinaire
  • BeOS proposait à la fois une nouvelle GUI et un terminal basé sur POSIX, montrant une voie de compromis, mais sur le marché des systèmes d’exploitation, le mindshare et l’écosystème de pilotes comptent autant que la technologie pour survivre

Comment le système d’exploitation est devenu un produit de masse

  • Jobs et Wozniak ont créé Apple avec l’idée de vendre des machines de traitement de l’information domestiques, tandis que Gates et Allen ont commercialisé une idée encore plus étrange à l’époque : vendre un système d’exploitation
  • Un système d’exploitation n’est qu’une longue suite de 1 et de 0 avec presque aucune matérialité physique, mais Microsoft est devenue une entreprise qui les vendait à grande échelle, à la manière dont Gillette vend des lames de rasoir
  • Les nouveaux systèmes d’exploitation sortaient comme des blockbusters hollywoodiens, et même les utilisateurs ordinaires ont fini par comprendre qu’un logiciel pour Macintosh ne s’exécutait pas sous Windows
  • Le monopole de Microsoft sur les systèmes d’exploitation est devenu une cible des actions antitrust du département de la Justice américain, et le débat PC-versus-Mac est devenu un enjeu culturel visible jusque dans les relations personnelles
  • Dans la métaphore automobile, Microsoft est dépeinte comme une entreprise qui vend le vélo MS-DOS, l’énorme break Windows 95 et le véhicule tout-terrain Windows NT, tandis qu’Apple vend une berline chère au capot scellé
  • BeOS serait la Batmobile technologiquement avancée, et Linux ressemble davantage à un char d’assaut distribué gratuitement par des bénévoles
    • 90 % des clients vont chez Microsoft, et la plupart du reste choisissent Apple
    • Linux est gratuit et puissant, mais les utilisateurs hésitent parce qu’« ils ne savent pas entretenir un char »

Le coût des métaphores créées par la ligne de commande et la GUI

  • Aux débuts de l’informatique, utiliser un ordinateur impliquait des procédures formelles passant par le teletype, le ruban perforé, le modem et le mainframe, avec une séparation claire des rôles : l’humain interprétait le sens, l’ordinateur faisait de l’arithmétique sur des bits
  • L’interface en ligne de commande (Command Line Interface) vient du mode d’usage du teletype, où l’on saisissait une ligne avant de recevoir une réponse ; ce n’est qu’après l’arrivée de la GUI qu’elle a reçu un nom distinct
  • Le Macintosh a popularisé la GUI en 1984 et, avec sa conception centrée sur la souris sans ligne de commande, affichait l’ambition de reléguer la CLI au passé
  • La GUI utilise des métaphores comme les fichiers, les documents, les fenêtres, le bureau et la corbeille pour expliquer des structures de données abstraites
    • Un fichier HTML, contrairement au résultat visuel d’une page web, ressemble davantage à un télégramme textuel interprété par le navigateur
    • Le navigateur est comparé au rôle de Ronald Reagan commentant un match de baseball à partir du contenu du télégramme
  • Les métaphores de la GUI sont pratiques, mais incomplètes
    • Un « document » désigne dans le monde réel un enregistrement figé, alors qu’un document informatique peut changer d’état avant et après l’enregistrement
    • « Enregistrer » revient davantage à supprimer la version précédente et à la remplacer par une nouvelle version contenant l’état actuel de la fenêtre
    • Lorsqu’un document disparaît à cause d’un plantage ou d’un problème d’alimentation, l’utilisateur subit le metaphor shear, c’est-à-dire un décalage brutal entre la métaphore et le fonctionnement réel

Microsoft, Apple et la logique économique de l’open source

  • Microsoft apparaît ici comme une entreprise qui lance des produits en fonction de la maximisation du rendement pour les actionnaires plutôt que de la finition esthétique ou de l’intégrité du produit
    • Même si Windows est peu élégant ou bogué, cela reste une décision rationnelle pour la direction si cela génère plus de revenus
    • L’hostilité envers Microsoft mêle une réaction de rejet parce que l’entreprise est « trop puissante » et un mépris parce qu’elle est jugée « ringarde »
  • Apple a conservé une stratégie de monopole matériel et contrôlait le matériel sur lequel MacOS pouvait fonctionner, ce qui a entraîné des prix élevés et une architecture fermée
    • Cette politique peut améliorer la qualité d’intégration entre matériel, OS et logiciel
    • Mais elle découle aussi du fait qu’Apple dépend financièrement des ventes de matériel
    • Le Macintosh était une machine difficile à ouvrir et à modifier pour les hackers
  • Par nature, un système d’exploitation ressemble davantage à une bibliothèque de code fréquemment utilisé, et un système d’exploitation fermé entre en tension avec cette finalité
  • L’interface et le comportement de l’OS doivent être publics pour que les programmeurs puissent les exploiter ; même si l’implémentation reste secrète, du code reproduisant le même comportement peut être réécrit
    • ProDOS a réimplémenté des fonctions similaires à celles de MS-DOS
    • Sous Linux, WINE reproduit un environnement d’exécution pour les programmes Windows
    • Unix a été implémenté séparément par de nombreuses entreprises, dont Sun, Hewlett-Packard, AT&T, Silicon Graphics et IBM
  • Avec le temps, les technologies de systèmes d’exploitation tendent à devenir gratuites ; l’activité OS de Microsoft a servi de base au développement de son activité applicative et de sa recherche, mais à long terme elle est traitée comme quelque chose à séparer
  • Si Microsoft lie de nouvelles technologies comme le navigateur à l’OS pour défendre sa part de marché, alors lorsque cette part vacille, d’autres activités peuvent être entraînées dans sa chute

La culture système révélée par Linux et BeOS

  • Linux est l’une des nombreuses implémentations d’Unix ; il a commencé lorsque Linus Torvalds a entrepris en 1991 d’écrire un noyau Unix fonctionnant sur du matériel compatible PC à l’aide des outils GNU
  • Les conditions qui ont rendu Linux possible se résument en trois points
    • Richard Stallman et GNU ont fourni des outils de développement gratuits
    • Microsoft, en ne faisant pas de matériel et en faisant tourner Windows sur les PC de multiples fabricants, a favorisé le marché des PC à bas coût
    • Linus Torvalds a lancé son noyau sur cette base matérielle et logicielle
  • Unix est puissant, comme une perceuse « Hole Hawg »
    • Il exécute exactement ce qu’on lui demande, mais devient dangereux si l’utilisateur n’anticipe pas suffisamment les résultats
    • Là où de petits outils échouent parfois lors d’un essai, le Hole Hawg est plus dangereux précisément parce qu’il exécute littéralement la commande avec force
  • Au démarrage, Linux affiche de longues lignes blanches de journaux et de messages d’erreur, et même en cas d’erreur il peut abandonner le processus concerné puis continuer
    • Les premières versions de MacOS et des systèmes Microsoft géraient mal plusieurs tâches en parallèle et offraient des capacités de reprise sur erreur limitées
    • Linux et les autres systèmes de type Unix sont robustes pour les processus parallèles et la surveillance des erreurs
  • Debian expose aux utilisateurs les problèmes et leur résolution via une base de données de bugs publique
  • À l’inverse, une tentative d’installer Windows NT 4.0 sur la même machine a mené à une interruption de l’installation, à une recherche Microsoft Support inutilisable, à une procédure Pay Per Incident qui n’aboutissait pas, puis à des numéros de téléphone injoignables
    • Plus tard, la recherche Microsoft Support s’est améliorée au point de permettre de trouver des documents proches de véritables rapports de bugs
    • Les informations publiques sur les bugs ont pour effet de forcer Microsoft à reconnaître leur existence
  • BeOS est un système d’exploitation conçu à neuf pour éviter le cruft accumulé dans MacOS et Windows
    • Be, Inc., fondée par Jean-Louis Gassée, développait depuis le début des années 1990 un nouvel OS incompatible avec les systèmes existants
    • Le BeBox était une machine dédiée à BeOS, dotée de deux processeurs et d’indicateurs LED en façade
    • BeOS a ensuite été porté sur Macintosh, sur les clones Mac et sur les PC Intel
  • BeOS dispose d’une architecture orientée objet, de passage de messages, de multithreading et de multiprocessing, et fournit une ligne de commande via l’application Terminal
    • Comme il respecte POSIX, il peut exécuter le compilateur GNU, l’éditeur de liens et les utilitaires GNU
    • Tout en utilisant l’éditeur de texte GUI Pe, on peut compter les caractères avec une commande Unix comme wc

Le mindshare qui fait bouger le marché des systèmes d’exploitation

  • Sur le marché des systèmes d’exploitation, la puissance de Microsoft tient moins à un monopole au sens classique qu’à une domination du mindshare
    • Linux est gratuit et souvent jugé techniquement supérieur
    • BeOS est proposé à un prix purement nominal
    • On est loin des anciens monopoles qui contrôlaient physiquement les moyens de production ou de distribution
  • Si Microsoft occupe une position si élevée, c’est parce que les fabricants de matériel et de logiciels doivent proposer des produits compatibles Windows pour être pris au sérieux sur le marché
    • Les fabricants de matériel écrivent les pilotes Windows, donc Microsoft n’a pas besoin d’écrire elle-même tous les pilotes
    • Linux lui oppose une communauté de codeurs compétents qui écrivent des pilotes gratuits
    • BeOS dépend de ses propres pilotes et de quelques pilotes tiers
  • La GUI est devenue plus qu’une simple interface PC : une méta-interface pour des technologies grand public comme les magnétoscopes, les téléphones mobiles, la télévision par satellite, les caisses enregistreuses, les terminaux bancaires et Lego Mindstorms
  • Quand chaque fonction reçoit une GUI, il devient difficile de transformer un petit utilitaire en programme autonome, et les fonctionnalités sont absorbées dans de gros ensembles comme Microsoft Office
    • Le wc d’Unix se suffit comme petit programme en ligne de commande, mais en faire une GUI exige beaucoup de code et de surcharge mémoire
    • Les fonctions Basic de Microsoft Office pourraient offrir à beaucoup d’utilisateurs une forme de capacité de hacking
  • La puissance de Linux épuise l’utilisateur parce qu’elle exige des fichiers de configuration, une ligne de commande, des options, des scripts et de la lecture de documentation
    • La page de manuel de find fait 11 pages, et une connexion PPP demande un script de numérotation, un fichier d’options et un fichier de secrets
    • Sans noter à la main les changements de configuration, il est difficile de revenir en arrière
    • L’OS idéal ressemble davantage à une combinaison entre une GUI bien conçue et une ligne de commande à laquelle on peut revenir quand c’est nécessaire
  • Dans la dernière métaphore, la ligne de commande est une interface offrant assez de liberté et de danger pour créer un univers, tandis qu’une GUI totalement automatisée remplace les choix de la vie par un simple bouton
    • La vie comme la technologie sont difficiles et complexes, et aucune interface ne peut changer ce fait
    • Si l’on ne veut pas déléguer ses choix, il faut les faire soi-même

2 commentaires

 
GN⁺ 2024-07-28
Avis sur Hacker News
  • Cet essai de Neal Stephenson a été publié pour la première fois en 1999
    https://en.m.wikipedia.org/wiki/In_the_Beginning...Was_the...
    Le passage qui compare les systèmes d’exploitation à des voitures — par exemple Windows à un break et Linux à un char — a récemment été repris dans l’épisode de Acquired consacré à Microsoft, où Vista était comparé à une Dodge Viper et Windows 7 à la Toyota Camry que les utilisateurs voulaient réellement

    • Neal Stephenson lui-même a reconnu dès 2004 que ce texte avait vieilli : « J’ai adopté OS X dès sa sortie et je ne suis jamais revenu en arrière. Une bonne partie de ‘In the beginning was the command line’ est donc désormais dépassée. Je me dis sans cesse qu’il faudrait le mettre à jour, mais, honnêtement, il y a peu de chances que cela arrive. »
      https://slashdot.org/story/04/10/20/1518217/neal-stephenson-...
      Et pourtant, les gens continuent de ressortir un texte vieux de 25 ans pour se glorifier d’être utilisateurs de Linux. Du genre : « Moi, j’utilise une Hole Hawg ! Je conduis un char ! Je suis un vrai hacker, pas comme eux ! »
    • Aujourd’hui, je le ressens plutôt autrement. Linux n’a jamais été massivement plus puissant que les autres systèmes d’exploitation ; il y a dix ans, il ressemblait à un tracteur, mais aujourd’hui il est plutôt devenu une alternative à la Toyota Camry avec une expérience utilisateur assez correcte
      À l’inverse, Windows est devenu une voiture avec deux écrans de 27 pouces sur le tableau de bord, une mauvaise expérience utilisateur et de la publicité partout
    • Comme analogie réelle, Vista serait plutôt la Ford Edsel, un échec ridicule et largement moqué, tandis que Windows 7 se rapproche de la Ford Comet, qui a rencontré un grand succès
      La comparaison fonctionne assez bien, car la Comet était en réalité le modèle suivant de l’Edsel, simplement sous une autre marque. Le passage de Vista à 7 ressemble à cela
    • Windows XP ressemble à une vieille Volvo des années 1970. Étrangement, elle roule encore dans toutes sortes d’endroits oubliés du monde
    • Pour expliquer à un ami pourquoi je continue à détester Microsoft, je dirais qu’à l’époque, le choix automobile semblait se limiter à une Ford Pinto ou à un pick-up
      Tout le monde n’a pas besoin de la capacité de transport d’un pick-up, mais si l’on voulait éviter l’encombrement et la consommation, il ne restait qu’une Pinto aux modes de panne dangereux. Plus tard, la Pinto a disparu et a été remplacée par la Ford Taurus : utilisable, sans plus, mais ni amusante ni particulièrement performante, et avec une conception à boîte-pont qui obligeait à démonter tout l’avant pour la réparer en cas de panne
      En plus, à cause de la pression de marché exercée par Ford, les concepteurs d’infrastructures avaient créé des routes ou des lieux où l’on ne pouvait pas aller sans l’une de ces trois voitures, et si l’on voulait autre chose, on se faisait même railler
  • Le grand avantage d’une interface en ligne de commande est qu’elle permet de transmettre des instructions ou des corrections de façon très concise
    Si l’on a besoin d’un correctif connu pour un système Linux, il suffit d’envoyer la commande à copier-coller dans le terminal. Mais pour un correctif connu dans un programme graphique, la transmission devient soudain beaucoup plus difficile. Faut-il donner des instructions textuelles du type « cliquez sur le menu hamburger puis choisissez ‘preferences’ », ou joindre plusieurs captures d’écran avec des explications ?

    • La question ressemble presque à une hypothèse, mais pour répondre : il suffit d’utiliser à la fois des captures d’écran et du texte, et d’annoter l’écran avec Microsoft Paint. Par exemple en entourant l’élément de menu approprié d’un gros trait rouge
      Malheureusement, je ne sais pas comment représenter graphiquement une action de double-clic. C’est un processus long et sujet aux erreurs, utile surtout quand l’application GUI boguée est en pratique un logiciel abandonné
      Sinon, il y a de fortes chances que la nouvelle version conserve le même bug ou la même procédure peu intuitive, alors que l’interface graphique aura changé au point d’être méconnaissable. Peut-être parce qu’un manager quelque part a trop lu HN et a décidé que le refactoring côté utilisateur était la priorité absolue
    • Sous Windows, Steps Recorder peut être utile
      https://support.microsoft.com/en-us/windows/record-steps-to-...
    • Je suis d’accord. Quand la scriptabilité et la relecture sont faibles, les GUI sont intrinsèquement limitées
      Cela dit, si l’on formule au mieux, dans l’esprit de la fin des années 1990, l’avantage essentiel d’une GUI par rapport à une UI texte ou à une ligne de commande, c’est qu’elle en demande moins à l’utilisateur. La différence entre « voir et cliquer » et « mémoriser et taper » me semble très fondamentale
      Je n’ai pas encore vu de formule aussi concise pour résumer le compromis des UI vocales ou des UI à base de LLM
    • Cela semble nier la possibilité que toute séquence d’actions effectuée dans un espace d’objets limité puisse être transformée en une autre représentation, par exemple du texte, avec des widgets et des actions nommés
      Quelque chose comme { select[i]@dropdown:states > click@button:submit }. Le fait qu’un tel système n’existe pas encore ne veut pas dire qu’il est impossible. Il suffit de voir que les LLM, tant appréciés aujourd’hui par l’industrie tech, peuvent faire du « calcul visuel » à partir de tokens, c’est-à-dire de texte, pour constater que toute représentation peut finalement être encodée en texte
      Alors la fonction d’enregistrement de la GUI a produirait un encodage des actions, que l’on pourrait envoyer par e-mail à un collègue qui regarde la GUI b afin qu’il le colle
    • Ce n’est pas seulement utile pour le partage, mais aussi pour l’automatisation par scripts. Imaginez un environnement IT où il faudrait administrer chaque poste de travail en cliquant dans une GUI : en pratique, les responsables IT écrivent des scripts de configuration qui gèrent toute la configuration initiale, puis les poussent en une seule touche depuis leur bureau vers tous les postes connectés au réseau
      Si l’on veut rester centré sur la GUI, le seul outil dont on dispose réellement, ce sont des commandes textuelles qui décrivent des actions dans l’interface graphique. On ajoute donc une étape intermédiaire. Par exemple, si l’on utilise déjà AppleScript, autant exécuter directement la vraie commande qu’AppleScript essaie de contourner via le système GUI
  • À relire avec le Unix Haters Handbook https://web.mit.edu/~simsong/www/ugh.pdf
    Ce dont nous avons besoin, à mon avis, c’est d’un LispM recréé, d’une station de travail Smalltalk, ou d’une forme où le système d’exploitation serait conçu comme une application unique. Il faudrait un système dont le framework soit ouvert à l’utilisateur jusqu’au niveau le plus bas, entièrement programmable par l’utilisateur final, explorable et totalement intégré.
    Pour l’UI, il faudrait une ligne de commande 2D, voire 3D/4D, proche d’une DocUI capable d’inclure des éléments 3D, vidéo et multimédia. Comme cadre conceptuel, il y a http://augmentingcognition.com/assets/Kay1977.pdf.

  • À propos du passage original disant : « Cette concession a des mécaniciens. Si votre break a un problème, vous pouvez prendre une journée de congé, l’amener ici, écouter de la musique d’ascenseur pendant quelques heures dans la salle d’attente et payer pour le faire réparer », il me vient une réplique façon mégaphone : « Si vous recevez un char gratuit, des bénévoles viendront chez vous pendant que vous dormez pour le réparer gratuitement ! »
    Dans les faits, est-ce qu’une distribution Linux a réellement proposé ce genre de support à un moment donné ? Probablement sous la forme d’un contributeur du projet se connectant en ssh à ma machine.
    Mon impression, c’est que l’argument ressemblait plutôt à : « Nous avons un bâtiment entier rempli de manuels techniques décrivant chaque boulon et chaque vis du char, et nous pouvons vous les copier gratuitement. Avec un effort raisonnable, si vous les lisez tous et les mémorisez, vous pourrez réparer et modifier le char vous-même. Vous n’aurez plus à dépendre de concessionnaires automobiles véreux. Si vous avez besoin d’aide, venez à la réunion mensuelle de la communauté et parlez avec des gens aussi obsédés que vous par les chars. Mais seulement si vous êtes suffisamment obsédé par les chars, et seulement après avoir lu le manuel. »
    Bien sûr, c’était il y a des décennies, et la situation s’est nettement améliorée aujourd’hui.

    • Est-ce que les distributions Linux proposaient du support ? Il suffit de se demander comment Red Hat est devenue une entreprise à un milliard de dollars avant son acquisition par IBM, et comment elle représente aujourd’hui un pilier important du chiffre d’affaires d’IBM.
      On voit aussi que SuSE existe encore, et on peut deviner comment Canonical finance ses frais d’exploitation. C’est du support payant. Le support Linux est un gros business, et c’est ce qui maintient en vie les distributions populaires.
    • Je ne pense pas que ce soit l’implication recherchée. La métaphore était plutôt : « Si vous envoyez un rapport de bug, nous le corrigerons et publierons une nouvelle version, que vous pourrez télécharger et utiliser gratuitement. »
      Autrefois, si un logiciel commercial ne fonctionnait pas sur mon ordinateur, il fallait acheter une nouvelle version, et les patchs gratuits étaient rares.
    • Un contributeur du projet qui se connecte en ssh à ma machine ? Qui voudrait ça ?
      La réaction normale serait plutôt : « Ne t’approche pas de chez moi, espèce de type bizarre ! » À moins qu’une confiance importante ne se soit construite, je ne laisserais pas quelqu’un entrer chez moi pendant que je dors.
      La réaction réellement courante aurait plutôt été : « C’est open source, donc tu peux réparer toi-même tout ce que tu veux sur ton char. » Si tu as besoin d’un nouveau module pour le connecter à un autre appareil, tu le construis toi-même, comme si ce n’était rien.
  • Si le navigateur gère mal les longues lignes, on peut le lire ainsi :
    wget -O - [https://web.stanford.edu/class/cs81n/command.txt](<https://web.stanford.edu/class/cs81n/command.txt>;) | nroff | less

    • J’aime le fait qu’on puisse manipuler du texte de cette manière.
  • Mon passage préféré pour décrire les sentiments des utilisateurs Unix/Linux envers Windows est l’expression le Hole Hawg des systèmes d’exploitation.
    Cet essai devrait être une lecture obligatoire pour tous les étudiants en informatique et pour quiconque veut se qualifier de hacker.

    • J’enseigne l’analyse de données, et je l’ai mis en lecture obligatoire la première semaine. Cela n’atténue pas vraiment le choc de jeter les gens dans la ligne de commande, mais cela donne une perspective sur les raisons pour lesquelles on le fait.
    • La partie sur Reagan est bien aussi.
  • J’ai lu ce texte pendant ma cérémonie de remise de diplôme universitaire. Je l’avais caché dans les plis de ma toge, ce qui était l’action la plus appropriée que je pouvais faire à ce moment-là.
    J’ai aussitôt changé l’orientation de ma vie pour me concentrer sur les idées présentées dans ce texte. L’objectif était de faire bouger le monde avec la ligne de commande, et j’y suis presque parvenu.

    • J’aime l’expression sur le fait de sortir d’IP Chains.
      Il faut passer à Command Table.
  • Je viens de finir d’écrire une interface en ligne de commande pour LLM presque entièrement en Bash[1].
    C’est précisément l’argument de ce texte qui me fait soutenir l’avenir des LLM. Les gens dialoguent avec les LLM comme ils dialogueraient avec un shell en ligne de commande, et tout repose sur du texte brut. C’est aussi la philosophie Unix. Si j’avais lu ce texte avant d’écrire le client CLI, j’aurais sans doute eu davantage d’idées.
    [1]: https://github.com/simonmysun/ell

  • Est-ce que ce texte pourrait recevoir le prix de l’article le plus souvent republié sur HN ? Il est remonté en moyenne deux fois par an pendant 17 ans.
    https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...

    • Je pense qu’il est loin de la première place. Il y a des textes comme « Story of Mel » ou « You and Your Research », et je n’ai pas une telle liste, ni ne sais vraiment comment en créer une.
      Les variations de titre et d’URL rendent aussi l’agrégation instable.
  • J’ai ce livre en couverture souple. Je l’ai probablement lu avant le passage au millénaire.
    En tant qu’amateur de BeOS, j’ai particulièrement aimé la référence à la Batmobile.

 
xcutz 2024-07-29

The hole hawg.. qu’est-ce que c’est ?