Thousands of software applications run on Mac OS X. These applications come in two forms: precompiled and source code . With precompiled software, all you have to do is install it and it is ready to run. Shrink-wrapped applications like Adobe Photoshop and Microsoft Excel are sold in precompiled form and are not available as source code (they are closed-source software, not open -source software). Unix software applications are sometimes available in both precompiled and source-code forms, but many applications are available only in the latter form.
Programmers create source code as text files that can be read by users. Except in the case of scripts (review Chapter 9, "Creating and Using Scripts"), source code must be converted into software the computer can understand; this is done with a process called compiling . The source code is fed through another piece of software (called a compiler ), which produces a machine-readable file ( object code ); this is the actual software you run on your machine. The Mac OS X Developer Tools include the compilers you need to convert software from source code into machine-readable code (if you have not already installed the Developer Tools, see the sidebar "The Mac OS X Developer Tools: Xcode Tools").
Object code works only with specific combinations of hardware architecture and operating system. For example, software compiled to run on a PowerPC chip on the Mac OS X operating system will not run on a Pentium running Windows. Note, however, that by late 2006 Apple expects to ship computers running Mac OS X on Intel chips, and it will be possible for developers to create "universal binaries" that will run on Mac OS X on either the legacy PPC machines or the new Intel-based Macs, similar to when Apple switched from the Motorola 68000-series chips to the PPC chips.
In order to take advantage of the full range of software available for Mac OS X, you need to learn how to install software from source code. It is actually fairly easy, and once you're done, you'll have access to an amazing variety of software.
In this chapter we will first explain the general process for installing from source code, and then we'll show you how to install Fink, which automates the process for many software packages. We will also show you in detail how to install software manually without the aid of Fink.
You will need to have your computer connected to the Internet in order to download software.