macOS Sequoia 系统已将 rsync 替换为 openrsync。
Rsync replaced with openrsync on macOS Sequoia

原始链接: https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/

macOS Sequoia 使用 openrsync 替换了过时的 rsync 2.6.9,以解决 GPL 许可问题。苹果公司无法遵守 GPLv3(rsync 3.x 的许可证),但可以遵守 openrsync 使用的基于 BSD 的 ISC 许可证。这使得苹果公司能够在未来更新中免除 GPL 方面的顾虑。 虽然 openrsync 与 rsync 兼容,并且可以通过 `/usr/bin/rsync` 路径访问,但它支持的命令行参数减少了。Mac 管理员应该验证其现有的 rsync 脚本,因为某些功能在 Sequoia 中可能不可用。Openrsync 文档提供了有关支持功能的详细信息。通过 `/usr/bin/rsync --version` 检查版本可以确认 openrsync 的存在及其兼容模式。此更改确保 macOS 拥有一个更易于维护且符合法律要求的文件同步工具。

macOS Sequoia 使用 `openrsync` 替换 `rsync` 的讨论在 Hacker News 上引发热议。一些用户对拥有多个 `rsync` 协议实现感到高兴,认为这可能会带来基于 rsync 算法的二进制差异的 API 接口。一位用户指出 `openrsync` 仍在开发中。有人提出疑问,苹果公司可能出于软件专利条款或 GPLv3 许可证中的“反 TiVo 化”条款而抵制 GPLv3。一些用户建议安装“真正的”`rsync`,因为 macOS 上的版本已经过时。另一些用户则讨论了 macOS 的优缺点,其中一位用户表示,尽管认为 macOS 是一个糟糕的操作系统,但他们仍然坚持使用,因为其硬件优秀。
相关文章

原文
Home > Mac administration, macOS > rsync replaced with openrsync on macOS Sequoia

On many Unix-based operating systems, rsync is a command line tool for transferring and synchronizing files on a computer, either between storage attached directly to the computer or between another computer located elsewhere on a network. The rsync command line tool has long been included on macOS, but Apple has provided the last version of rsync 2.x (rsync 2.6.9, released in November 2006) and did not update rsync past that even though rsync 3.x was released. Why not? It has to do with the version of the GNU General Public License (GPL) open source license that rsync 2.x and 3.x were released under, with rsync 2.x being released under the GPLv2 license and rsync 3.x being released under the GPLv3 license. Without going in-depth into the background legal issues, the reason for not providing rsync 3.x is that Apple decided that while it could comply with the terms of GPLv2 license with regards to rsync 2.x, it could not comply with the terms of GPLv3 license with regards to rsync 3.x.

What this has meant for macOS is that it has been shipping with a version of rsync which was last updated in 2006. While Apple has been updating the rsync 2.6.9 command line tool it shipped with macOS as needed in response to security issues and other problems, the fact remains that Apple’s version of rsync up until macOS Sequoia was almost twenty years old and did not include any of the new features introduced in rsync versions which came after version 2.6.9.

Now with macOS Sequoia, Apple has replaced rsync 2.6.9 with openrsync, which is an implementation of rsync which is not using any version of the GPL open source license. Instead, opensync is licensed under the BSD family of licenses, specifically the ISC license. The ISC license is a permissive license, which means it places minimal restrictions on on how the licensed software can be used, modified and distributed, which means Apple decided it is able to comply with the terms of the license for openrsync where it decided it could not comply with the terms of GPLv3 license with regards to rsync 3.x.

So I’ve spent a bunch of time talking about licenses. Why does this change matter? It matters in two ways:

  1. Apple can ship updated versions of openrsync going forward without having to be concerned as to whether or not Apple can comply with the GPL open source license for rsync.
  2. The openrsync command line tool is compatible with rsync, but as noted in the documentation openrsync accepts only a subset of rsync’s command line arguments.

Item number 2 is important for Mac admins because it may mean that rsync functionality that worked on older versions of macOS may not be working now on macOS Sequoia because that functionality is not available as part of the openrsync command line tool included with macOS Sequoia. For more information about what functionality is supported in the openrsync command line tool on macOS Sequoia, please see the link below:

https://manp.gs/mac/1/openrsync

As of macOS 15.4, the openrsync tool is linked to /usr/bin/rsync so you can run the the openrsync command line tool like you have been the rsync command line tool. For version information about the openrsync command line tool, run the command shown below:



This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/usr/bin/rsync –version

You should see output similar to that shown below:



This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
username@computername ~ % /usr/bin/rsync –version
openrsync: protocol version 29
rsync version 2.6.9 compatible
username@computername ~ %
联系我们 contact @ memedata.com