• # activité lente, sinon moribonde du côté de macOS...

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Sortie de GIMP 2.10.28 et nouvelles autour du projet. Évalué à 10.

    Du côté macOS, la vie est beaucoup moins rose, avec une activité lente, sinon moribonde.

    J’ai évoqué récemment certains déboires que je rencontre en essayant de porter un logiciel GTK sous macOS, mais ce que je n’ai pas partagé, c’est mon impression globale de ce système.

    Le dévelopment et la maintenance d’application libre sur macOS est moribonde, plus que sous Windows d’ailleurs. Il fut un temps (autour de 2004-2008) où beaucoup de Linuxiens, Libristes ou juste Unixiens pavanaient avec des Mac et bossaient principalement sur macOS, y trouvant, disaient-ils, un Unix de qualité blablabla. C’était une époque où le canal IRC GCU squad éjectaient les gens qui se connectaient avec des Unix très barbus comme Irix car propriétaire et donc « sale », mais accueillaient avec bienveillance et complicité ceux qui se connectaient avec un macOS en prétextant que ce n’était que « terreux ». D’autres dénonçaient justement de voir tant de macs (sous macOS) dans les conventions et autre événements de développeurs Linux.

    C’est peut-être une bonne nouvelle que les bureaux Linux comme GNOME soient suffisamment matures pour que la tendance se soit inversée, mais aujourd’hui, trouver un contributeur bénévole de logiciel libre sous mac est une illusion. macOS ne semble avoir majoritairement plus que deux types d’utilisateurs : 1. des consommateurs qui ne font que consommer, 2. des développeurs qui ne font que du consommable à la mode Apple (l’écosystème des iPhones est passé par là, ainsi que les pratiques associées). Pour résumer, on pourrait dire qu’il n’y a plus qu’un seul type de développeur sous macOS, le développeur qui est payé pour développer sous macOS (ça peut très bien lui plaire, ça ne change pas le constat). Et il se trouve que le coût de développement n’est pas anodin, tellement macOS devient de plus en plus spécifique. Il ne reste donc que des utilisateurs qui s’attendent à avoir les logiciels gratuits qui existent sous macOS que sous Windows et Linux alors que la seule économie qui subsiste est celle du développement non-gratuit, et que la charge de travail exige un développeur payé. Peut-être faudra-t-il faire payer les logiciels libres sous macOS ?

    Aujourd’hui il y a deux-trois projets qui permettent de réduire franchement les coûts de maintenance de logiciel libre sous Windows et macOS. Des projets comme MSYS2/MingW sous Windows et Homebrew ou MacPorts sous macOS permettent de répliquer l’essentiel des méthodes de travail existantes sous Linux sur ces systèmes d’exploitation. Pour NetRadiant et Unvanquished. J’ai intégralement réécrit les scripts de compilation de release de NetRadiant, et j’ai réécrit une grande partie des scripts de compilation de release pour Unvanquished, et toute la partie compilation est orchestrée par les mêmes outils quelque soit l’OS : un compilateur GCC ou Clang, CMake, BASH pour les scripts et commandes, SSH pour donner les ordres sur les divers systèmes, et des bibliothèques communes installables via un gestionnaire de paquet. À aucun moment il n’est nécessaire de mettre en œuvre un process de développement spécifique à base de Visual Studio ou de XCode. Personnellement que ce soit Linux, FreeBSD, macOS ou Windows, je peux produire un build de NetRadiant avec un même script qui se connecte via SSH aux divers systèmes de référence et reposent sur les mêmes outils qui ont été portés sur ces systèmes.

    Mais le port d’application libres sous macOS semble relever uniquement de la pure générosité, réalisé parce qu’il y a des utilisateurs qui réclament. Il existe bien des ports de bibliothèques comme GTK, mais le soin apporté pour macOS est très loin derrière le soin apporté pour Windows, et évidemment Linux. Je l’évoquait dans mon commentaire, mais pour certains cas d’usage comme les surfaces OpenGL dans GTK, même la branche de développement de GTK4 ne permet pas encore de faire certaines choses que l’on peut faire sous Linux et Windows.

    De plus, je trouve macOS mal fini dans les angles (note: mon expérience se limite à Mojave pour le moment), quand je travaille avec macOS j’ai l’impression d’utiliser une distribution non-mainstream maintenue par une équipe sous-dimensionnée. Il y a certainement de très bonnes applications, mais le sous-système d’une part, et le bureau de base d’autre part (avec les logiciels de base comme le gestionnaire de fichiers) est très très loin du niveau de finition d’un GNOME sur une distribution établie comme Ubuntu (je ne pratique pas la variante spécifique du bureau d’Ubuntu donc je ne peux pas donner mon avis). Pare exemple pour certains types de composants installables de macOS il n’y a même pas de procédure de désinstallation permettant de garantir que le système est revenu à son état initial. Par exemple le gestionnaire de fichier est très primitif dans sa manière de gérer des choses simples comme des icônes : il n’est pas rare de voir des icônes de nouveaux documents se placer par dessus des icônes d’autres documents et non à la suite, il faut souvent jouer à la fois des ascenseurs horizontaux et verticaux ce qui est très inconfortable, et j’ai dû ajouter moi-même un signet pour accéder au dossier utilisateur de base (${HOME}).

    Bref, une activité lente sinon moribonde sur macOS ? je ne suis pas surpris. Il y a des utilisateurs très demandeurs sur macOS, mais les contributeurs utilisant cet système sont introuvables, le système devient de plus en plus spécifique, et les outils et bibliothèques sont souvent d’une moins bonne qualité sous macOS.

    Aujourd’hui, il me semble que pour un développeur de logiciel libre utilisant quotidiennement Linux et utilisant dans son développement des technologies courantes sous Linux, en terme de facilité de développement on a Linux, suivi de Windows (grâce à MSYS2/Mingw), et beaucoup plus loin derrière macOS.

    ce commentaire est sous licence cc by 4 et précédentes