Well, money is the key to all of this.
Most people new to Free Software (or even open source for that matter) don't
understand how development really works.
Most major Free Software Projects are made one of two ways.
1: They are mass charity movements wherein huge groups of people donate to
the project. Most of the people donating, ironically, are typically the
mega-corporations, excluding obviously Microsoft and Apple. While some crowd
funding does exist for small projects by individuals, and while individuals
can donate to the major projects; major projects are mostly supported by
donations by mega-corporations that would rather run Free Software instead of
Windows and Mac. Also, they like to offer Free Software alternatives to
their users. Such as domain registrars that like to do in house server
services. They'd rather run GNU/Linux. Very little 'popular' Free Software
programs are really made by hobby programmers in their proverbial bedrooms.
Even if they started off as a small project done by a single person; once it
escalates to a decent level of active and advanced development; it's
typically a done by a team funded by a charity funded by big business.
2: Sometimes companies will re-license their old proprietary stuff as Free
Software. If I'm understanding correctly, Open Office.org was once Star
Office. An entire office suit didn't just fall from the sky. Making old
proprietary software Free Software by re-licensing it might make it more
popular. As such, and especially if the community is in need of the programs
(such as an office suit,) it will grab a lot of attention. The programmers
might actually make more money through donations than through selling
proprietary copies.
From my understanding, the donations to the charities often mostly go to
paying programmers to program. If I'm understanding right, non-profit means
the organization doesn't make a profit but the programmers do. And, as said
before, I think programmers get paid more a less the same money to program
regardless as to whom they are programming for.
A programmer can work on Libre Office or work on microsoft office. Either
way, the programmer does not own the copyright of his or her work. The
contracts the programmer signs for the job cedes the copyright to the
publishers. Whether the publisher is a Free Software charity or a
proprietary mega cooperation; the programmer usually doesn't get to keep the
copyright either way.
This is why the whole debate about 'being paid and feeding our children' is a
wild goose chase and not a practical argument for most major software
projects.
As Stallman has said, most programming jobs are Free Software ethics
compatible and are custom software jobs.
As for the small amount left over (what people are arguing over) the
programmer could make more or less the same amount of money by working for
Free Software charities as for proprietary companies. They could make about
as much developing Libre Office as they could for microsoft office. In both
cases, they do not own the copyright for their own work.
And, in both cases, they are programming because they are being funded. This
is key here, because it means is that the major motivating factor for people
programming for major software projects is the same whether its Free Software
projects or proprietary projects. The major motivating factor, in both
cases, is money.
And, as said before, in the area of Free Software; the money is mostly coming
from mega-corporations also. Most major Free Software Projects are either
developed by, or have heft donations and support from, Google and Intel. As
much as people criticize their ethics (and rightly so) in other fields of
computing; they (along with the Java Company{I think called Sun Java}) are
the major Free Software developers/funders as far as I can tell.
The key to keeping Free Software Free Software is to do what Stallman does,
preach the Free Software message.
The key to getting high quality Free Software Projects off the ground and up
to date is to get mass mega-corporation sponsorship. Or, get the project
donated to you (re-licensed to be Free Software) from a proprietary company.
Also, if it's going to be a big hit; funding from mega-corporations can be
generated. Look at the Android Operating System. It's a great example as to
how smoothly and how quickly a Free Software (or at least mostly [at its
core]) project can be lifted up if there is genuine interest in its
development.