I'm a huge advocate of free software, but I've never actually seen a _true_ solution to the incentive problem when it comes to developing free software. Sure, there are ways to monetize free software projects, but honestly, if you want to make a lot of money, grow a company, hire developers and grow a huge user base, then closed source only benefits you (unfortunately).
I'm not really sure how we can change that, specially because of the already widespread perception that free software must also be free as in beer (which I guess will always be true, and it's exactly the reason so many companies choose closed source).