

Ask HN: How do I get involved in open source projects? - gfr

I want to get involved in an open source project, but am not sure the best way to do it.<p>I figured I would just get on github, look for an interesting project, and would start working on it.<p>But it turns out, most of the projects I have found on github are just a single guy or a small group and they do not have a list of bugs anywhere for me to try to fix. Also, I don't know enough about the software to just start adding features.<p>How do you do it?
======
bluesmoon
Ok, this is how I started.

Back in 1999, I was a newbie on the local lug and was learning perl. There
were people of all skill levels on the lug and one of the non-technical
members asked how he could find out the type of web server running on a host.

I replied telling him how to telnet to port 80 and do a GET, but then realised
that that was a bit to technical for him, so told him that if he waited 30
minutes, I'd write a script that would do it for him.

I got a chance to use my new found perlipc skills, and released my first GPLed
application. The app grew over the next few months based on one-off patches
that other people sent me, each for a need that they had.

Now, this was my first solo project. About a year later, I joined the
"everybuddy" project. I was looking for an opensource instant messenger on
linux, and found everybuddy. Downloaded it, built it and started using it. A
couple of days later, I noticed a few bugs with the Yahoo! Messenger code, so
I started debugging and fixed a few. I mailed in patches. I had to bug the
developers a bit to get the patches accepted.

Finally I asked the project maintainer (Rob Lazzurs) who the owner of the
Yahoo! code was so that I could mail that person directly. He replied
immediately "as of now, you are". A few minutes later I had commit access and
was a full developer on the project. A day later Yahoo! changed their
authentication protocol and I had my hands full. 3 years later Yahoo! hired
me.

~~~
ritonlajoie
Do you think you yahoo-part involvement in the project made a significant
'bonus' when you've got hired by Yahoo ?

~~~
bluesmoon
that's how I got to know many Yahoo! engineers. I'd report back every time I
found something that would crash the official client.

------
briandoll
Most OSS contributions come out of scratching your own itch. Pick a project
you're actively using. You'll discover features you wish it had, or bugs that
creep up. Add the feature, fix the bug, add some documentation for a feature
you found confusing. Soon enough this will become just the way you interact
with the OSS community. Welcome! :)

------
johngunderman
Github is a bit difficult to find projects on. All of the super active
projects are flooded with developers, and everything else is just a single
developer doing his own thing.

The best way to get involved is to think about what annoys you when you use
the computer. Do you find the notification system to be annoying? Do you wish
your mail client had better filtering? Find something that annoys you, and
then try and fix it. You don't even have to submit a patch your first time
doing this. Just get the source code for the application, and take a look
around. See if you can identify where the code is that does what you think
should be approved. If it looks easy, take a stab at it, and test it out. If
it looks difficult, file a bug report. Ask the developers if one of them is
willing to mentor you on the bug. At this point, you'll get one of two
responses:

1\. They'll tell you no. A lot of projects have developers that won't have
time, or won't want to deal with reviewing your unpolished code.

2\. They'll tell you yes. Then you can be happy and work on an OSS project.

If you're looking for bugs/features that have mentors available, check out
some of the projects on launchpad.net, especially ones associated with Ubuntu.
There is a large community of developers there that have specifically signed
up to mentor certain bugs.

------
thebootstrapper
Start with issue tracker / user list of your favourite OSS project. If the
project has more comitters and stable its very unlikely you will able to
contribute. So choosing the right project also matters. Most contribution to
opensource came because of personal needs so IMO if you use your project
extensively its likely you will be able to contribute back.

There is actually Google I/O talk The Myth of Genius Programmer. Where
Googlers (Brian Fitzpatrick, Ben Collins-Sussman) talks about when to join in
a collaborative (OSS) project It could helpful.
[http://code.google.com/events/io/2009/sessions/MythGeniusPro...](http://code.google.com/events/io/2009/sessions/MythGeniusProgrammer.html)

------
jtchang
Why do you want to get involved in open source projects?

For me I never really got "involved" into any open source project. Rather I
had ideas floating around that I wanted to do. That's what got me to code this
(basically a Python based server for a wireless SD card):

[http://returnbooleantrue.blogspot.com/2009/04/eye-fi-
standal...](http://returnbooleantrue.blogspot.com/2009/04/eye-fi-standalone-
server-version-20.html)

I open sourced it because I don't have much time to support it. Best way is to
find something you like and stick to it.

------
stephenbez
Check out <http://openhatch.org/>. Its purpose is to make it easy for people
to get involved in open source projects by identifying "bite-sized bigs" that
are good for a newcomer to work on, among other things.

I found out about the site when I was at the OSCON Open Source Convention, and
saw a talk on the subject:
<http://www.oscon.com/oscon2010/public/schedule/detail/14066>

------
sparrowhawk23
<http://mifos.org> IRC: #mifos

This is a web based, open source banking software designed for microloans -
software for ending poverty. It needs and welcomes volunteers! Uses Java,
Spring Framework, and has many developers all over the world. They'll help you
get up to speed.

------
Cabal
There are still a lot of projects with web sites (or on SourceForge), bug
trackers, and mailing lists. Pick something you can do _now_ (bug submissions,
helping on mailing lists) and branch out (patches, etc) as time allows.
Projects are _always_ looking for help.

------
myffical
Similar thread: <http://news.ycombinator.com/item?id=1518619>

Start by helping software projects that you already use. You will have
personal insight as to where the bugs are.

------
kilian
A friend of mine recently wrote a blogpost about this, might be helpful:
<http://leftontheweb.com/message/Contributing_to_Open_Source> :)

------
joeld42
A great way to get started is by offering to port and package something to a
different platform, or add an api/wrapper for another language. Most single
developer/small group projects would be happy to have the help.

------
daleharvey
what open source software do you use? think of something you use and would
like to improve as opposed to just working on some random open source project.

if your project is small, pick a feature you would like to do, fork it and get
it working then email the owner.

if the project you want to work on is big, it will have a chat room, probably
on freenode, join the room and the mailing list, ask for a few small bugs to
fix (a lost of projects will have these specifically marked) so you get a
grasp of the projects workflow, then you can be promoted to working on new
things.

