Décès de Bram Moolenaar, créateur de VIM

Posté par  . Édité par Benoît Sibaud, Nils Ratusznik, palm123, Jehan, ted, Ysabeau 🧶 🧦 et Jona. Modéré par patrick_g. Licence CC By‑SA.
106
8
août
2023
Communauté

Bram Moolenaar était le créateur de l’éditeur de texte en ligne de commande VIM qui reste très utilisé pour le développement logiciel. Il a aussi été le trésorier de la fondation caritative ICC Holland œuvrant en Ouganda pour l’enseignement scolaire des orphelins et dans l’association d’utilisateur de UNIX aux Pays-Bas NLUUG. Son décès a été annoncé le 5 août 2023 via la liste de diffusion publique du projet VIM.

Bram Moolenaar en 2007
(source, Sebastian Bergmann de Siegburg, Germany • CC BY-SA 2.0)

Genèse de VIM

Insatisfait par l’implémentation originelle de VI sur Amiga à la fin des années 1980, Bram Moolenaar a pris le code-source d’un des clones existants à cette époque et en a fait un fork à part nommé VIM pour « Vi IMitation » avec l’ajout de fonctionnalité. La première sortie de version 1.14 a donc été publiée le 2 novembre 1991 dans le domaine public.

À la suite des nouvelles contributions d’utilisateurs et de Bram Moolenaar lui-même pour améliorer le logiciel depuis sa version initiale, VIM a été renommé en « Vi IMproved » (« Vi amélioré ») depuis et est devenu en une trentaine d’années un des éditeurs de texte les plus utilisés pour le développement logiciel d’après le sondage de StackOverflow de 2021.

Durant son interview de janvier 2022 par Evrone, Bram Moolenaar a affirmé que VIM lui tenait une place significative dans sa vie.

VIM comme caritaticiel

Au démarrage, VIM affiche un message incitant à « [aider] les enfants pauvres d’Ouganda », ce qui n’a pas manqué d’intriguer une bonne partie de ses utilisateurs, plutôt habituée à des demandes de financement au bénéfice des créateurs de projet technologique. Dans le cas de la distribution Artix Linux, VIM s’affiche comme ceci pour la version 9.0.1676 :

Message à l'ouverture de VIM

En effet, VIM relève de la catégorie des caritaticiels. Le logiciel permet en particulier de reverser des dons pour le compte de la fondation ICC Holland. La licence de VIM contient une partie spécifique pour expliquer les principales motivations de l’auteur et fournit des instructions détaillées pour procurer des aides financières à la fondation.

L’idée de soutenir une fondation caritative par l’intermédiaire du message d’accueil de VIM est venu à Bram Moolenaar pendant un bénévolat dans le Sud de l’Ouganda dans les années 1990, où il a été marqué par la forte mortalité liée au VIH parmi les adultes et les conséquences sociales de l’épidémie chez des enfants devenus orphelins.

Depuis cette expérience fondatrice, ICC Holland est devenu un des principaux donateurs du foyer pour enfants de Kibaale.

Reconnaissances pour la contribution de VIM aux logiciels libres

Bram Moolenaar a reçu un prix par la NLUUG en 2008 pour ses travaux sur VIM (article en néerlandais), à l’occasion du 25ᵉ anniversaire de l’association des utilisateurs néerlandais d’Unix.

Prix par la NLUUG en 2008

En dehors de VIM

Avant son emploi en Suisse chez Google de 2006 à 2021, Bram Moolenaar était dirigeant de la société Zibmu Labs qui avait pour but de développer le langage Zimbu.

En plus de ses activités professionnelles, il était également membre de l’association CACert.

Il avait également des intérêts pour la photographie et pour la musique électronique.

Des hommages de la part de la communauté

L’annonce de sa disparition a suscité des hommages et des témoignages peu après l’annonce de sa disparition. De manière non-exhaustive, nous avons les fils et articles suivants :

Informations concernant l’organisation des obsèques

Il est possible de participer aux obsèques de Bram Moolenaar dans les Pays-Bas en se signalant à l’adresse de courriel dédié mise à disposition par sa famille (correspondance possible en anglais), afin de faciliter son organisation. Veuillez également prendre compte de la volonté de sa famille d’organiser les cérémonies de manière privée et en langue néerlandaise.


