Why do we write open source code?
For some time I was thinking about writing this post and I have just watched Chris DiBona presenting a fantastic session called Open Source is Magic in Google I/O and got motivated. In addition to this, today is Download Day (if you have not downloaded Firefox 3.0 yet, go ahead and do it), so nothing better than write about open source on this Tuesday.
I was deep thinking why people write open source code. I am not talking about why companies do it, I am talking about you, as a developer, do it in your free time. According to a very interesting BCG/OSDN Hacker Survey made in 2002 - I could not easily found it, so Chris got me a copy (thanks!) - it could be extracted 4 groups from the different motivations answered by the public: believers (do it because they think open software should be open), professionals (for work needs and professional status), fun seekers (for non-work need and intellectual simulation) and skill enhancers (for skill improvements).
[Updating] The motivations that made the groups:
I can understand this group segmentation, but I think the time has definitely changed and we - communities, companies and softwares - have definitely evolved. Some years ago, Java was not open source, Firefox and OpenOffice.org were getting more adopters, Ubuntu was not out, companies were not doing contests and giving prizes away, etc, etc, etc. But my big question is, why do you write open source code? I mean, why do you join, for example, java.net, SourceForge, Google Code or freshmeat and commit your code there in order to create a whole community around it? Why do you send code to help a current open source project? Answering this question, I would say that I am a believer because I do it for the knowledge sharing between people, but I definitely do it for the fun too. How fun is sharing your ideas, getting new ones, mixing all together and creating something even more nice?! Talking about fun, would you will invite someone to go out for a glass of water on Friday night? Neim! It is the same as wasting your free time to write something that you do not get excited, it just does not make sense.
So, it is your turn. What do you think about the current period that open source is passing? What do you do for open source and why do you do it? Any other comments you may have, please feel free to add!
PS: I was looking some other presentations in Google I/O and there was a slide showing the book Producing Open Source Software from Karl Fogel. I have read this book some time ago and it has a pretty interesting reading if you want to learn about the nature of maintaining an open source project. Take a look!