The Motivation for Open Source
If "there's no such thing as a free lunch," why is there free software? Anyone who has lived in shared accommodation as a student will understand the FOSS principle—if one person cooks more than he can eat, he can either give the excess food to someone else or throw it away. If he gives the leftovers to a housemate, he hopes that the housemate will eventually reciprocate; in this situation, both individuals get a "free lunch" because the cost of the second serving is negligible each time.
Most FOSS is written by developers "scratching an itch"—solving a problem that they personally encounter. For example, Andy Tanenbaum found the UNIX source code license too restrictive, so he wrote MINIX, a simple POSIX-compliant operating system that he could use for teaching students. To keep the system simple and elegant enough for undergraduates to understand, he didn't allow complex features to be added. Linus Torvalds found this restriction too confining; he hacked together the simpler Linux kernel, allowing anyone to submit features, which allowed Linux to grow in ability faster.
Linus' motivation was not to create something for the community; it was to create a system he could use. By distributing his code as free software, he received other people's code in return. The Linux kernel now is far more complex than it would have been if Linus had been developing it himself.
Of course, a kernel is not much use by itself, and Linus was fortunate in that the Free Software Foundation had already been developing a free UNIX-like userland for seven years when he released his kernel. Once both pieces—kernel and userland—were available, anyone could build and use a free system.
Not all projects are started by a single individual. Sun Microsystems is a good example of a FOSS sponsor. Sun makes money selling hardware and support. In the past, they developed Solaris completely in-house—an entire commercial UNIX system and a software stack built on top of it. A few years ago, Sun realized that they needed an office suite running on top of their operating system for it to be attractive to the corporate market. Rather than write one, they bought the German company Star Division, whose StarOffice suite already ran on Solaris. They then took the somewhat unorthodox step of releasing as much of StarOffice as they were able as FOSS.
Sun still employs the lead developers on OpenOffice.org, the FOSS version of StarOffice. They also benefit from patches from the community. In return, the community benefits from a usable office suite. Ports of OpenOffice.org to FreeBSD and Mac OS X have been accomplished entirely by community efforts. If a company needs specific functionality added to OpenOffice.org, they're most likely to pay Sun to add that functionality, generating a new potential income source for Sun.