Who Gets Paid?
One criticism often leveled at the free software community is that the programmers—those responsible for creating the product—are not the ones being paid. In some cases, this may be true. Some open source developers work for motivations other than money; for example, they want to use the code that they're writing and feel that they gain more by allowing other people to modify their code than they would by trying to sell it. Linux started like this—Linus could possibly have developed Linux by himself and sold it. If he had done so, Linux would have been much simpler (because only one person was working on it) and would not have been worth very much. After the code was opened, large numbers of people started contributing; the result is that Linus gets to run a kernel that's far more complex than one he could have written by himself.
Companies such as Red Hat are sometimes cited as "parasites" on the open source movement—they take Linux and sell support for it. They didn't create Linux, and so it may seem unfair that they should be getting money from it.
The first obvious response to this complaint is to point to all of the companies that sell third-party support for proprietary software. They don't even have the source code, much less the right to modify it, so all they can do is help people use it. (Apparently this doesn't count as parasitism.)
The next important thing to note is who is employed by Red Hat. They maintain their own branch of the kernel for their enterprise version of Linux, employing a number of kernel hackers to work on it—including Alan Cox, who has written significant chunks of the kernel.
Another example is Digium, the company that produces the Asterisk PBX, which is highly regarded as a VoIP solution. The Asterisk code is released as FOSS, and Digium exists to sell support and custom installations of the software. They seem to have a profitable business model developing FOSS. Since they authored the software, they're the logical choice as a consultant for any company that wants to deploy their product. And because the code is free, anyone can download it and evaluate it for free, increasing Digium's potential customer base.