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.