The best Open Source hackers are great at the "soft skills" related to hacking - resolving conflict, gathering support around a direction for the project, and understanding what the user *really* wants in a bug report. Every feature request and implementation discussion, bug report and mailing list thread is a negotiation.
There is a well established, common sense, very effective way to think of negotiations which will help you improve as a developer, and make your project better at the same time, from the Harvard Negotiation Project. Using this theory, you will be able to get better outcomes when dealing with frustrated users, colleagues and bosses. You can even apply the principles to domestic debates, wage negotiations and dealing with used car salesmen.