• Forum
  • Lounge
  • How can I get involved with open source?

 
How can I get involved with open source?

Hi my name is Matthew,
I've recently been exploring projects hosted on Google code and I'd like to help some people on their software projects; however, I often don't know where to start. For one these projects are often huge (so it's hard to see the forest for the trees). Furthermore, most of the time these projects have 90 % of the classes made for their project, but absolutely no documentation. So it's hard to create something new for the project or work on a certain part. What I'd really like is to get into contact with someone who's done this before so they could show me the ropes. Or atleast refer me to a good forum where I can ask people questions. I'd also like to know how to sift through the projects and find one I really want to work on. Also is there an opensource community in Columbus Ohio? Like I said having a mentor would be sweet.I don't need to be spoon feed. I sure I could grind my way into the open source community, but I'd rather try a faster route. Thank you.
There are no shortcuts, really. Basically, you just pick a project you want to work on and play with its source, starting with something simple (e.g. you want all the text to be green). After a while, try fixing one of the reported bugs; don't worry about being the first to fix it, you won't be, this is just an exercise to familiarize yourself a bit with the codebase. Once you feel comfortable working with it (can take a few weeks, depending on the size of the project and how much of it you want to work on), you can start submitting code. How this is done varies from project to project. I think the most common method is sending a diff to the maintainer detailing what it modifies. Needless to say, you'll have to adhere to the project's coding conventions, if there are any in place, or you'll most likely be ignored.

Most projects have their discussions over mailing lists, not fora. These are used to report bugs, discuss design problems, etc.

To pick a project, think of some subject you're interested in and see if anyone's working on something related. Or you can try improving some of the software you're already using, that's also an easy way to pick a project.
Last edited on
Thanks those are alot of good points
A bit off the main post:

I personally would hack at this open source project, SAGE http://www.sagemath.org/ , a mathematical software. SAGE works on a similar principle to the likes of MAPLE and Mathematica.

You open your worksheets via a regular browser. The commands in your math worksheets are written in Python (!), and you can of course call all of SAGE's internal classes.

The program itself is a wrapper for a load of mathematical packages (written in all kinds of languages) - including other already complete algebra systems (for example Singular or Maxima) and many more packages (50+ I think).

You can write your favorite math algorithm (say, in C++), and hook it up via a standard Python API and not worry for graphics/ commands parsing/ intallation etc. etc. - the part no mathematician wants to deal with - a great standardized way to work!

The interesting part is all of this huge amount of work was done (in the beginning, dunno now) by volunteers and amateurs. Once I get familiar with the project (and Python), I would gladly give a helping hand outside of my own math project (up to my abilities)!

An example on how bad working on closed platforms can be: I recently spoke to a math colleague who was complaining his MAPLE code no longer runs on newer versions. He was advising me to make databases of all theoretically important computations in case my software stops functioning. I restrained myself from advising him to change to an open standard - I am sure he would have done it if SAGE was available 10 years ago - now he (and his team) are stuck with a huge not-really-working MAPLE legacy code.
Last edited on
Step one: pick a project
Step two: join mailing list(s)
...
Thanks tition. I'll check that website out. I may send you an email as well. When I first heard about open source software I was actually interested in having other people help me on my projects. However, I decided it would be best to "pay my dues" and help on other projects. Anyway, I'm looking for a simple project (like making a 2 d game). That way I can wrap my head around the project. I'm not really looking to help google with their Android project. If I can start with something simple and that just got started then maybe I can work my way up to some industrial sized project.

Cheers Dunson
Topic archived. No new replies allowed.