L'équipe de la rédaction de LinuxFr.org tient vivement à remercier la famille de Bram Moolenaar pour sa participation à l’élaboration de la dépêche afin d’honorer la mémoire du créateur de VIM.

Aller plus loin

  • # Respect

    Posté par  (site web personnel) . Évalué à 10.

    Il en faut de la patience pour s'occuper pendant 30 ans du même logiciel, le porter sur de nombreuses plateformes, trier les patchs, gérer les contributeurs, etc etc. Immense respect à sa patience et à son dévouement.

    C'est aussi le seul logiciel que je connaisse en charityware. L'approche est originale et parle bien de son auteur.

    Quand je me suis vraiment mis à l'informatique dans les années 90, il y avait plusieurs vi qui se faisaient bataille. A l'époque, on m'avait recommandé xvi mais mon voisin m'a montré Emacs avec la coloration syntaxique, puis joe, puis jed. Ça envoyait du pâté et j'ai basculé vers ces logiciels visuellement plaisants et facile à prendre en main. Mais au bout de deux mois, mon autre voisin m'a montré l'autre vi, vim, et comment activer la coloration syntaxique. Et comment configurer l'indentation. J'avais trouvé mon éditeur!

    A l'époque, utiliser vi était considéré comme raisonnablement hardcore (le top du hardcore, c'était d'utiliser ed) et Emacs était considéré comme une monstruosité. Rajouter de la coloration syntaxique à cet outil hardcore, c'était assez osé. Il a d'ailleurs perdu une partie de son public qui est retourné à ed ou aux autres clones de vi, plus minimalistes. Mais pour ensuite envisager de rajouter un langage de script, les buffers splits, le binding Python, le portage sous Windows, les plugins, il fallait être vraiment audacieux!

    Je l'ai rencontré dans les premiers FOSDEM. A l'époque, j'essayais de porter Vi sous KDE pour pouvoir l'utiliser comme composant d'édition dans tous les logiciels KDE. Ca complèterai le backend Gtk. Il m'avait dit qu'il était pas chaud parce que souvent les propositions de backend arrivent comme ça, et les développeurs disparaissent au bout de deux ans et c'est lui qui se tape la maintenance du backend graphique qu'il ne connait pas. Il a donc rejeté mes patchs. Et il a eu bien raison!

    Cher Bram, sans toi, la bataille Vi/Emacs aurait été perdue depuis longtemps par le camp Vi. Des milliers de Trolls sur linuxfr te doivent leur nourriture. Repose en paix!

    • [^] # Re: Respect

      Posté par  (site web personnel) . Évalué à 10.

      vi était considéré comme raisonnablement hardcore (le top du hardcore, c'était d'utiliser ed)

      Real programmers

      https://link-society.com - https://kubirds.com

    • [^] # Re: Respect

      Posté par  (site web personnel, Mastodon) . Évalué à 3. Dernière modification le 19 août 2023 à 23:45.

      A l'époque, on m'avait recommandé xvi mais mon voisin m'a montré Emacs avec la coloration syntaxique, puis joe, puis jed.

      J'ai eu plaisir à utiliser jed et joe aussi parce-que ayant beaucoup fait usage de WordStar et Borland Turbo Pascal sous DOS, et même Brief à un moment. Cela m'a permis aussi d'apprendre les bases de Emacs sereinement (sans me retrouver coincé dans la machinerie vu que je pouvais basculer en cas de danger.)

      Il a d'ailleurs perdu une partie de son public qui est retourné à ed ou aux autres clones de vi, plus minimalistes.

      C'était nécessaire …pour ne pas se laisser distancer par les deux principaux concurrents
      Ce fut temporaire : tous les deux (Elvis et Vim) permettent d'avoir une version tiny (un peu plus grosses que Nvi mais acceptables) tout en préservant la compatibilité…

      Mais pour ensuite envisager de rajouter un langage de script, les buffers splits, le binding Python, le portage sous Windows, les plugins, il fallait être vraiment audacieux!

      Pareil, les autres clones de vi avaient la plupart de ces fonctionnalités (sauf VimL), donc fallait pas être en reste…

      (petit extrait)

      fonctionnalité Elvis Vile Vim
      ruler-mode 1992–04–02, v1.17 1993–08–05, v3.57 entre 1992–04–20 et 1993–01–10, entre v1.17 et v1.24
      color-highlighting 1994–10–11, color 0.2e 1995–01–11 1998–02–19, v5.0
      syntax-highlighting 1996–10–01, v2.0 1994 (basic) ; 1999–04 (flex based) 1998–02–19, v5.0
      visual-mode 1992–08–23, v1.5 1995–06, v5.3f 1993–12–14, v2.0
      multiple-screens 1996–10, v2.0 1991–06–07, v3 1994–09, v3.0

      Pareil pour les portages (ces trois ont tous une interface Ncurse, X11, Win32) mais Vim est présent sur plus de plateformes non Unix (une des nombreuses choses dont NeoVim n'a cure) et est le seul par contre (à ma connaissance) à avoir des binding (Python, Ruby, Lua, Perl, Tcl)

      Mais au bout de deux mois, mon autre voisin m'a montré l'autre vi, vim, et comment activer la coloration syntaxique. Et comment configurer l'indentation. J'avais trouvé mon éditeur!

      C'est bien le principe de plugins qui m'a finalement fait lâcher Elvis pour Vim (pour lequel j'avais déjà fait un don mais que je n'utilisait pas, lui préférant les concurrents.)

      C'est aussi le seul logiciel que je connaisse en charityware.

      J'avais trouvé FireFTP quand Mozilla a décidé de retirer la fonctionnalité que j'utilise beaucoup.
      Il y a aussi PeaZip que je n'utilise pas mais qui est dans mes favoris car disponible pour MacOS, ReactOS et Windows y compris en tant que PortableApps.

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # Merci pour cette dépêche

    Posté par  (site web personnel) . Évalué à 10.

    Vim est vraiment un bel outil, même si je ne l'utilise plus, c'est selon moi un monument du logiciel libre.

    Il en a inspiré beaucoup, dont :

    • http://vimperator.org/ (interface Vim pour Firefox)
    • le mode Vim dans Sublime Text, VS Code, et bien d'autres éditeurs de texte

    D'ailleurs, durant mon adolescence, j'avais comme projet un navigateur internet basé sur Webkit avec l'interface de vimperator --> https://github.com/linkdd/cream-browser

    Et j'en avais même parlé ici : https://linuxfr.org/tags/creambrowser/public

    Vim a eu un gros impact sur ma manière d'aborder l'édition de texte, encore aujourd'hui, sur VS Code, je refactor mon code à coup de Ctrl+Shift+H et de regex (ce qu'il y a de plus proche de :s). Jamais j'abandonnerai le comfort d'un éditeur avec le multi-curseur au minimum.

    https://link-society.com - https://kubirds.com

  • # RIP Bram

    Posté par  (site web personnel) . Évalué à 10. Dernière modification le 09 août 2023 à 11:26.

    Et merci pour ton travail

    Quelqu'un aurait une idée du nombre de personne qui ont utilisé ce logiciel ?
    Il faudrait que l'Unesco le rajoute dans le patrimoine Mondial cela serait mérité.

    Sinon cela fait plus de 35 ans que j'utilise Vi et dérivé , en 1987 il n'y avait pas le choix et souvent pas assez de RAM pour lancer Emacs … donc vi

    Il m'a fallu bien 6 mois pour le maîtriser mais après difficile de s'en passer, et puis c'était le dénominateur commun dans tout les Unix des années 90 à l'époque ou Linux et internet n'existait pas encore.

    Aujourd'hui encore je l'utilise régulièrement sous linux et plus que par habitude.

    Mais à chaque fois que je passe sur un autre éditeur il me manque la commande '.' (point)
    cette possibilité d'effectuer une commande et de la recommencer en appuyant sur la touche '.'

    Cher Bram, sans toi, la bataille Vi/Emacs aurait été perdue depuis longtemps par le camp Vi. Des milliers de Trolls sur linuxfr te doivent leur nourriture. Repose en paix!

    Très bel hommage de ta part, difficile de faire mieux ;)

    • [^] # Re: RIP Bram

      Posté par  . Évalué à 10.

      Il faudrait que l'Unesco le rajoute dans le patrimoine Mondial cela serait mérité.

      C'est déjà fait via Software Heritage.

    • [^] # [hs] mail2macs

      Posté par  (site web personnel, Mastodon) . Évalué à 2.

      Mais à chaque fois que je passe sur un autre éditeur il me manque la commande '.' (point)
      cette possibilité d'effectuer une commande et de la recommencer en appuyant sur la touche '.'

      Ça change pas ;) Moi je l'appelle « Repeat previous operation »

      Cher Bram, sans toi, la bataille Vi/Emacs aurait été perdue depuis longtemps par le camp Vi. Des milliers de Trolls sur linuxfr te doivent leur nourriture.

      Linuxfr avait pourtant enterré Vi pour le courriel, en n'indiquant pas que la plupart des clients avancés qui se respectent permettent de configurer son éditeur (c'est le cas avec Alpine et avec Mutt~/.muttrc— par exemples, et le vénérable mailx utilise la variable d'environnement $VISUAL…) Et Vim ajoute une autre dimension avec NotMuch ou pas —les plugins ouvrent juste une autre dimension qui aboutie à des curiosités comme : vmail, Outlook-vim, iris, vim-mail, etc.
      Oui, Vim a permis d'avoir toutes les fonctionnalités annexes d'Emacs avec différentes implémentations. VimL, qu'on aime ou pas, a été le feature killer et le game changer. Merci Bram et va en paix.

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # Merci !

    Posté par  (site web personnel) . Évalué à 8.

    J'ai découvert vi en lisant des vieux e-zines dans les années 90. Quand j'ai eu mon premier linux, j'ai aussitôt utilisé vi, et rapidement vim. À la fac, j'avais un cours d'utilisation d'éditeurs de texte et tous les profs enseignaient emacs; j'ai tout fait avec vim à la place :)

    Plus de 20 ans d'utilisation, même si je suis récemment passé à Neovim, et je continue à utiliser les modes vi dans les autres applications que j'utilise (navigateur, IDE, etc.). Tout ça grâce au travail de Bram.

  • # Vim bronsonisé

    Posté par  (site web personnel) . Évalué à 3.

    Finalement la preuve qu'emacs préserve la longévité !

    C'est trolldi -->[]

  • # Merci Bram

    Posté par  . Évalué à 6.

    Que de souvenirs lors d'un premier contact un peu rugueux avec Vi/Vim sous Linux. Comment quitter Vim ou comprendre qu'il y a un mode normal et un mode insertion. Ensuite, c'est l'éveil quand on découvre qu'il y a une sorte de grammaire associée aux commandes.
    Merci à Bram Moolenaar pour cette contribution au logiciel libre qui fait travailler la mémoire.
    Il devait avoir un certain sens de l'humour car en saisissant la commande :help 42 ou :smile on fait une découverte.

    [ESC]:wq

  • # Vim 9.1 dédiée à Bram Moolenaar

    Posté par  (site web personnel) . Évalué à 8.

  • # En souvenir de Vim

    Posté par  (site web personnel) . Évalué à 2. Dernière modification le 21 août 2023 à 10:45.

    Triste nouvelle :-'(

    J'ai découvert Vim il y a maintenant 30 ans… lors de ma découverte d'Unix et mes 1ères expérimentations de Linux. Comme tout à chacun, j'ai été au départ déconcerté par cet éditeur (les modes Normal/Insertion, comment sortir de Vim avec le fameux :wq!…) mais une fois pris en main, on ne le lâche plus.

    Une fois enrichi de (nombreux) plugins et pas mal d'heures de configuration, il fût mon éditeur de texte/code principal et utilisé sur toutes mes machines/serveurs. Je ne l'ai jamais quitté jusqu'à peu (passage à Neovim depuis 2 ans).

    • [^] # Re: En souvenir de Vim

      Posté par  (Mastodon) . Évalué à 2.

      J'abandonne vim l'année de la mort de son auteur.

      Le fichier de conf par défaut est devenu horrible (la « compatibilité souris » a tout cassé), et comme je fais de l'admin sys sur des tonnes de machines différentes, je n'ai pas le courage de changer le fichier de conf à chaque fois.

      Neovim me voilà !

      • [^] # Re: En souvenir de Vim

        Posté par  (site web personnel, Mastodon) . Évalué à 7.

        Donc si on comprend bien, comme tu fais de l'admin sys sur des tonnes de machines différentes, tu penses trouver neovim et en changer le fichier de conf partout ?

        “It is seldom that liberty of any kind is lost all at once.” ― David Hume

        • [^] # Re: En souvenir de Vim

          Posté par  (Mastodon) . Évalué à 2.

          Installer neovim à la place de vim est plus rapide que faire un bon fichier de conf, trouver où l'héberger, et l'installer à chaque fois ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.