About if the first approach can work: maybe. For the companies I know it would be very difficult to donate money. First from what budget, then I am not sure if such donations can be tax deducted, then there is always the thing if you give money to a person how do you distinguish this from hiring the person (oral employment contracts are legal), so authorities might be interested if you circumvent labor laws. So this support has to come from the top of the company. I think paying for bugfixes/features might be much easier and cleaner for companies (still takes 6 month to get him as a contractor into the ERP system)
There seems to be working examples for 'pay what you like' restaurant, but there might be much bigger social pressure.