What you should know about Apple's switch from rsync to openrsync

Jump to First Reply
Posted:
in Mac Software edited April 29

Forced by licensing issues, Apple replaced the rsync command-line tool in macOS with an alternative: openrsync. Here's what you should know about the change.

rsync is a network file copy and backup tool.
rsync allows you to copy and back up files between drives and computers.



The rsync command-line tool has been around for decades. It provides users with the ability to copy files and folders to and from remote computers over the Internet and local networks.

Rsync works by comparing files during a request to copy, and only transmitting files that have changed. This reduces the size and time required to make network copies.

rsync was originally written by Andrew Tridgell and Paul Mackerras and released in 1996. Today, the utility is found on most UNIX, macOS, BSD, Linux, and other UNIX-like OS variants, as well as Microsoft Windows systems via utilities such as Cygwin, Grsync, SFU, and others.

rsync is free and open source, but it is currently released under the GPL 3.0 or later license, which has a few restrictions.

Apple has long included rsync in macOS, but the last official version included is 2.6.9. The reason is that the version was released under the GPL 2.0 license, which is somewhat less restrictive than GPL 3.0.

Although rsync 3.x has shipped, Apple has chosen not to include it in macOS due to the licensing issues involved with GPL 3.0.

Instead, Apple has included a variant of rsync called openrsync by developer Kristaps Dzonsons. openrsync is similar to rsync but is licensed under a BSD license, which is more flexible for Apple's purposes.

While it does most of what rsync does, openrsync is not feature-for-feature complete with it. For a complete list of openrsync commands and options in the macOS Terminal app, type:

man openrsync and press Return.

To exit the man system, type Command-Z, Command-C, or q on your Mac's keyboard.

For more info on rsync, see the rsync homepage.

Apple still ships the 2.x version of rsync with macOS 15.x Sequoia, but if you type:

rsync --version in Terminal and press Return you'll now see:

openrsync: protocol version 29
rsync version 2.6.9 compatible

You can check out Kristaps Dzonsons's full GitHub repo at kristapsdz. The code for the open-sourced version of rsync is on GitHub at RsyncProject.

For more information on how to use rsync on your Mac, see our previous article How to use SFTP and rsync for file transfers in macOS.

If you really need to have the 3.x version of rsync on your Mac (3.4.1 as of this writing) you can do that via Homebrew. However, be aware that installing the rsync 3.x formula via Homebrew will break Apple's link to openrsync in your Mac's filesystem.

There's also a GUI front-end for rsync built on the GTK libraries called Grsync from OPByte software. Though handy, it hasn't been updated in a few years, so your mileage may vary.

You can also use a Homebrew formula for installing Grsync, called grsync.



Read on AppleInsider

Comments

  • Reply 1 of 6
    dewmedewme Posts: 6,027member
    Very interesting. 

    I’m surprised that Apple’s legal department didn’t deal with this concern earlier. GPL has long been a slippery slope for creating legal issues that can potentially result in your proprietary product code being opened up to public use. This has been the case for close to 20 years. I recall the Linksys WRT54G router being in the crosshairs until they caved and released their product source code. 

    Every product I worked on after the Linksys case had to go through the legal team to ensure we were not exposed. 

    Please keep these deeper level technical articles coming. I’m really enjoying them. 
    gregoriusmPenzicomcastsuckscoolfactortdknoxappleinsideruser
     5Likes 0Dislikes 1Informative
  • Reply 2 of 6
    coolfactorcoolfactor Posts: 2,383member

    Homebrew always seems to get the love in these articles, but MacPorts is vastly easier to use, and offers up the latest rsync....

    `sudo port install rsync`

    Of course, you first need to install MacPorts, which is super easy. www [.] macports [.] org
    edited April 29
    12Strangers
     0Likes 0Dislikes 1Informative
  • Reply 3 of 6
    menamemename Posts: 1member
    > ...installing the rsync 3.x formula ... will break Apple's link to openrsync in your Mac's filesystem

    What are the actual consequences of 'breaking Apple's link to opensync' for the user? Is this an Admin issue only?

    Ditto to Dewme: I love these CLI and tech articles by Chip Loder
     0Likes 0Dislikes 0Informatives
  • Reply 4 of 6

    To exit the man system, type Command-Z, Command-C, or q on your Mac's keyboard.

    Oh dear, this line has got even more wrong than usual in this article Chip 😬
    InLikeFlynnnetrox
     2Likes 0Dislikes 0Informatives
  • Reply 5 of 6
    profprof Posts: 111member
    dewme said:
    Very interesting. 
    I’m surprised that Apple’s legal department didn’t deal with this concern earlier. GPL has long been a slippery slope for creating legal issues that can potentially result in your proprietary product code being opened up to public use. This has been the case for close to 20 years. I recall the Linksys WRT54G router being in the crosshairs until they caved and released their product source code. 

    Every product I worked on after the Linksys case had to go through the legal team to ensure we were not exposed. 
    This story is quite a bit different than your usual OSS license compliance. Linksys wasn't the only license offender back in the day or after but a good case to test the legal grounds of the GPL license. However other than other vendor, Linksys was quite understanding of problem and decided to not try their legal luck in court but rather work with the community and turn the problem into an actual benefit for the company by releasing the source code. I happened to be involved in that process.

    Other companies decided to try their luck in court and lost, proving that the GPL license has bite and can be enforced.

    GPL in general might be annoying but GPLv3 doesn't contain that many critical changes compared to GPLv2 (mostly compatibility with other licenses, TiVoisation prevention and patent usage) so I'm very much at a loss here why Apple would have a problem with GPLv3 that doesn't exist with GPLv2. Kind of sounds like a lame excuse to slowly phase out the release of source code altogether...
    appleinsideruserthtwilliamlondon
     1Like 2Dislikes 0Informatives
  • Reply 6 of 6
    thttht Posts: 5,942member
    prof said:
    dewme said:
    Very interesting. 
    I’m surprised that Apple’s legal department didn’t deal with this concern earlier. GPL has long been a slippery slope for creating legal issues that can potentially result in your proprietary product code being opened up to public use. This has been the case for close to 20 years. I recall the Linksys WRT54G router being in the crosshairs until they caved and released their product source code. 

    Every product I worked on after the Linksys case had to go through the legal team to ensure we were not exposed. 
    This story is quite a bit different than your usual OSS license compliance. Linksys wasn't the only license offender back in the day or after but a good case to test the legal grounds of the GPL license. However other than other vendor, Linksys was quite understanding of problem and decided to not try their legal luck in court but rather work with the community and turn the problem into an actual benefit for the company by releasing the source code. I happened to be involved in that process.

    Other companies decided to try their luck in court and lost, proving that the GPL license has bite and can be enforced.

    GPL in general might be annoying but GPLv3 doesn't contain that many critical changes compared to GPLv2 (mostly compatibility with other licenses, TiVoisation prevention and patent usage) so I'm very much at a loss here why Apple would have a problem with GPLv3 that doesn't exist with GPLv2. Kind of sounds like a lame excuse to slowly phase out the release of source code altogether...
    As long as GPL3 allows the patent owner to sue Apple to either enforce downloading, compiling and execute of said software on Apple's systems, or, removing said software from Apple's systems, Apple isn't going to use GPL3 software. It's an easy call for them. They will continue to use old GPL2 software until there is a modern version with a BSD-like license becomes feature competitive, or close to it.
    williamlondon
     1Like 0Dislikes 0Informatives
Sign In or Register to comment.