Software installation: source vs. binary


Most OS vendors/distributors provide some form of package system for installing pre-built software in binary form (at least as a method of doing the base OS install, but often for optional packages as well). Installation from such packages is usually easy and convenient, and often automated methods for obtaining updates are available, reducing the effort needed to maintain current versions of software or apply security updates.

Often, though, you may find that you need to install software from source form for a variety of reasons: you need features or options that were not provided in the binary package; you need a newer version than is available in prepackaged form; you need to make local changes to the program's configuration or behavior at the source level; or your instructor made you :-). Some OS distributions (FreeBSD, Gentoo Linux) even provide source code as their primary distribution format.

While building a source distribution allows you to control details precisely to match your base OS preferences and give you exactly the customizations and behavior you might want, the effort and technical knowledge required is usually much greater than that needed to install binary packages. You then also have to reapply these customizations to any new version of the source distribution (fortunately, tools like RCS and patch can make this much easier).

In some cases it is desirable to build your own packages from source code. This gives you complete control of your build environment (which can be difficult to manage across many scattered systems) so that you can ensure that the binaries built from your source will work the same on all the systems where they are installed.


Steve VanDevender
Last modified: Wed Jul 18 14:24:46 PDT 2012