Contributing to Open Source Projects

published Oct/2010

There are many types of open source projects out there. Many have the code base open (GPL, BSD, etc), but not all of them have an open culture. And that’s a big difference.

On OSSEC, for example, we try to be fully open. Not only the source code, but open to contributions, open to new developers, open to new ideas and open (friendly) to new users.

So if you want to become involved and participate on an open source project, I recommend choosing one with an open culture. This is the message I wrote on how to become involved in the OSSEC project, but you can change the name in there and apply to any project.

How to get started

  1. The first thing you have to do is to become an active (OSSEC) user. I mean, install it on as many machines as you can, try different setups, see things you don’t like and start from there. Become passionate about it if you want to make a difference.
  2. Start small. As any project, it takes some time to get used to how it works and how the code is organized. So start from simple things. Even if you detect a typo, try to fix that first and send us the patch.
  3. Consider contributing your customizations. If you had to add a simple local rule to ignore a noisy event, send that to us! Get the log that was causing the false alert and the rule you created and send to our development mailing list or to our IRC channel (details after).
  4. Get involved on our mailing lists and on IRC to see the needs and issues most users have. They will love you if you can fix one of their issues or help them with an answer.
  5. You don’t need to be a developer or code in C. You can contribute with documentation, with the rules/decoders or even testing it. We also have our web interface (PHP), active responses/install scripts (in shell) that you can help out. So no excuses :)

/ * EOF * /

As I said, it doesn’t apply only to OSSEC, but to any open source project you want to get involved.

What you think? Share your thoughts (

Quick Links


My Projects