The three top reasons they list for their involvement is:It is interesting. Usually we mention that the contribution of open source software to the world and how meaningful it is. But people usually won't do something just because it is meaningful (i.e. only few people work for charity), people usually do something because it is fun. People even willing to pay for fun!
1. Because it's fun
2. Because it improves their skills
3. Because it is good for society
When someone talk about Software Engineering, with troublesome documentation, processes and procedures... one will reply "well, I will do it because I know it is useful, I know I know..." but it is not fun at all. So people would do that as a job, as a part of their earn for living, without passion and motivation to improve it.
That's why open source is different. That's why people would like to spend their spare time to development software for free (Remember, people even willing to pay for fun!). That's why people in open source are full of passion and motivated. Because it's fun!