Hacker News new | past | comments | ask | show | jobs | submit login
Ask YC: Getting involved in open source projects
15 points by jaydub on March 6, 2008 | hide | past | favorite | 16 comments
I'm a freshman in college and an aspiring hacker. I would say that I am competent in Python and Java, with a basic knowledge of C. I would really like to put my skills to the test by getting involved in an open source project. I just can't seem to find the right way to "mount on."



Google summer of code 2008 is starting soon. Applications are due at the end of this month. Participating FOSS projects will post project ideas soon, so just visit some FOSS project that interest you and shop around their task list.

Actually, you may have to wait a couple of days, most FOSS projects are just getting started organizing their task lists.

GSoC is a great way to get into open source: you are getting paid, you have a personal mentor, and you get to work on something _you know_ people care about.


Yeah, I'd try this. Failing that, you'd be running on inspiration alone, so I'd start my own project.


Try to join projects that are still young. Young projects, on average, don't have political environments that generally make it very difficult to _really_ contribute.


As tjr said, it would be helpful to know what sort of things interest you. My advice is to find an open-source project that you use every day or find technically interesting (firefox, amaroK, open-office, gaim...) and try to get involved.

If you are adventurous, and freshman year in college is the time to be so, don't pay attention to what language the project is written in -- working on a project with an established code base in a language you DON'T know might actually be better than getting into one in a language that you do, because it will better motivate you to become proficient in it and, though they won't necessarily want to hold your hand, you will have the oversight and assistance of everyone working on the project.


By that metric pugs [1,2] comes to mind. Learning both Haskell and Perl is probably not a bad idea, in terms of breadth. ;-)

[1] http://en.wikipedia.org/wiki/Pugs [2] http://www.pugscode.org/


close bugs on a project thats already out there, create a new feature on one, or start your own.


Write or edit documentation. A lot of open source projects need help in that department.


That technically does satisfy the goal of "contributing", but it's also a boring, menial job. (Which is why volunteer-driven projects have poor documentation in the first place.)

I don't know of any open-source developer who got started writing docs.


Try creating something of your own that utilizes other stuff. I always find that a great way to get caught up in the 'other stuff', as I invariably find bugs or things I'd like to improve:-)


If you're good at python, the One Laptop per Child project is a good place to look. I've been developing a few applications with some friends for a branch of the program that we're starting in a local school system. The os for the XO laptop (called Sugar) is almost entirely written in python. The people on their IRC channel are usually pretty nice and helpful.


Have you looked around at what's going on at your college? Many good open source projects start out as research projects, some of which will even pay you a little to help them out.

If this is just for fun and self-improvement, just keep looking around until you find a team that seems to appreciate that. Google SoC may be a good start.

If you're thinking of pursuing a software career, I'd recommend considering projects that would help you in whatever kind of work you do later on. For example if databases are your thing, take a look at PostgreSQL or sqlite3. If you're into server-side web infrastructure, consider joining a project like memcached or squid, etc.


Many projects have extendible interfaces with good documentation.

Find web apps with APIs (FB, Twitter), they are a good start because you get good results quickly for the most part.

Then write a plugin for something like jQuery (if you're into javascript)

Go from there.


I have a somewhat related question, so I'll post it here and see if anyone bites :-)

I recently started programming, so that I would actually know what those darn coders were talking about ;-) I find it to be great fun, and want to do more. But I can see that I need to interact with other programmers to pick up ideas, habits, and the best way of doing things. So I also thought of joining an open source project. The problem of course is that i'm a complete noob, and probably won't live up to the high standards. How will that be seen in the community? And what should I do to get going?


As I said in another recent comment, most OSS coders start off bad; it's being part of the community over time that makes them good. So get a couple sets of asbestos underwear for when the first flames roll in and start small. Find something small that annoys you, fix it, generate a diff (if you don't know how to do this, figure it out, it's easy and will win you a few points right off the bat) and send it to the mailing list. Rinse, wash, repeat, for increasingly large values of "small". :-)


Perhaps if you shared more about what kind of work you were interested in doing, we could offer more specific advice?...


find a project you like, look up their bugzilla/Trac/whatever and find bugs you can fix. submit patches. (if it's a large bug, you may want to ping the project's mailing list to make sure someone else doesn't already have work underway for it).




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

Search: