The Cathedral and the Bazaar
Every good work of software starts by scratching a developer's
personal itch.
Good programmers know what to write. Great ones know what to
rewrite (and reuse).
When you lose interest in a program, your last duty to it is to hand it off
to a competent successor.
Treating your users as co-developers is your least-hassle route to rapid
code improvement and effective debugging.
Release early. Release often. And listen to your customers.
Given a large enough beta-tester and co-developer base, almost every
problem will be characterized quickly and the fix obvious to
someone.
The next best thing to having good ideas is recognizing good ideas
from your users. Sometimes the latter is better.
           - Eric S. Raymond