It seems that the normal progression to join projects is to contribute for a while, earn the trust, then get accepted as a member of the community (i.e. having commit access).
Now, I already apparently know "the best way" of how to get involed, in a manner of speaking; this is not my question; what I was hoping to attain is: How did everyone else get involed? Surely not everyone has gone down the "find a project and submit patches" route – or have they? I dont happen to know anybody in the open source community, so I’m just itching to know…
Perhaps you already knew someone in a community and just fell into it? Maybe you were getting frustrated with some bug and started contributing regulary as a result? Maybe you did just spot a project on SourceForge…
Update:
It seems that the most common reason is simply scratching an itch, to quote singpolyma: "Looking for a project to contribute to is often not the right way." Instead, you should join the open source community by contributing to a project that you already know and use.
Important:
Please, please, please: Tell me about your specific experience, no general answers please. Also, answer only if you are either a project member or a patch contributor. Please do not give advice on how to join a community, this isn’t the kind of answer I’m looking for. If you would like to give advice on joing a community, please answer in this other thread.
Great Answers:
- Mark Harrison talks about Tcl, cx_Oracle, kap and orapig
- singpolyma talks about DiSo and Greasemonkey
- Pax talks about contributing to GnuCash because of his wife
My personal anecdotes:
I got involved with the Tcl community when it was first starting out in 1991 or so. The mailing list and later the usenet newsgroup were pretty important to connect with people. I specialized in user evangelism and teaching, and eventually ended up writing two books about the subject. One of them is still in print after ten years: http://www.amazon.com/dp/0201634740
Now I use a lot of Python, and really like the cx_Oracle package. Again I was active in the mailing list, and contributed a few patches.
I’ve made a couple of software packages available that I had written for work. By making them open source, I was able to get some nice contributions back, and since they were not the ‘secret sauce’ of my employers at the time, they didn’t mind sharing the code. The two most popular packages were
http://sourceforge.net/projects/kap/ The Kinetic Application Processor — this was built when I was working on the China Internet backbone.
http://code.google.com/p/orapig/ – OraPIG, the Oracle Python Interface Generator — it generated Python code to call APIs defined in the database, and includes an XML-RPC database interface.
Advice:
Instead of looking for projects to join, try contributing to projects you already use.
It’s often difficult to jump into the ‘core’ development, because (a) on a big project, that might be a pretty big chunk of code to understand, and (b) there are probably a core group of people already working on it.
So, suppose you like a certain piece of software and want to start contributing, you can start working around the edges. Here’s a couple of concrete tasks that will help you to become integrated with the group.
Good luck!