

Ask HN: How does a n00b get started on open source projects? - no-go-mojo

My fellow hackers,<p>I just started messing with Rails, but in a big way. That does not mean I've done anything great, I just have been learning from every source I could. I think I'm ready to stand my own two feet now (or at least try).<p>How do I start looking at, and messing with, simple open source projects? I'd prefer projects that are well documented / have tons of comments, are small, standalone, and simple.<p>For example, a good initial project might be a simple form, that lets users sign up, and store data in a db, and be able to call it (kind of like bare-bones Wufu). Another might be just creating multiple relational dbs and messing with them.<p>Also anything that teaches good jQuery integration, CSS etc. Also, if anyone would like, I don't mind putting up my crap work somewhere for you to dissect. :-)<p>Always grateful.
======
kunalb
I'm an amateurish PHP dev; so I can't suggest specific projects to get into.
BUT I've found the best way to go about getting into any open source project
probably would be:

\- Choose a project you've used if you can. (I went with WordPress for
example)

\- Decide whether you want to try helping out with the core project or you
would prefer to make an add on

\- Make sure you follow the docs, get the build for the project ready -- or at
least try to following what the project's docs tell you to. Do your personal
best to get a hang of the source--particularly the area where you're aiming
at. Try your hand at writing some code.

\- _Now_ reach out to the core developers and the community (IRC, mailing
lists, forums)-- discuss any problems you faced getting your dev set up ready,
writing/testing code or any concepts you didn't understand (don't ask stuff
that can be answered with a lmgtfy), your idea. Ask for a simple bug to fix if
you haven't managed to find anything.

\- Develop it further -- get feedback from devs and end users --
release/submit a patch. Based on feedback, iterate and release the next
version/new patch. Repeat!

[edit] Corrected formatting

------
pcote
Spend time reading interesting source code. Follow a forum. Pour over APIs.
Read, read, read.

After awhile, you'll grow impatient and want to stop reading and actually do
something based on some ideas you got from what you read. Give in to that
urge. Start off with something simple and small. Don't be ashamed to share it
with others and ask what they think of it.

Above all, have fun and be humble. Personally, I can tell you I got a lot
further faster when I started taking myself less seriously. Besides that,
it'll make the surprise all the sweeter when someone offers you those first
open source commit rights or offers you a sweet job.

------
amorphid
If you have your own project in mind, you can get started on your own. You
will bump into a lot of open source add-ons like gems that you'll want to use.
When the gem doesn't do what you want, you can always modify it as needed and
submit a pull request.

------
seb_z_lite
hey there, I m not a really experienced developer probably at the same level
as you but with Python. Anyways, I ve been told that one of the best ways is
through GitHub.Fork a project, then work on it. YOu could ask developers's
advice since people can follow you and you can follow them. It s an awesome
tool!

