PDA

View Full Version : Open source project for beginners



not_the_geekiest
June 1st, 2011, 12:10 PM
I went to many website to learn different languages. Each language that I learned was interesting. However, I have never been able to "master" a language. By that I mean use it in a way that could use it in a job. Correct me if I am wrong but I assume that if I participate in a open source project I could learn how to work in a team, make a program that does something useful and be able to give back something to everyone here who has done so much to help me.

Can someone suggest/recommend an open source project that would fulfill those three criteria? I don't know any language that well so I don't know how helpful I can be, but I will try to learn what is necessary.

ivanovnegro
June 1st, 2011, 12:30 PM
There are so many ways to help, not only to code.
One of the most important things is to write documentation, translate web sites or software into native languages.
If you want to begin to help in the Ubuntu community there is Launchpad (https://launchpad.net/) with a lot to do there.
And of course to help and contribute here on the forums, also write tutorials etc.
You can also take an existing project that you like and start to contribute to it, its not difficult to dig into Open Source projects. :)

Petrolea
June 1st, 2011, 12:48 PM
I went to many website to learn different languages. Each language that I learned was interesting. However, I have never been able to "master" a language. By that I mean use it in a way that could use it in a job. Correct me if I am wrong but I assume that if I participate in a open source project I could learn how to work in a team, make a program that does something useful and be able to give back something to everyone here who has done so much to help me.

Can someone suggest/recommend an open source project that would fulfill those three criteria? I don't know any language that well so I don't know how helpful I can be, but I will try to learn what is necessary.

You can always look at existing projects and add your own features or fix bugs, or find a project that is not yet completed and help building it (not just by code). If you know C or Python (or both) you should easily find a project to work on (by writing code).

JupiterV2
June 1st, 2011, 03:22 PM
I think there's an intrinsic difference between knowing a language and knowing how to write programs. It's like the difference between learning grammar and punctuation without knowing enough vocabulary to actually write a sentence.

With all these languages you've learned, have you written any programs yourself, without a tutorial? Writing a program on your own, start to finish, can be very educational.

Before you start actually trying to start submitting code to an Open Source project, which is a good goal, I would start by just downloading a source package and read through the code. Do you understand it? Can you follow what they're doing? Are there techniques they're using you've never seen before?

It's all part of the learning process. The key is to not get discouraged and keep moving forward. I think the cut and dry is that you need to identify with your abilities. You need to walk before you can run. I'd love to see you start hacking away on an open source project but I'd also hate to see your commits rejected or for you to get overwhelmed and loose confidence.

So, to answer your question, yes, contributing to an open source project (or starting your own) is a great idea and a good way to get some real experience! As @ivanovnegro has already said, there is also more than one way to contribute to a project than writing code. Everyone wants to write code but no one ever wants to write documentation (myself included).

not_the_geekiest
June 7th, 2011, 06:55 AM
Can someone recommend an open source project that needs my help of a site where I can find open source projects.

ivanovnegro
June 7th, 2011, 02:13 PM
Can someone recommend an open source project that needs my help of a site where I can find open source projects.

Sourceforge (http://sourceforge.net/) is a giant site with many Open Source projects, so is Github. (https://github.com/)
Also Google Code (http://code.google.com/intl/de-DE/) has Open Source projects.

hakermania
June 7th, 2011, 06:57 PM
My suggestion is to see your everyday problems, the ones you face from switching on to switching off you PC.
Most of these system-dependent and not only problems can be easily fixed with BASH scripting...
BASH was my first language to learn, and while I can make a lot of useful things with it I haven't mastered it yet. But BASH showed me how to do things, and impressed me because it excited me by the results: useful jobs done automatically!
For example, I am developing a project with a friend of mine and despite of having to send him and to send me the source code all the time through mail, I made a script that checks if the source code has changed and if it does then it makes a rar with the new source code and places it to my server, where the friend of mine can download it. This saves me a great amount of time.

So, after learning BASH I went on knowing other languages, and my best till now is C++ (which I use with the Qt Creator IDE-excellent)
and making other useful apps (like the one you see in my signature, still developing)....

What you need is patience, if you have patience and see your errors, correct them etc you will love it.
I will never forget that once I wanted to pass a variable from the mainwindow to a dialog and I wrote it to a file and then the constructor of the dialog read it, and also I always wrote to files the output of the commands and then read it so as to have them inside my program instead of using popen() LOL;

Now, I go eventually back to correct my bad-but working code, and by doing so I improve my skills.
Good luck and really, don't mess up with a lot of languages concurrently because you'll mess it up!