Making money off free software infrastructure is hard, because infrastructure is meant to be used by developers. A developer knows (or can learn) how to implement, manage, and maintain your piece of free software infrastructure, so how can you convince a developer to pay you for support?
Applications, on the other hand, can be targeted at non-developers. These users can convince themselves or their bosses that your free (as in freedom) application is worth paying for, so you can make it run smoothly and let them focus on running their business.
The only solution I can think of is for free software infrastructure developers to set up foundations which can take donations, and for application developers to support the infrastructure projects they depend upon.
One of the best examples of this is the Django Software Foundation. I made a donation last month, and I haven't even started making money.