views:

87

answers:

7

What would be a good way to coordinate development on an open source project? (It is a Python project.)

I know the traditional way is mailing lists, but I don't like it. I don't want to make people get e-mails about the project all the time. They should be able to participate only when they wish. Also, mailman sucks.

I considered Google Groups, but I heard a few horror tales from people who tried to coordinate their development there.

Does anyone have any other suggestion?

A: 

You could set up your own forums (such as the ever-popular phpBB), but many developers tend to prefer mailing lists, because outside people -- or even other mailing lists -- can be added to conversations on the fly.

intgr
A: 

While it's still in preview mode, some friends of mine and I have been using Google Wave to coordinate our "discussions" around development efforts. It works extremely well and makes it easy to keep track of the various discussions. That's a solution internal to the team's discussion.

Providing a strong bug tracking tool can help people provide feedback to your project, especially the users of your software. And, of course, don't go without a strong code repository solution (SVN, Mercurial, etc) as that helps tremendously in discussions.

JasCav
+1  A: 

You could set up a wiki. This is how bigger student projects were managed at my university.

luvieere
Wiki's have issues of decay and usually require someone to clean up the content. They're good for some issues, but I don't see how it can replace a mailing list or forum. Care to enlighten?
Pridkett
Establish a system of moderators and users with different levels of privilege based on trust and time spent within the project. As for replacing a forum, while it might not do that, it may complement it.
luvieere
+1  A: 

Try using Assembla or GitHub, apart from being able to handle the source code, they have great project management tools, and are free for opensource projects.

hminaya
I am using GitHub. But what replacement for mailing lists does it have? The Wiki?
cool-RR
Personally I like Assembla better, and the Wiki is a great place to share knowledge and start discussions...
hminaya
A: 

Use a good issue tracker to track and organize everything that has to be done (create issues for that).

As a project leader, triage and prioritize them carefully depending on their importance. Plan the scope of release milestones and assign issues to them. The project vision and roadmap should be clear for all contributors.

As a developer, use search queries/features to find the most important issues for the current iteration. Ideally, pick up an issue providing high value, or just something that you can do. Update the status of the issue when you start working on it, when you're done, etc to let others know something is happening.

Pascal Thivent
+1  A: 

You should setup forum. I would recommend: http://www.simplemachines.org/

Kurund Jalmi
+1  A: 

You have to ask yourself a few questions about the project before you decide. If you're looking to attract experienced developers you may want to consider using mailing lists just because everyone else does and developers don't want to register for another forum. Also, mail clients typically have sophisticated filters that developers can use to filter out messages and find only the messages that are important, unlike what you find in phpBB. If you're just anti-mailman use a google group, which integrates nicely with other google tools.

Beyond that, have you given some thought to how you're going to manage the product? I highly recommend reading Karl Fogel's Producing Open Source Software which will help you on this (although he's very biased toward Subversion).

Pridkett