Hacker News new | ask | show | jobs
Ask HN: Open source projects on GitHub that need junior level help?
14 points by mspaint 5296 days ago
College students and new graduates are always told on Hacker News "Get a GitHub page. Contribute to open source projects."

What are some projects a junior/entry/student level developer can hope to contribute to?

3 comments

Two things:

1. Why do they have to be "junior"-level? When you start a job, do you want to be doing easy stuff? Or do you want to be doing the fun, challenging stuff?

If you're looking for projects that have bugs that are easy, or easy-but-tedious-and-time-consuming, you probably won't find very many. The easy bugs tend to just get fixed, the tedious ones? You don't want to work on those.

2. I've always wondered how far people get with other people saying "contribute to this project because I like it!" — at the end of the day, after you've spent the past hours working on something else, are you really going to spend the next hour coding for something you don't care about? Or are you going to say "meh" and play Starcraft?

There must be some app/tool/… that you use that is open source? Thats a good ones to look into contributing to. Because you already use it, so its easier to care about it.

1. Why junior level? Because I don't want to add memory leaks trying to add features to mongrel2, I'm not enough of a ruby wizard to hack on Rails or Sinatra yet, etc. When I start a project, I want to be doing stuff that will challenge me, but I can still get something done on. When I am hired, I don't think they're going to put me in charge, I think they're going to assign me small things to work on until I learn more and prove myself.

2. My full time job is looking for work. I have many part time jobs, like freelancing, helping my family, farm work, etc. I want to contribute so I can learn. Starcraft will not make me any happier a year from now, or even a month from now.

I use lots of open source. I spent most of a day once optimistically installing what I needed to build Firefox, only to read how long it takes even on quad-core meat grinders. I have a single core 2005 vintage laptop.

In short I don't care if I don't care about the project. The goal is help the job search, sharpen my skills, and maybe contribute something while I'm at it.

Because I don't want to add memory leaks trying to add features to mongrel2

You won't. Just send that patch in that fixes a bug/adds a feature. If its less than perfect, well, thats why code gets reviewed before committed. Other people look at the code and tell you whats wrong. And then you fix it! If you're not sure how to fix it, you ask, and someone will help.

I'm not enough of a ruby wizard to hack on Rails or Sinatra yet..

So what? You don't have to understand the entire system to be able to fix one small part of it. You don't need to understand minutiae of actionmailer to improve active record.

And how big do you think Sinatra is? I'm willing to bet its significantly smaller and less complicated than you seem to think it is :) *

I had more typed up, but, it can basically be summed up as:

  1. Find a project you like.
  2. Don't make any excuses and send in a patch.
  3. ???
  4. Profit! (aka: Goal reached)
* Sinatra is small; about 2k LOC, with ~400 LOC being html templates.
Let me tell you one thing, I haven't committed any code to "popular" opensource projects yet. But, I've been closely watching one opensource project from its beginning. Dev team pushes new changes, there I am learning a bit more from it. That way it took me two years to build up confidence that now any code I submit to them would meet the code guidelines, standards and will improve existing system. I've been releasing small features on my own repo and contributing to community forum too. Now i think it's time to go ahead and surprise them with a new feature push.

You named >> mongrel2, Rails, Sinatra

I never understood this. Are there shortage of opensource projects in the internet ? I wonder why every one wants to commit to the already "established" and big projects. They have enough genius community backup to them. Why not give a shot to small projects just starting out in language of your choice ? I think, the end result will be more satisfactory.

I dont know about projects on github, but im involved in a couple of projects that are looking for developers. One is for a non profit. And one is for a for profit. They are using cutting edge technologies such as django and node and mongodb and whatnot.
Ideally pick something that you use or are interested in.

Django is pretty well setup for new contributors: https://docs.djangoproject.com/en/1.3/howto/contribute/