A quanto dice Der Flounder e a quanto ho verificato su Mac, nel Terminale di macOS Sequoia
il comando rsync
non è quello che sembra.
Possiamo digitare rsync
e guardare a /usr/bin/rsync… ma non è rsync
. È, sotto mentite spoglie, openrsync
.
Der Flounder racconta la storia completa, che è semplice. Per anni il sistema operativo ha installato una versione di rsync
non aggiornata, per la ragione che aveva una licenza d’uso Gpl2. Apple non ha mai voluto aggiornare il suo rsync 2.x alla versione 3 perché quest’ultima è sotto licenza
Gpl3.
Si tratta di licenze open source, che proteggono il software libero dai tentativi di limitarne l’uso o la diffusione e contemporaneamente lo proteggono dagli abusi di distributori troppo arroganti. La versione 3, però, è molto più efficace di quelle precedenti.
Ad Apple supportare software con licenza Gpl3 dà storicamente fastidio. L’azienda cerca sistematicamente di usare software con licenze ugualmente open source ma più permissive per l’uso che intende farne. openrsync
è un progetto compatibile con rsync
, però sotto licenza
BSD, che ad Apple piace di più. E questo spiega il cambiamento.
Ce ne possiamo accorgere velocemente se digitiamo rsync --version
. Oppure, se siamo utenti molto evoluti di rsync
, potremmo accorgerci che la versione con open davanti non supporta proprio tutti i parametri. In effetti, openrsync
supporta al momento un sottoinsieme delle funzioni di rsync
.
Da un punto di vista di normale utilizzo finale non cambia assolutamente nulla ed è ovviamente possibile installarsi a mano rsync
nella versione più aggiornata possibile, se così pare opportuno. Tanto dovevo.