Apple a modifié l’un des outils en ligne de commande à utiliser dans le terminal de macOS : la commande rsync, qui permet de synchroniser deux emplacements localement ou à distance, a été remplacée sous Sequoia par un fork nommé openrsync. Le changement a été signalé par Rich Trouton sur son blog et j’ai pu le vérifier sur mon Mac que c’était bien le cas. Comme toujours depuis une quinzaine d’années, ce remplacement est lié à un problème de licence, suite au refus d’Apple d’intégrer des outils sous licence GPL dans son système d’exploitation.

Les développeurs de rsync ont opté il y a quelques années pour la licence GPLv3 plus contraignante, si bien qu’Apple a cessé de mettre à jour la commande fournie avec macOS. Cela faisait des années qu’on était bloqué à la version 2.6.9 qui remonte à 2006, en tout cas sur le plan des fonctionnalités, Apple corrigeant quand même les failles de sécurité quand c’est nécessaire. Rester sur une commande qui n’évolue pas en vingt ans n’est malgré tout pas l’idéal dans ce domaine, alors que le développement de rsync s’est évidemment poursuivi depuis, sans bénéfice direct pour les utilisateurs de macOS.
Le choix d’openrsync, dérivé qui repose sur une licence BSD plus permissive, pourrait permettre à Apple de se mettre au goût du jour, même si la version 29 intégrée à macOS 15.4 semble toujours bloquée sur une compatibilité avec rsync 2.6.9. Quoi qu’il en soit, on peut espérer des mises à jour plus régulières, ce qui ne veut pas dire pour autant que l’on pourra utiliser absolument toutes les fonctionnalités modernes de rsync par défaut. Comme le souligne Rich Trouton, openrsync ne gère qu’une partie des fonctions de l’outil de base, si bien qu’il pourrait y avoir des commandes avancées qui ne fonctionneront toujours pas sans installer rsync 3.x.

Installer sa propre version de rsync est possible et même recommandé si vous utilisez régulièrement cet outil en ligne de commande. Plusieurs options existent, la plus simple étant sans doute de passer par le gestionnaire de paquets Homebrew. Une fois en place, vous pourrez installer la dernière version à ce jour avec la commande brew install rsync
et le processus d’installation se chargera même de remplacer la commande fournie par macOS dans la foulée.