Bsdiff

Bsdiff is an open-source utility for generating diffs of binary files which can be distributed as patches or updates without having to send the entire set of binary data each time the package is updated. While one might think the need for such things is reduced with the much-improved bandwidth of modern times, software has also increased in size (the "bloatware" phenomenon), so the need for tools like this continues. Supposedly bsdiff generates more compact diff files than the high-priced proprietary RTPatch system.

bzip2 is used for compression.

There have been some forks and variant versions of bsdiff, and slightly-divergent forms are used for some platforms and software systems; for instance, there is an adapted version used for Mozilla updates (which, in turn, get put into Mozilla Archive files).

Links and references

 * BSDIFF page with link to download
 * bsdiff for Windows
 * bsdiff Python extension
 * Paper on algorithm used
 * Doctoral thesis by author describing more sophisticated algorithm
 * Blog discussion