Separate thought on the cost section of this post: the hardest thing to explain to clients is that free software still has a running cost. Someone has to update it, back it up and answer the support questions.
My rule of thumb now: budget a few hours a month of someone's time from day one, even for a small community.
And write down who that someone is. Half the stalled communities I'm asked to look at have a server nobody feels responsible for.