CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Eric Wise

Business & .NET

Launching an Open Source Project- Part 1 (Intro)

Most of you have probably seen my post about my new project.  I've gotten to thinking that although the concept of developers from around the world collaberating on a project isn't exactly a new one, there may be some question about how to properly set up and manage such a project.

Now I'm the first to admit that I've never tried anything like this before, and a major part of my starting the project is to experience how this collaberation will turn out.  So over the course of development of this project, I will be blogging my experiences in all aspects of the project.

Team Selection

I posted in my blog a brief description of the project and asked for volunteers.  I wasn't really sure how strong of a response I would get, but I will say I am pleasantly surprised at the variety of interest I got.  (By the way, I still have a few slots open and will be willing to take on a few more guys, but not many).

Here were my goals in team selection:

  1. Get 5-10 developers total.  This is a volunteer project and 10 may be overkill, but I want to be sure that if some people get caught up in real life or back out it doesn't hurt the project too much.
  2. Get a few eager, “newbie“ programmers.  I figure these guys will be the most passionate about taking on responsibilities and excited about learning new things.  Also, it just gives me a warm fuzzy feeling to help people get their feet wet.  Newbie programmers will most likely be hobbyists or college students.
  3. Get one or two very experienced developers to help architect and direct the other programmers.  As the project “owner“ alot of this is my responsibility, but I wanted one or two guys I could trust to get feedback from and put in charge of various sections of the program.  These developers will also be in charge of code review and do some mentoring of the newbies.
  4. The rest of the developers should be your average every day coders.  They will do general code and design and some light mentoring of newbies.

Now I figured that the experienced developers would be the hardest to find since they're probably busy with alot of other stuff.  I was wrong about that though, and got several responses from experienced developers and newbies, so the current “gap” seems to be in the mid-level coders.  We're pretty geographically spread out, from the USA, Netherlands, India, etc so that should add an interesting twist to the interaction between team members.

 

Setting up the collaberation environment

For this I've done a few things:

  1. Provide an online forum- Gotdotnet has a forum, but I scrapped this in favor of using the forums site provided by my home business.  Since my company will be distributing the source / documentation freely and it already has a customer forum I figure that the development team being in the company forum will allow them to keep up with end user feedback easier.
  2. Provide online source control- I created a GotDotNet workspace for this.  They have a visual studio plug-in which seems to work well for most members.  There is also an HTML source control and a .net control that can run in the webbrowser.  I tried out all 3 and they seemed to all work well, though the visual studio plugin is definately the most elegant.
  3. Instant Messaging- I've decided to embrace MSN messager as the preferred means of instant communication between members.  All .NET developers should have a passport account anyway, so this was just convenient.

 

Getting to know eachother

After giving team members access to the forums and workspace, my next task is to get everyone talking.  To facilitate this I've asked them each to post a short introduction in the forum talking about their experience level and what part of programming they enjoy the most.  I've also posted some code samples of BLL classes into the workspace plus the prototype of the database. 

After everyone has read the requirements and looked over the code and database I look to have a discussion to find the reactions to the code/database prototype and what jobs they seem interested in performing.  I will then divide up the team into microteams giving them responsibility for the various layers (database, BLL, DAL, GUI).  Ideally, I want to pair the newbies with experienced people over them to provide review and support so that they can grow and learn.

 

That's as far as I've come in the last 24 hours.  I will post Part 2 once everyone has downloaded the code and database files.  Part 2 will blog my experiences with the discussion about database structure, requirements, and how the start of the actual work has been laid out.  As I mentioned above, if you want to get involved with this project, you need to contact me asap.  Otherwise, I hope you enjoy reading about this experience!



Comments

Paul Wilson said:

Should have went SourceForge instead. :)
# September 8, 2004 8:15 AM

Eric Wise said:

Actually one of the developers is having problems with gotdotnet. If more of them hit issues I'm going to move the project to sourceforge.
# September 8, 2004 8:31 AM

Jeffrey Palermo said:

Got .Net has intermitten performance issues, and I've found the source control applet to be dog slow. Maybe they have fixed it, but I guess it's worth a shot.
# September 8, 2004 8:40 AM

Chris Wallace said:

Eric......I'd consider myself to be a mid-level developer and would also be insterested in helping out with your project if you still need code monkies.
# September 8, 2004 3:21 PM

russ dalton said:

I'm fleeing yet another hurricane so i'll be out until late next week. I'll try to pick up the database diagrams if they are available and work on them while i'm away.

BTY, hi all. I'm a database guy. Sql Server, Oracle, Access, MySql....
It's all about the data!
# September 10, 2004 1:18 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!