You can grab the latest source code tar file, its gpg signature, and other related files in a variety of ways:
via http (the standard web-browser protocol)
via ftp (file-transfer protocol)
via anonymous rsync from:
Also, an unpacked copy of the latest development version can be browsed on the web or obtained via anonymous rsync, as described in the Source Repository section.
Precompiled binaries are available in most modern OS distributions, so you should first check if you can install an rsync package via your standard package-install tools for your OS.
There are also packages available from some 3rd-parties (note that we cannot vouch for 3rd parties, so use a source that you trust):
RPMs for Red Hat/Fedora from Dag Wieers.
RPMs packages for i386 linux from Matt McCutchen.
cwRsync is a packaging of rsync for MS Windows.
Nightly snapshots of the rsync source tree are also available for people who want to try the latest development version. If you want to track development, then using an anonymous rsync copy will not require as much bandwidth (see below). Or, updating a git repository can automatically merge your local changes with our version. However, one thing the tar file has going for it is that it contains several generated files that are not present in the source repository (such as configure.sh, config.h.in, etc.). It can also be helpful if you cannot use rsync or git because of firewall, network, or software issues.
The rsync development tree is publicly available by various methods so that you can try out the latest changes and give feedback to the developers.
Note: Since the source repository is a work in progress it may, at times, not compile or fail in various ways, though it is usually pretty good.
Anyone can browse the development history through gitweb.
You may also use the git version-control system to check out the latest development version, especially if you want to make local changes. The following command will check-out the latest version into a directory named "rsync":
git clone git://git.samba.org/rsync.git
After the initial clone, I also recommend running the git-set-file-times script to set each file's last-modified time based on its last commit (don't run it again after that unless you do a "make distclean"). You'll also need autoconf and autoheader installed for the "prepare-source" command to succeed unless you use either the "fetch" or "fetchall" option (these options can only fetch the most recent generated file that goes with the latest git version):
cd rsync support/git-set-file-times # optional ./prepare-source
Updating your git checkout with the latest source is very easy:
Those wanting to just obtain the latest source without the entire git repository can either use a nightly tar-file snapshot (see above) or use an anonymous rsync copy of the unpacked source files:
rsync -av --exclude=.git/ rsync://rsync.samba.org/ftp/unpacked/rsync /dest/dir/
There are also various patch files in the "patches.git" repository that represent either some work-in-progress features or features that are considered to be a little too fringe-interest for the main release. You can can use gitweb to browse the latest patches. Each branch in the patches repository matches the branch of the same name in the main repository, so "master" matches "master", and "b3.0.x" matches "b3.0.x". Gitweb even supports the downloading of a tar file of the patches for a particular branch, but if you're grabbing the patches for a released version, just grab the rsync-patches-VERSION.tar.gz file that is paired with each release tar.