Open source development is usually fun and rewarding. You get to work on whatever you like. No permission required. No "business justification". Here's this thing I've created, isn't it neat? There's a deep sense of satisfaction in making things. Especially when other people find them useful. It's also pretty awesome when people decide what you've made is interesting enough that they want to join in and help make it better. Successful projects often form into communities. Strangers from all over the world turned into enthusiastic users, co-developers. Friends.
The only parts that suck are that:
It is a bit more difficult to make a living purely from open source software. Giving stuff away generally doesn't pay very well.
Some people just don't get it.