I feel that if Devs charge for their work they may be motivated to make more. The apps I have tried and used are really cool and work nice.
There's also the fact that some developers may do it just for their own enjoyment. Or to fill a niche that they felt the N900 lacked.
a) donate time helping the developer test bugs, or test releases b) help the developer out in threads (if you understand the software enough) to help answer questions and what not c) donate code (of course not everyone is a programmer) d) donate money (if they accept donations). Some developers don't make it obvious though (don't be afraid to send a PM).