

What open source project should I join? - schtog

My main interests are:
Machine learning
Computer vision
Datamining
Search<p>I am interested in everything tech though and I'm just basically looking for anything interesting in the open source world.<p>I have looked a little bit at Linux-development.<p><pre><code>  * Portage is written in Python.
  * Kernel-hacking is for invites only?
  * Any other important Linux-project?
</code></pre>
Mozilla<p><pre><code>  * I have only skimmed over it but I didn't find out how to actually contribute to the browser-development. Only found documentation and higher-level/sude-stuff.
</code></pre>
I know Python, C, Haskell, Lisp, Java and a little of all the other popular languages too.
I basically would just like to get experience working with in a big project and be able to hack on it a little bit whenever I feel like.<p>Edit: I'm lookin for suggestions of things I don't know of. Should be easy to contribute to and get into.
======
SwellJoe
The one that interests you. We can't tell you that.

I'll tell you what I did, and you can take it or leave it. About a dozen years
ago, after a few months of using Linux on my desktop, I knew I wanted to be
involved in Open Source (it was still just called Free Software at that
point...the Open Source moniker was yet to be coined for the more pragmatic
arm of the movement). So, I started tinkering with all of the projects I found
interesting. Squid was one of them, and I spent several years as a developer
on the project. Webmin was another, which turned out to be the one I really
had an affinity for. I also submitted small patches to yum, various Perl
modules, Extropia (before it was called Extropia), LVS, quite a few audio and
sound packages, and a few others I don't remember at this point. I also
maintained my own kernel patches for several years, until the functionality I
needed made it into mainline.

I found the various projects more or less amenable to my input, and more or
less suiting my personality and strengths (some projects have a strong leader,
others expect lots of discussion over even minor changes, etc.), and I found
myself working more and more on the ones that suited me and less on the ones
that didn't. And sometimes, I'd submit a single patch to a project for purely
selfish reasons (I needed the problem fixed, and could see a way to fix it),
and never looked at the code again. That's OK, too.

There are obvious "rock star" projects...the ones that impact almost everyone
everywhere. Apache, Linux, Firefox, any of the P languages (PHP, Perl, Python,
and the honorary member Ruby). With Perl you could work in a pseudo high level
language called NQP (Not Quite Perl) to work on the language itself...which is
pretty cool. I've never felt an urge to work on anything that low-level for
fun before, but that's something that does appeal to me. A lot of interesting
low-level stuff seems to be happening in the Haskell world, as well, but it's
still esoteric enough to be unlikely to reach a lot of people for a few
years...but being involved early in something that explodes later is a good
career move.

So, my advice: Don't pick one project. Try many. You'll eventually find the
one that suits you, and the one that you can be a valuable contributor to.
Don't try to settle on one too soon, because you might miss out on some great
learning experiences.

------
qhoxie
You should not pick a project because it is built on a language you know. You
should pick a project because you like what it does, you like using it, or you
want to improve it. Hopefully you use free software if you are asking this, so
just look at what you use and evaluate becoming a contributor.

------
omouse
Whichever one you like. Next questions.

