I claim that the way we conduct discussions on debian-devel has gone quickly downhill this year. The discussions around the default init implementation are particularly sad examples of how Debian debates technical topics.

I've whined about this before, and people have suggested various things. Here's a list of things that I think we can conclude do not work:

  • "Do not feed the troll" does not work, because there is always someone who can't resist responding. Also, some of the bad behavior is not trolling. Further, having everyone ignore people who behave badly does not give negative feedback for bad behavior, and does not build shared social norms for what is acceptable behavior.
  • Unorganized private feedback (people mailing in response to public list posts) sometimes works, but it's a bit hit-and-miss, and again does not help build shared social norms. In other words, new members of the community see that others behave badly, and then nothing happens as far as they can see, whereas in private there may be quite a lot of activity.
  • Up/down-voting a la Reddit or Stack Overflow works on those sites, but it is not the only thing that keeps their sites in shape. It also works badly on mailing lists, I think, and we can't very well switch away from the lists for all sorts of reasons. Voting can also result in a stronger "echo chamber", where the popular people or opinions are upvoted, regardless of technical merit.

Things that can work:

  • Real-life meetings between participants. Debconf, sprints, FOSDEM, other such conferences. Unfortunately, this is expensive, and we can't reach everyone.
  • Active public, but constructive confrontation when people behave badly. This needs good social skills to be done well.

Things that might be worthwhile to try:

  • Changes to how our mailing list software works. Not sure what they would be, but Clay Shirky's Group as User: Flaming and the Design of Social Software may be a good source of inspiration.
  • If not technical changes to the list software, possibly ways in which we use the tools we have. For example, a friend of mine suggested a while ago that when there is a topic on which consensus is difficult to achieve, each side of the debate (there may be any number) writes up their position and arguments for it and against the others on a wiki page. This might avoid going in circles in the discussions, repeating the same arguments over and over, during weeks and months of discussion.
  • Public, but anonymous, feedback tools, a la Reddit and Stack Overflow. Perhaps as simple as adding "+1" and "-1" buttons to the web archive pages for messages, along the "Spam" button, and then publishing aggregate statistics? (A voting system, if you wish.)
  • A consensus on the rough bounds of acceptable behavior and some group of people who are delegated the authority to enforce that.

The current situation, where a few hard-nosed, uncompromising people can prevent any rational discussion about init systems cannot be allowed to continue.

Why discuss everything with everyone? Is it possible to form smaller working groups that work to explicitly form a solution (not necessarily implementing all themselves)?
Comment by kaizer.se Sun Sep 2 14:58:25 2012

I think you suggested part of the solution already, by mentioning how real life events like Debconf or FOSDEM do tend to work.

Debian urgently needs some easy to use video group chat along the lines of google hangouts (but more freedom compatible of course). Having discussion as close to live as possible leaves less room for agitation, trolls or bad karma. At least, that's been my experience time and again...

Comment by Mark Van den Borre Mon Sep 3 19:22:23 2012

Lars, many thanks for the link to Clay Shirky's writing, this is very interesting. For reference, this follows an earlier post from Lars.

I mostly agree with you, but not completely on everything:

Voting can also result in a stronger "echo chamber", where the popular people or opinions are upvoted, regardless of technical merit.

While merit and popularity are certainly not perfectly correlated, I can't see how Debian would allow no correlation at all.

Regarding wikis, they're not magic. A wiki page can indeed be a great way to summarize a discussion, but if the problem is flaming (intentional misbehaving), current wikis are not conflict-proof. In fact, I remember when Sven Luther lost his mind several years ago, the attacks started on mailing lists. At one point someone tried to move discussion on wiki.debian.org. As the climate was extremely aggressive, the pattern was to be one page per party. But Sven Luther made terrible modifications to the other party's page, and in the end the wiki became a new forum, which is not what it does best. I only remember that a few years later someone completely deleted all these old pages, and I didn't even feel like protesting considering the awful state in which these pages were. This is particularly likely on Debian's wiki, since we still have no administration team - our wiki is a free-for-all.

A consensus on the rough bounds of acceptable behavior and some group of people who are delegated the authority to enforce that.

I'm afraid that's not going to work. We don't even have the manpower to filter spam. Identifying unacceptable posts takes much more time, we can only hope to filter them using a decentralised approach.

Finally, I wrote a small piece on the topic of information overload and filtering if others want to go further.

Comment by Chealer Tue Sep 4 03:42:07 2012

Great post and pointers.

Along the lines of Clay Shirky's post, I'm thinking of a mailing list feedback mechanism where:

  • list subscribers can vote for a thread to be demoted to archive-only status (ie. no mail delivery), perhaps even in a separate list archive (say, debian-devel-demoted)

  • votes are weighed based on some hard metric of do-ocracy (eg. recent # of uploads by voter)

Having a thread demoted would signal to attention seekers that enough respected members of the community consider the thread unworthy of list-wide attention. At the same time, the public archival of demoted threads would bypass the taboo issue of censorship.

Voting should be effortless (eg. an empty reply to debian-devel-downvote@ would do, as long as References or In-reply-to headers are preserved), so that stopping a useless thread is less work than contributing to one.

Implementation issues aside, does this sound like something worthwhile looking into?

Comment by Serafeim Tue Sep 11 08:24:00 2012

Hi Serafeim,
your idea would definitely be worth it. In fact, Jurij Smakov already proposed it. The mailvoting project was created in 2009. Unfortunately, no progress was done on implementing it. This idea cannot easily be implemented inside the mailing list paradigm.

Regarding vote weighing, mailvoting did not propose anything, but I agree that different weights are desirable, if only to prevent people from manipulating results. However, if you have in mind something more elaborate than Debian Member = 1, rest = 0, that will need efforts. Debian currently does not track the value of its contributors except for giving members an equal power share. I agree we should go beyond that, but this should be considered as an extra feature. Taking that as a requirement would largely increase the efforts needed to start using voting.

Comment by Chealer Sun Sep 16 02:15:04 2012