Home > Programming > Contributing back to open source. Getting started…

Contributing back to open source. Getting started…

I have been using Linux and Open Source software for years now. I have enjoyed the benefits of free software, from not having to worry about viruses to having almost anything you could want just a few clicks/commands away. I have gone as far as getting other people to use the software and have personally seen several other people switch to Linux as their primary OS. I have found myself a bigger advocate than ever over the last year and often struggled to understand as people would fight their computers and viruses, but not give open source software a chance. Luckily, I have seen the landscape changing.

The one burning need I have felt over the last year was to get involved with open source as a contributor. I have wanted to help with documentation, advocacy, and most of all, with programming. I am an analyst and Java developer in my day job, but like many others in this industry, I needed more. I wanted more experience than I was getting at work. I wanted more than anything to find a project that I felt like I could really contribute to.

I would check out various projects and watch them. I would read suggestions that would say you should find something you use and contribute to that project, so I would watch them as well. Honestly, what I cared most about was getting the experience working on an open source project, not so much about what the goal of the individual project was. It was intimidating. Being a somewhat junior developer, most of the projects seem overwhelming and most projects didn’t make it obvious or easy for people to get involved.

Several weeks ago I saw a post on the Python-Announce mailing list that a new site was released to help people find easy bugs and documentation issues as a way of contributing back to open source. The site works by tracking these easier items and building a community around people who want to get involved and help out, but aren’t quite sure where to start. Openhatch.org turned out to not only give me the direction of where to get started, but has also turned out to be the project I was looking for. As someone who has personally struggled with trying to find the place to get started, this is a subject I care a lot about. I couldn’t think of another project where I would rather put my time.

I decided to jump on the IRC channel. The core project team made themselves available to answer questions. I mentioned that I wanted to help and asked where the best place to get started might be. The project lead, Asheesh, suggested I look at writing an interface to Bitbucket to allow people to pull in their contributions to projects hosted on Bitbucket. It sounded a little scary, but I figured if he thought it was a good first task, it must be OK. It was! I learned so much in working on the new functionality. The site already pulled from Ohloh, Github, and several others, so I was able to read through the existing code and get an idea of what needed to be done. In addition, I had to write test before my code would be accepted. That was great, since the test pointed out several places where I had problems, and allowed me to correct the issues must faster than if I had to manually track down the issues. So, in all, I contributed to an open source project, learned a little about writing unit test, and realized just how important writing the test are. The day my code went live was a great day. I was the first one to run the code after the restart and saw it action, working perfectly (thanks to the tests).

Even though I write code during the day, there is something special about contributing to an open source project. If you use open source software and you care about making the software and the community around it better, there is no time like the present to get started. Join up on openhatch.org and find something easy to get you started. Once you start, you will not want to stop. I no longer wonder why people work on software for free and put so much of themselves into making it successful. I am one of them now and can’t wait to give more of time and effort into watching this movement grow.

If you are a project owner or core developer on a project, make it easier for people to get involved. Mark your simpler bugs as ‘Easy’, or ‘Bite sized’. Make sure to add your documentation issues to your tracker so people can find them and work on them. Make yourself available for questions and make a special effort to make new people feel welcome. If it hadn’t been for the team at openhatch.org, I might still be looking for a place to contribute. They took me in, gave me some suggestions on getting started, and a few weeks later, I am contributing and feel like part of a team. Making new people feel this way will not only make them want to help your project, but make them lifetime contributors to making the OS community even better.

