I've always been fascinated by psychology. In fact, psychology was the runner-up when it came time for me to pick a major in college. Although computer science won out, I went on to take several upper-level psychology courses just for the fun of it, and had no trouble breezing by most all of the actual psychology majors who filled those classes. Ultimately, the career prospects of that field were just not promising enough, but to this day my ears still perk up when I hear discussions of psychology out in the wild.
So I was pretty intrigued when I saw this post by Nat Torkington on the O'Reilly Radar blog. Although the post is only meant to be semi-serious, it still got me thinking about the reasons why open source developers contribute huge amounts of time to something that yields them no compensation.
The "costly signal" argument that Nat mentions, although interesting and valid in many other situations, seems ridiculous in this instance. Seriously, has any man ever won over a woman because he contributed heavily to open source software?
The larger issue of the intrinsic satisfaction people get from engaging in esoteric hobbies like programming or model trains is outside the scope of this post, but is very interesting nonetheless. Although I strongly believe that there's an evolutionary basis for all behaviors, I won't try to tackle the issue of hobbies.
I think another very compelling reason that people contribute to open source projects is the very real boost it can give one's career prospects. Writing code in one's free time and releasing it to the world without any compensation publicly demonstrates the passion one has for their chosen field. This alone can be a very strong signal to others in your field, especially potential employers.