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.
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.
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.
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.
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.
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.
Well written! Good to see new people still coming into the contribution scene.
Contribution is one of the human needs, we have satisfy it.
Great article, Mark! I often felt the same; wanting to give back without really knowing where to start. Thank you!
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.
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!
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.
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
Beautiful
I am exactly in the same position as you were before you bumped into openhatch.org. Thanks for the write-up..
@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!
@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!
@Peterg
Hi PeterG, the site being down was because of the Slashdot article. Everything seems to be up and running today! Welcome.
uplifting story, cheers..
open source ftw