These days, there seems to be (at least) two kinds of open source software developers: 0. Those who release their code under an open source license, in the hope that it will be useful to others in some way. 1. Those who do the same as above, with the additional hope that they will be paid for in some ill-defined way. And when they are not, take to twitter and blogs to proclaim, "somebody should really do something ab…
I do think there is a real problem whereby very important code that a lot of people and systems depend on is looked after part time (or not at all) and nobody thinks about it until it has a severe bug. But that's almost orthogonal to the issue of whether the original developer should be paid because their code turns out to be useful to lots of people.
I think a better approach is to encourage more smart developers contributing time. And if companies find an individual or a percent of a person’s time on a project that’s actually funding. But it’s very different from trying to replicate direct funds.