views:

346

answers:

5

Possible Duplicates:
What is an open source Java project I could contribute to?
Open source projects that are easy to contribute (code) to?

Hello, I'm a high school student currently taking a CS course and one of my semester projects is to contribute to an open-source project by way of patching bugs or something similar. We haven't had much experience with any real-world applications so I'm somewhat unsure of what kind project would provide the best learning experience without overwhelming me. Any suggestions? Another question - my teacher provided Firefox and OpenOffice as examples of open-source projects that we could contribute to but I feel that a smaller project would be less intimidating. Am I right in thinking this or would it actually be easier to help with a larger project (because it may be more mature/developed already)?

A: 

No offense, but I don't know of any large open-source projects that are looking for novice contributors. Open Office and Firefox are big projects; if I were the organizer I would not be soliciting new programmers to contribute.

There are lots of smaller ones, though. I don't know the Java world, but I'd suggest looking into a tool or utility with a plug-in model, where you can contribute something stand-alone, so that your work does not present a disruption or risk to anything else that's going on.

One example, not in Java, that I know of that fits this pattern is a C#-based screen-snap tool called Cropper. It's a screen shot utility hosted on Codeplex. It's based on a plug-in model, so that each "destination" for a screen shot can be a different plug-in. The various plugins are managed as a separate project on Codeplex. For example, there are plugins that:

  • save to jpg
  • save to PNG
  • save to Imgur.com
  • save to Flickr
  • send to Paint.NET.exe
  • etc

Writing a plugin for something like that is a reasonably-sized effort for someone starting out.

This is just an example. I know you said you're working in Java. I suggest that you find a similarly structured project based on Java where you can take a separable unit of work on, for you and maybe one or two teammates, if you have a team.

Cheeso
+1  A: 

you could work on a cool eclipse or netbeans plugin. Something for Android may be interesting as well.

darren
+1  A: 

Welcome to the league. I would suggest the two best examples of successful opensource philosphy:

  1. Eclipse
  2. Any Apache project
Suraj Chandran
A: 

Have to agree with Cheeso. Perhaps one of those projects would be looking for some documentation help, but probably not any coding help from a novice. Do you know Python?... I use Jython (an open source java project) and know that the documentation is lacking ;-)

Android is cool too and pretty young. I know the Ringdroid application is in need of fade-in, fade-out, and amplify features.

eric.frederich
A: 

If I were a novice and wanting to contribute to an open source project (or being forced to :-) ), I'd think about not tackling anything big first....there are lots of worthwhile things that can be done by beginners. For example, I personally like Joomla. It's a pretty good Content Management System (CMS). One of the best things I think about Joomla is that it has various templates that you can use in the creation of your website. You could create a template.

A tutorial for this is at: http://docs.joomla.org/Tutorial:Creating_a_basic_Joomla!_template.

To look at how to contribute you can go to: http://www.joomla.org/about-joomla/contribute-to-joomla.html

Good luck!!!

SOA Nerd