Social software
Social software is all software that tries to build or maintain social capital. Sometimes it tries to build it around a social contract that is already in existence, and sometimes that contract is "forced" by the software - when it is "forced", it is usually called virtual community, because like a real community, it is forced to deal with some constraints and adapt to them. But since the constraints don't come from reality but from bad software, this is not the kind of community that any sane person really wants to belong to.
So, the best solution is to build social software around a pre-existing social contract. Like the constitution of a country, or an ethical code of some profession or the consensus decision-making of some political party. This means that the disputes can be resolved by the same process that offline disputes are resolved by, which is very very important. This means that no one is gaining power over others simply because they know the software better or are assigned some administrator role.
The idea of soft security is the first step towards this. The second step is the idea of fair outing and fair process so that those who are in a dispute do not gain advantage over each other due to more power with the tools. The third step is the idea of disapproval voting for things or folks that just don't get along, so that varying levels of exclusion can be applied. People usually see this last step taken on reality game shows.
Social software is best studied by sociology not by engineering or by computer science. Some people think it is something like architecture.