How can I improve my OSS project managment skills?
[ vmassol ] 12:09, Thursday, 16 February 2006

I've been asking myself the following 2 questions for about 5 years now: am I good at managing an open source project and making it successful? How can I improve?

I guess it depends on the definiton of "successful". My definition of a successful OSS project is:

  1. A project that has a big user community and mindshare
  2. A project that has a big development community (i.e. committers and contributors). That is the development mailing list should be quite active with lots of contributions, improvements, ideas being discussed. All those submitted by a large number of different persons
  3. A project that lives on if the initial or main contributor leaves the project

If we go by point 1, I think that the main 2 projects I have started (Cactus and Cargo) are not doing too bad. Cargo is still new but it seems to be on track and its user base is growing very quickly.

However on points 2 and 3, I'm not so sure I'm doing well. Mind you, Cargo has quite a lot of committers (growing every week!) and they're all doing a great job. I'm just thinking about the level beyond (look at the activity on the Maven project, Spring or other projects as an example of what I mean). Cactus is a bit different as it's now a mature project, so let's focus on Cargo. Of course it could be that these project domains are narrow and thus do not interest lots of developers. This is probably true but I don't think this is the only issue. I have the feeling that some of the reasons could be:

  • Unconsciously I may be "driving" the project too much. For example if someone proposes something, I'm probably going to argue with this person in order that it fits Cargo's quality crtieria and direction. It's possible that by doing this, I'm cutting some creativity from this person and thus even if he implements the thing, maybe he'll feel it has not completely come from him and won't identify with it enough to maintain and improve it in the future. Or maybe by arguing I'm just making the life of that person harder and as this person is doing this in the little free time he has, he may not pursue it...
  • Maybe I'm answering emails asked on the list too fast, thus preventing any other contributor to answer. This is setting the tone and maybe as a consequence people are expecting me to answer all emails. Everyone "knows" that I'll answer them anyway...
  • The same could be said for applying patches and implementing things. I think this is less true though as I also have a day job and there are lots of JIRA issues accumulating in the Cargo project for example, so there's room for takers
  • Documentation of Cargo seems good at first glance (although I know there are lots of holes). I wonder if, as a consequence Cargo users who look at the web site think that Cargo is stable, mature, etc and thus may feel less inclined to participate. Who wants to participate to a project that is mostly "done"! (Note: For those reading this and interested in Cargo, it is far from true and there are tons of things to design and implement!)

On the other hand, I feel that not doing any one of these points will hamper Cargo's user adoption...

Or maybe I'm completely wrong on all points above and this is just me fantasizing!

I'm really interested to know what you think and if this is something other OSS committers/contributors have noticed too. I've given the example of Cargo but really this is a general discussion on how to best manage an OSS project.

TrackBack
Comments

Vincent,

I can certainly sympathize with you. I watched over the Expresso project for a couple of years, and saw a similar pattern as what you describe. I've also watched Cactus since you first went to Jakarta Commons, (I have not watched you working with Cargo) so here's some thoughts:

1 - You're a great person to work with. Any comments should be tempered with that fact.

2 - I think part of what you're facing is that projects like Cactus and Cargo are not something that people want to necessarily mess with -- testing libraries (to me) are something that should just work. Of course, that's my perception, but I do find I've been never tempted to dive into Cactus' or Cargo's internals. (And I do download the source and dig into many frameworks.) And when I think about it, I cannot recall many testing libraries having a large committer base with it.

3 - I've never really seen you "drive" the project too much. I'm definitely of the mind that there should be a leader in the developer community, but I agree with your criteria that a successful project needs to be able to continue on with the lead gone.

4 - I WOULD agree that you probably reply a little too quickly to encourage others to try to take a stab at answering a question. I would suggest that perhaps you should try waiting to answer any question for twenty four hours. When I tried that right before I left Expresso, I found that the community involvement dramatically improved, and I didn't see people grumbling about the lack of a response. If nobody could handle the question or if I found mis-information or miscommunication occuring at the end of that 24 hour period, I would jump in. Besides, it allows for companies to come in and offer faster-turnaround support services, which might get developers involved too. Either way, you will significantly reduce your OS workload by handling the community that way. (to me :) )

5 - I don't know about speedy patch handling. Quick patch turnround will tend to get people to not only to be greatful, but they will more likely tend to download the source and compile it themselves to get the fix quickly -- which we all know is the first step towards them being involved. But, I would agree, that as the project matures, people that know the source code may put things off since they know you'll get around to it.

6 - Complete docs have never really turned me off. In fact, if the documentation doesn't convey the basic usage of the library, then I walk away from there. Your documents do that and more.

And finally, I think you're a brave man for asking people to give you a leadership critique!

-Mike (R)

--Michael Rimov, March 17, 2006 07:55 AM
Post a comment









Remember personal info?