Categories: Programming Tags:
  1. May 16th, 2010 at 22:36 | #1

    I just want to say thanks for sharing this. I have found myself wanting to help, but not knowing where to start as well.

    Looks like I have next weekend booked already.

  2. Tensigh
    May 16th, 2010 at 22:37 | #2

    Great article. I’m not a programmer so I’m a little left out in the cold as to what I can do to help, but I’ve added translation help at times, so I guess that counts.

    I must say I’m beginning to lean away from using Linux and have found myself relying on Windows more and more recently. I know that sounds like a curse, but I’m not an “open source advocate”, I’m a functionality advocate. Whatever works the best is what I will use and promote. After using Ubuntu for about 4 years now, I’m slowly realizing it’s just falling short, despite the recent versions seemingly getting better.

    The worst problem I have is compatibility and CONSTANT upgrades. To install a new program (or a new version of an existing one), I have to upgrade certain libraries. This, in turn, ends up forcing upgrades of other programs, or making them stop working all together. It’s so frustrating to run updates then fire up something like Amarok only to find it’s not working. MySQL stopped working on me weeks ago and I can’t find a solution, despite posting on 3 separate websites for help. It pains me to say this (it really does!) but I do not have this problem on Windows. I can’t recall the last time a Windows Update made VLC or WinAMP stop working, or anything else, for that matter.

    I like the idea of open source a lot. I’m just waiting for the results to catch up. Or maybe I just have eternally bad luck.

  3. May 17th, 2010 at 00:33 | #3

    i have never used open source, do you have any suggestions on how I can get some help getting started. I have a aces linux sitting on my desk! send help if you have resources. thanks, I am a digital beginner in a grown body. grin.

  4. Perry
    May 17th, 2010 at 01:28 | #4

    Sounds great. Did you learn about unit tests on your own, or did you already know something about that? I’m sort of in the same boat as you, but not a real developer, during the day I’m an embedded systems engineer, so I deal with simpler software as well as hardware. Also been a long time user of Linux.

  5. May 17th, 2010 at 05:10 | #5

    Nice post. I use open source software regularly (ubuntu and many others) and was thinking of donating ’something’ (efforts/money) back to the community. Thanks for pointing to openhatch.org. Got myself registered. Looking forward to contributing.

  6. Sim
    May 17th, 2010 at 06:28 | #6

    Well written! Good to see new people still coming into the contribution scene.

  7. MJ
    May 17th, 2010 at 06:38 | #7

    Contribution is one of the human needs, we have satisfy it.

  8. May 17th, 2010 at 07:59 | #8

    Great article, Mark! I often felt the same; wanting to give back without really knowing where to start. Thank you!

  9. Peterg
    May 17th, 2010 at 09:21 | #9

    I found your article extremely close to my own feelings on the subject. I too have been using Linux as my preferred OS for several years and have been advocating its use to many people. I am a C# programmer by day but like to dabble in all things programming related and have recently been playing with Python. I have always felt the need to “give back” to the Open Source community but have been unable to find projects that are suitable for me. I was very encouraged by the news of openhatch.org, however their site seems to be down and I am hoping it’s a temporary situation and I will be able to see what they have to offer.

  10. Drew
    May 17th, 2010 at 10:33 | #10

    Thank you for this! I also have often wanted to get involved with the open source community, but everything seemed overly complicated and each site was very obscure as to how you might get involved. I’ll give this a shot!

  11. Stephen V.
    May 17th, 2010 at 11:15 | #11

    Thank you for what looks to be a great place to start. I too am looking for somewhere to start but end up just exhaling loudly when i search around. ill give openhatch.org a try. thanks again.

  12. May 17th, 2010 at 14:13 | #12

    Hey Mike,

    This is a great blog post! I too have just been dipping my toes in the waters for contributing to open source and have been somewhat involved in a project. Your post re-inspired me to get back in the game… thanks!

    Sudipta

  13. Soonick
    May 17th, 2010 at 15:38 | #13

    Beautiful

  14. RC
    May 18th, 2010 at 00:29 | #14

    I am exactly in the same position as you were before you bumped into openhatch.org. Thanks for the write-up.. :)

  15. Mark Freeman
    May 18th, 2010 at 11:32 | #15

    @ilsa
    Hi Lisa! I would suggest checking out openhatch and looking for projects you can help get started on. Hang out in the IRC channel for projects you are interested in. If you aren’t a programmer, trying testing out new features and reviewing/updating documentation!

  16. Mark Freeman
    May 18th, 2010 at 11:33 | #16

    @Perry
    Hi Perry. I had a class on JUnit a couple of years ago, but mostly I learned on my own. Much of the testing I learned here was directly related to a talk I gave at our local Users Group a few months ago and reading the existing test code. Good luck!

  17. Mark Freeman
    May 18th, 2010 at 11:34 | #17

    @Peterg
    Hi PeterG, the site being down was because of the Slashdot article. Everything seems to be up and running today! Welcome.

  18. May 18th, 2010 at 21:28 | #18

    uplifting story, cheers..
    open source ftw

  1. May 16th, 2010 at 22:01 | #1
  2. May 17th, 2010 at 05:06 | #2