du 06 juin 2019
Date

Choisir une autre édition

macOS Catalina abandonne Bash pour Zsh, des soucis suspectés de licence

Dans macOS 10.15, alias Catalina, Bash n’est plus le shell Unix du système. Il a été remplacé par Zsh. Apple n’en donne pas la raison, mais The Verge pense la connaître : la licence.

La version de Bash fournie avec macOS jusqu’ici était en effet particulièrement ancienne. Dans Mojave, on trouve ainsi la mouture 3.2 qui date de… 2007. Si Apple n’est pas allée plus loin, ce serait à cause de la GPLv3, dont plusieurs clauses poseraient de vrais difficultés à l’entreprise.

La première empêche un revendeur quelconque d’utiliser du code sous licence GPLv3 sur des systèmes empêchant des tiers d’installer leurs propres logiciels. L’autre oblige l’éditeur publiant du code à fournir automatiquement une licence pour les brevets éventuellement associés.

En dépit d’une utilisation massive de l’open source dans ses produits, Apple cherche à se débarrasser du code protégé par la GPL depuis longtemps. En témoignait le bilan d’un développeur il y a quelques années : de 47 paquets sous licence GPL dans macOS 10.5 (Leopard), on n’en trouvait plus que 16 dans macOS 10.12 (Sierra). Zsh est pour sa part sous licence MIT, plus souple (et utilisée la plupart du temps par Microsoft pour ses projets open source).

Les développeurs devraient largement profiter du changement, quelles qu’en soient les raisons. Compatible en grande partie avec sh et bash, Zsh fournit des fonctions modernes que l’on peut attendre d’un shell Unix en 2019, comme la complétion de la plupart des commandes, une plus grande facilité de manipulation des variables et tableaux, les commandes multilignes dans un même buffer ou encore la personnalisation de l’invite.

Les développeurs sont évidemment invités à se pencher sur cet important changement, pourtant très discret. Apple ne l’a en effet pas abordé sur scène et le changement n’est pas même référencé dans la page contenant les changements apportés par Catalina.

chargement Chargement des commentaires...