Skip to main content

Why do we write open source code?

Posted by brunogh on June 17, 2008 at 8:55 PM PDT

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 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,, 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!

Bruno Ghisi

Related Topics >>


the only reason for me is to fix something that's broken or missing in an OSS project when doing that would be cheaper/faster/easier than using something else or writing my own.

To share ideas, to innovate, to invent, to make a difference to someone's life

I personally fall into several of those boxes. My primary motivation for working on Red5 is to improve my skill set, but in doing this I find enjoyment. Its really great when your part-time hobby starts paying your bills :)

great, Joca!! great.
I'm reading the book "The World is Flat" and one of its sections (Flattener #4) talks just about the open sourcing, what are its motivations and how they contribute to the globalization.

If you want i can borrow it to you when I finish reading. I think you will enjoy it a lot.

Only one reason: I need some functionality that's either missing or broken from an almost-fitting OSS product and it's cheaper/faster to modify it than it is to start from scratch implementing that functionality.

For many reasons: improve my skills, it's fun, and improve my reputation. I'm not a "believer": I don't believe that software should be open sourced. I think that open source software has many chances to be better than closed competitors, since it could be more driven by the real users needs.

I would add that I also write open source software because I'm a moron: if I spent all the time I devoted to it in paid activities, i would be probably rich :-)

Form me it was ability to change software the way I wanted it to be. Fun was a bonus. If there hadn't been any fun I would have quit earlier - not because of lack of time :/.

I do opensource at work cos it's saves many moneys :) It also iteresting to work with professionals :)

To keep my brain alive :)

There are many reasons to do it:
1. I am working on web-based ejb projects, but I prefer Swing and desktop. So I am writing OSS to satisfy my programming needs.
2. Almost all software have some leaks and can be improved. If you don't fear your own programming skills - it is great to improve something you're using.

From my point of view - it's just question "what software means for you". If it's just your work and you hate computers and technologies - you will never write something opensource, but if you like software evolution - you can take part in it.

For me is about learning, sharing knowledge, having fun and work on something I've special interest. It's not about sharity, as I say in my blog: (ptBR), that talks about collaborative work inside companies.

For me is about learning, sharing knowledge, having fun and work on something I'm interesting in. For example, if I'm a java desktop developer it's natural to contribute in desktop open source projects. In my blog (ptBR) I say that open source is not about charity...