I’ve been part of a few (attempted) projects, and honestly, online community projects are really horrible.
Even small well defined projects are likely to fail. Medium and large projects are silly to even attempt.
Let’s say you’re the project initiator. You end up doing at least 60% of all the work anyways, but have to spend 2x more time doing those 60% than if you would have done it alone, because trying to coordinate a team requires a lot of work and effort. Instead of being able to design things on your own, you have to discuss with others, explain, and after a lot of effort they lose interest in the project anyways. Time wasted.
If online community projects succeed, it’s because of one or two extraordinary individuals willing to strive to finish it. Finding a like minded team partner is like a lottery you rarely win in. Most team members drop out fast and stop contributing very early. Also, finding a good team partner is unlikely, because all the good devs out there know well enough to stay away from these kind of projects. You end up with medicocrate people, unless they’re hired for money.
If you really really want to attempt it (may the force be with you) then you have to keep things in mind:
- Be very strict regarding time put into the project, at what times people work and how many hours.
- Communicate and talk using Skype or something like that, even while working. Working together at the same time and being able to discuss at any time helps make the project more real. Having to write everything in email is horrendous and puts too much distance between you and your team partner(s)!!
- Get rid of members that don’t do anything. Better to be alone than being a horse dragging a carriage of free riders.
- Define the project VERY VERY VERY WELL. What your goals are, what are the requirements, features etc. Plan things, split things up, know what you’re doing, don’t just go on a joy ride with no destination in mind. You end up in a ditch killing all the passengers.