Because, once again, programmers need to eat. You can get some free (as in beer) software because some people are willing to spend their free (as in spare) time on hobby projects, or because some companies are willing to spend some money supporting it. But if all programming were expected to be done for free (as in beer), how could programming even exist as a job?
There's a fallacy here. Not charging
for the software doesn't mean not charging for
programming. In fact, making money with free software and
turning a profit is older than most people realize. Long before Red Hat became a major player in the industry, Cygnus Corporation (note the "gnu" in "Cy
gnus") was happily turning a profit supporting Gnu software on Windows. They remained profitable until they got bought by Red Hat (which had not yet turned a profit themselves at the time, but had had a
very successful stock offering). And before that, of course, was the guy who wrote the ADA compiler for GCC, who famously got paid up-front for that work, in the mid-eighties.
Now, of course, there are
many companies making money with free software. From Red Hat (now
very profitable) to Suse to Google to Apple (most of OS/X is free/libre software, even if the entire bundle isn't) to your consultant neighbor. And me. Free software is a multi-billion dollar business these days.
Something like 9 out of 10 programmers work
in house for companies that aren't selling software at all. Programmers are employed by everyone from banks to manufacturers to retail chains to special effects studios to ISPs to Web Service providers to governments to casinos to... The list goes on and on. And these 9 out of 10 (or whatever the exact percentage might be) are actually
happier with Open Source, since it makes their jobs easier if they can work with the source, and are perfect happy to share their improvements (especially with core components) with the world, since that
also makes their jobs easier in the long run.
So go on. Just tell me there's no money to be made with free software. I've only been supporting myself and paying my bills with free software for a decade or two. Explain to me how I can't possibly exist.
Or better yet, go take a look at the
members of the Linux Foundation and note the amazing diversity of companies actively supporting Linux with cold, hard cash. It'll amaze you. Toyota? (Who spent a minimum of 100,000 USD for their Gold membership.) Barnes and Noble? J. P. Morgan? Jaguar?