When a project evolves into that state where developers and users get along an coexist peacefully, then you have an environment that benefits both groups. It seems like a simple social skill, but actually this is rather rare. I have been in a couple of projects, one where the users and developers have something of an acid relationship and have a confrontational nature. Little gets done, and nobody is happy. But in the other one, users, developers, and other contributors (I18N, addons, builds, examples, etc) all get along harmoniously and produce a wonderful product. The producer/consumer model does not work in open source projects. Mutual respect and courtesy are the key to getting the job done. This also includes upstream library developers, distro managers, etc.