Two words: Contribute Back. I profit, learn and extensively use from what people have shared and kindly contributed and whenever I can I want to do the same. But I must say, I never open source as much stuff as I'd want simply because I don't have time/courage to either make a clean API, a good documentation or provide extensive tests. Of course I could just dump code on github but more time pass and more I take the responsibility inherent to sharing code seriously. I even would risk to say that my open source code is cleaner and has higher standards than my closed code.