I've been involved in free software development projects for many years. These projects generally involve very diverse groups of people, both in terms of background and geography. It's not unusual to have projects where the participants are located in different countries, or on different continents.
For many projects, the main collaboration tools are mailing lists, and some sort of bug/issue tracking database. These are the places were development communities, discuss ideas, make plans, and hash out decisions.
One book I'm reading has a bit of advice about working with Drupal's software community:
Have a thick skin. When the talented Amitai Burstein converted the popular Organic Groups project to take excellent advantage of Drupal 7's new capabilities, he also changed the name and asked the community for its input. A respected core contributor (and by many accounts a very nice person) advised against the name change in no uncertain terms. Amitai noted the harshness and received this reply: "Yes -- I am being a bit harsh to try to make clear that I think it's a really bad idea." If every person with something to offer the community (or gain from the community) left and disengaged the first time someone was unreasonably (or reasonably) severe in critique, we wouldn't have anyone remaining here.
(from The Definitive Guide to Drupal 7. Apress, 2011. pg. 200)
I think this describes a lot of software communities that I've been a member of. Sometimes discussions get heated. Sometimes people blow off steam. But ultimately, you try to reach some sort of conclusion and move forward.
My question for discussion: what could (should?) activist communities take from this bit of advice?