Re: "From the same place that allows a zillion flavours of Linux for free?"
" The world is mostly filled with greedy, grabbing, money slaves but it isn't 100%"
Everyone who is not independently wealthy or a ward of the state has to make a living. Gainful employment, they call that. We all use resources to live, and they don't just fall out of the sky. It's important enough that we're defined by what we do to obtain these resources. We move across countries or even continents to get better work, and even if we're not willing to go quite that far, we certainly give work the top priority in scheduling our days. We do the work we have to do in order to be able to use the time left over to do what we want to do.
There are a lot of things competing for those hours left over after work has taken its share out of each weekday. Time with the spouse, with the kids, with friends, household maintenance, preparing meals, cleaning, sleeping if we're lucky... and if anything remains, our hobbies, which are things that, by definition, we do for reasons other than making money. Maybe it's for fun, or perhaps it's about contributing to something you are passionate about for the sense of fulfillment.
That's the category that contributing to a free software project falls under if it's not your job. A hobby is one of the first things to get shorted if something comes up... and something always seems to come up, doesn't it?
Contrast that, if you will, to a person's profession. It's the last thing that is going to be shorted if something comes up, since having a paycheck is too important to risk losing for people who work for a living. If a person happens to be paid for developing free software, he can be relied upon to put in a substantial, known-in-advance number of hours each week, not just if he has time left over after everything else. Getting paid to develop software raises its priority from the lowest to the highest.
In addition, being paid to code means that the individual can be directed to do things that aren't so fun. A lot of software development is drudge work-- like debugging. We all do things we wish we didn't have to because it's our job. The truth is that most things are not particularly fulfilling, and certainly not fun, but they still need to get done. If people weren't paid to do things they wouldn't do as a hobby, very little would ever get done, and society would come apart at the seams. I know that motivational speakers like to give us little bromides like "do for a living what you would do even for free," but very few of us are actually in the position to do that. Life isn't so easily broken down into bumper-sticker slogans.
A person contributing to an open-source project during his free time can't be told to go work on something else. With only a limited number of hours he can give, he's got to make them count; since he's not doing it for money, he has to make sure that whatever payoff he IS hoping to get (fun, fulfillment, etc) is likely to come before the time runs out. If a project leader tried to tell him no, your contributions to our project, while of good quality, are not welcome because we want you to go do some things that won't fulfill your purpose in contributing instead, he'd simply opt out of contributing, and they'd have less developers than they did before.
If people want to give away their time, that's great, but it doesn't mean that people who work for a living and who would like to be paid for doing professional quality work (and who don't have are greedy money-grubbers. It means they're regular people who have 40 hours a week that they're going to spend making money anyway, but not a whole lot they can afford to give away. Time, as they say, is money, and not everyone is wealthy enough to be able to give either of them away.