There's a difference between fixing a bug because it's getting in your way and helping somebody out with their project. Fixing a bug in code you're running on your own computer is not like walking up to someone and criticizing their clothes. It's like sewing up a hole in your own clothes.
Of course, the actual action of fixing the bug is the same in both cases. It's just a difference in how you see it.
For cases like that — where someone makes a change to some open-source software for their own purposes, not in order to help out the project — the question is not how to "recruit" them, but how to make sure that they can make those changes easily, and then how to induce them to share the changes. Stormy's point about different cultures needing different approaches still holds in that case, but they'll be different different approaches.
Of course, the actual action of fixing the bug is the same in both cases. It's just a difference in how you see it.
For cases like that — where someone makes a change to some open-source software for their own purposes, not in order to help out the project — the question is not how to "recruit" them, but how to make sure that they can make those changes easily, and then how to induce them to share the changes. Stormy's point about different cultures needing different approaches still holds in that case, but they'll be different different approaches.