There is an interesting post (google-English) about organisation of the community for the Open Source project. To my mind these thoughts are useful for every volunteer based project / community - not only to those dedicated to the software development.
The main ideas (some are in my interpretation):
- The most of the community participants are passive.
- The most active participants have to be rewarded by increasing their control over the project.
- Community have to be organised and organisation have to be transparent.
- At the beginning community needs a "magnanimous dictator" to unite the community and make project attractive for participants, but for the community and project survival in the long term it is necessary to develop democracy and try to reach the state of anarchy.
- Project become more attractive when those, who are capable and willing, receive more important tasks.
- In the beginning it is hard but essential to organise a proper feedback.
- When community and project are grown and mature it is necessary to prevent its division (fork for the software) because splitting exsanguinates community and the project.
- Community have to survive its founder so it is necessary to develop the democracy and move towards to anarchy and make decisions via consensus.
- At the first stage of the democracy the "silent consensus" will prevail, and the silence will mean the agreement. Vote system have to be developed.
- With the procedures became more complicated the need in providing newbies with the rules of participation will rise.
- "Formalisation of the agreements helps to ensure that the community lives its own life and does not depend on anyone individually".
- "The community can survive and flourish for as long as there is demand for the product produced."