Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I am a first year CS student and I really want to contribute to an OSS project, however, I can't find one that I can be productive on. For example - I thought shoes4 was suitable, but after looking at the issues, I honestly have no idea what to do. Something like Rails is probably absolutely out of my league. So where do I start? Docs, like you mentioned?


Docs are a great place to start. Getting started / installation guides, particularly for folks who can't use "the usual" install method, are easy and obvious wins. Curating existing answers into a categorized FAQ is useful. Having a site rather than a Githubbed Readme is a win, and gives you numerous options to show off web dev skills. Failing that, you can pop open any jQuery plugin or well-used Rails gem, open up the issue tracker, and pick off an issue or two of low-hanging fruit. It might take you a day or two when it would take someone familiar with the codebase 15 minutes, but they clearly haven't done it yet, have they.

The first OSS project I ever committed to was an online Battletech platform. I found an O(n^2) algorithm via visual inspection of code that one of the core devs had mentioned was a hot spot, investigated why it couldn't be quicker, and ended up introducing a caching layer. (It was 10 years ago, but my vague recollection was that caching the results of the inner loop made is essentially O(n).) Immediate perceptible speed boost. The caching code was an abomination but it worked. (The story of my life, I swear.)


Wait, did you work on Megamek? That's...where I got my start doing actual released software too. I was responsible for a bunch of random-ass (and not so wonderfully coded, I'll admit, but I was 16...) features: protomechs, VTOLs, artillery...Hell, I learned Java from scratch to be able to work on Megamek. Those were the days...I haven't played Battletech in ages, but I miss it still, and there's always a nice feeling about the game in my head from its relation to the (very) beginning of my career.

God it's a small world out there.


Yep, it was MegaMek. Man does it feel like a lifetime ago.


I've authored and maintain a couple of Ruby gems. My perspective: some tasks are no fun and suck out my enthusiasm. I love help with those. Examples: update to work with the newest version of X, track down and fix reported bugs, answer basic user questions.

Think about what "chores" you can take off the maintainers' plate and you're likely to get a warm welcome.


"Rails" is both an ecosystems of projects and one individual project. You might not be able to contribute to the Ruby on Rails software library, but there are hundreds or thousands of third party apps & libraries built around Rails. If you contribute to them (or create your own one, or find something that is abandoned, etc..) you will be contributing to the "Rails ecosystem".




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

Search: