How do you get involved in an open source project?
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.
6 comments
[ 2.6 ms ] story [ 14.5 ms ] threadFix 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.
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.
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
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. (-: