Everyone working in the GNU/Linux, and related environments should know quilt; certainly anyone who uses diff and patch. Quilt is ideally suited to making small changes to a large tree of text files which are not under any version control (and sometimes even if they are). Quilt makes it easy to break the changes into smaller pieces that can be individually removed, re-applied and "re-diffed" to transfer to a different version of the same set of files. With quilt, you can also be a "patch perfectionist" quite easily: you can improve the patches which are near the "bottom" of the patch stack and then with quilt's help, revise the patches above them, to create the perfect patch set, or the perfect new version of your existing patch set to a new version of the underlying document base.
Because of this ability to revise the chain of dependent changes, quit can be better for transferring changes between different source trees than the merge functionality of some version control systems, in spite of the weakness of not having access to the original documents when patches are being applied to new versions.
An open, cross-platform journaling program.
A scientific plotting package.