I’m sure everybody who works with free software has occasionally encountered the question as to why anybody would work on it. Obviously people do work on free software, and there are many different reasons why they do. However, there is a certain type of person who finds it all rather mysterious.
I recently thought of a better explanation than the ones I’ve tried in the past. Consider a community theatre group. There is no mystery about community theatre; people enjoy doing it, for various different reasons. Different people work on different things, based on their interests: acting, directing, sets, lighting, etc. Even a medium size community can often find enough people to put on an occasional play. Nobody finds any of this surprising.
Free software is the same way. The only real difference is that software can be easily copied; you don’t have to go to the performance, you can just use a copy. Because people can collaborate on the Internet, free software groups can easily get pretty large–although most free software programs still have a relatively small group of core developers.
And so on. The point is: it’s just as silly to wonder why people work on software for nothing as it is to wonder why people put on plays for nothing. People do all kinds of things for all kinds of reasons. It’s a mistake to think that there is no reason to work on free software, and it’s a mistake to think there is just one reason. And in particular it’s a mistake to think that everybody is motivated by money and/or reputation, although naturally that is true for some people.