views:

371

answers:

4

I realize that this might be a duplicate question but this question is very specific to my skill set.

I'd like to join an open source software project. I'm an professional software developer and gradate student (M.S. in Software Engineering) and professionally (in my day job), I work with ASP.Net, ASP/VBScript and SQL Server.

I recently took my first graduate course and the course introduced me to MinGW, Cygwin and GCC. This opened my eyes to the power and greatness of open source software. I've always respected firefox and subversion -- the big names -- but that gave me greater insight.

I want to join a project that I can be productive in but yet can learn in. I'd like the project to be early on in development but showing promise (if it fails or is discontinued, I'll find a new one). I'd prefer the project to be in the Linux community but with the expectation that it will work on Windows, Mac OS X and Linux.

The following are the technologies that I'm familiar with.

  • .NET 2.0, 1.1
  • SQL Server
  • SQLite
  • Cocoa
  • Cocoa-Touch
  • MySQL
  • Mercurial
  • Subversion
  • Cygwin
  • MinGW
  • GCC / GDB

IDEs

  • Visual Studio 2005/2008
  • NetBeans
  • Xcode
  • Notepad :-)

Languages

  • C#
  • VB.Net
  • C++ (barely)
  • Objective-C (Preferred)
  • C (Preferred)
  • JavaScript
  • HTML / XML / etc.

I realize that this question is somewhat subjective but this answer is going to be best suited to what I want in a project. I'll update this post when I get questions to guide what I'm looking for.

Update: I've still not found a project that might fit me. The projects previously mentioned MariaDB and Mono are both good choices but are a bit more mature than I'd be conftorable with.

Also, I do realize that there is some politics when joining a project. But the nice thing about Open source is I can start participating with out being a full (or even 1/2) "member" of the team. Just to start learning the codebase and making a contributions to the core team... That would be enough for myself.

+4  A: 

MariaDB needs developers. The MySQL project is effectively dead in the water and the original development team has moved on to MariaDB, which is a fork of the MySQL codebase and will remain compatible for the foreseeable future. You'll have more luck downloading the source and doing the compiles yourself, then trying to issue patches for known issues back to a member of the development team. If you issue enough patches, over time you might be granted commit status on their source repository. However, you can't just say "Hey, I want to join your project so here's some code I committed to your trunk without going through the proper channels." You have to play some politics. If you're doing it for personal acclaim, you might be better off just starting a project of your own.

Nolte Burke
+2  A: 

If you're interested in C# and .NET, you should contribute to Mono. ;)

B.R.
Good idea, I didn't consider it but that is a larger effort.
Frank V
A: 

I would recommend considering contributing to a project where you are outside of your skill-set. You get the two-fold benefit of contributing to an open source project while also learning new skills.

-bn

bn
Good suggestion and I plan on doing that. This is why I'm hoping to use C (It's a *preferred* language). I know C but I'm not too familiar with the libraries. I just understand it as a computer language.
Frank V
+1  A: 

My recommendation based on your skill set would be working with multiple opensource projects. You have experience with C using both mingw and MSVC. Use that knowledge to help with native porting with libraries that only compile using mingw or only compile using MSVC. This contributes to the overall cross platform nature of the libs and gets you familiar with them. Once you are familiar with them, you can help to expand functionality. This would allow you to learn and contribute at the same time. There are quite a few libs so I won't g into a big list. I will mention MySQL/MariaDB because I know these don't compile nicely under MSVC from experience. Anyway, my 2 cents....

Robert

Robert
Excellent Idea.
Frank V