Hacker News new | past | comments | ask | show | jobs | submit login
How do you get involved in an open source project?
6 points by psycovic23 on Aug 8, 2009 | hide | past | favorite | 6 comments
I've reached the point where I'm pretty fluent at some languages (C/C++, Python, and some web stuff), but I'm tired of working on tiny little projects. My internship this summer has enabled me to work on a really large-scale project, so I've learned about revision control, complicated make files and autoconf and the like.

My question is, how do I get involved with a larger open source project now? Downloading source code and reading through it leaves me pretty lost, and there's generally no documentation on the code, so I'm having trouble getting started.




"Downloading source code and reading through it leaves me pretty lost, and there's generally no documentation on the code, so I'm having trouble getting started."

Fix an open bug. This is the easiest way to get your feet wet. Send a patch to the maintainers incorporating the bug fix. (Read any suggestions as to coding style etc to maximize your chances of acceptance). Rinse. Repeat.


If you are interested in getting involved in a "big" FOSS project, I would suggest two things:

1. Go on the IRC dev channel for the project. There you can get to know the developers, and discover from the quirks of the code base, and any other misc. help you may need.

2. Go to the website of the project and look for a beginner's todo list. Many major projects have these, I know GNOME does. The list is basically some simple tasks that need to be done and make it easy for new developers to learn the code base.

Aside from these two examples, the best advice I can give you for learning any poorly documented code is to use exuberant-ctags in vi or emacs. Using tags, you can easily jump through the codebase, following the logic of the code. This is far easier than manually looking up function definitions when you want to see what a function does. I'm afraid I didn't describe ctags particularly well, but a bit of googling should get you up to speed.


I and some friends began a startup to make getting involved easier. We're building an open source involvement engine, helping people showcase their contributions to open source and find new opportunities. One thing I'm particularly happy with is our volunteer opportunity search engine; we index bugs from projects large and small, and we showcase places where projects have said they want help from new contributors. There's no other cross-project opportunity search.

Sign up for our alpha at http://openhatch.org/. Right now, before you forget! We'd love more feedback from people interested in getting involved.

Today is Demo Day run by our funders, Shotput Ventures, in case you follow those things.

Once we hit public beta (just a little while) we'll make a real announcement here. (-:


There are a lot of different ways to help. Most people think the best way to help is to fix bugs or do code cleanup. While this is true, it's also very important to help other users. I send quite some time on a Linux distro forum and helped other people there. Same on IRC, I tried to help a lot of beginning users start mIRC scripting. It might not have been the most exciting things to do for most people, but I've been thanked a lot for doing simple things like giving a kind response and doing some effort to help other people. And after all, I'd rather work with some software if I know there is a good community of users to help.


I would recommend having at look at their site(/s) and having a look at their todo lists and bug tracking systems to see where you can help out and just try to write a patch for it in their preferred method and see what happens.

For Example: for Mediawiki you could look at their bugzilla and find the open bugs with the "easy" keyword (http://bit.ly/3SbYJG) and try to write patches.

And also you can help out on their Chatrooms/IRC Channels, Message Boards, Mailing Lists ect


The existing developers of a project will almost certainly be willing to help you get started. Man power is always in high demand on open source projects so many of them even have mentoring programs for new developers. Hanging out in the channel is the first step to all of this. And remember: don't be scared.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: