Just read the article of Lior Kaplan which is about the things that make us to use or develop opensource projects. Link:
I think these are mine reasons about doing that ;)
- Help other people that may have the same problem as you, so you make your code public or help via ML,IRC and etc.
- Opportunity to learn new things and finding areas to apply them.
- Coding about what you like,the topics you are interested.
- Having the feeling that more can do it better than single, so copy everything that is usable for you and continue from there (DRY).
- Becoming expert in area you like without thinking about it.
- Having a good CV(background) about things you have done, talks is cheap i'm showing the code.
- Having the opportunity to start own business without paying anything, you just need the idea
- Working together than alone is more fun.
Btw, i think people who are payed to work on opensource projects are really lucky :) Hope to be one of them ...