Open Source people write software to solve their problems. We share the software becoz we feel that it's really a very bad thing if everybody has to write his own version of software to solve a same problem. We share the source codes becoz we know that nobody produces perfect codes, distributing the source codes give the others (and ourselves) a chance to improve it. This way, we'll all eventually get better software.
When the software we wrote solved our problems, we're already happy enough. We've got our problems solved and we had fun while writing it. Of course, it feels better if somebody else find it useful and actually use it. If someone is kind enough to help us to improve our software, we'll be even happier. Do we really care if there's anyone out there using our software? I doubt that, tho' it's kind of motivation if we know that there are.