OMG Planet Conversation!
Josselin, I agree with you in theory, but the problem is that heated technical discussions quickly turn personal. debian-x is one shining example of this, where the previous fighting was over whether to polish and bring out the best possible packages we could or to push hard to get the newest releases in, which while not being as well done would get people support for new hardware. Fundamentally, this is a technical debate, but it turned very personal over time and the team still bears these scars. This has also happened in incredibly ugly ways on debian-devel, with vile threads from the past like "Serious Problems With Mr. Troup", which is about as personal as you can get. The Vancouver thread also took very serious personal turns as well, despite it beginning as a necessary discussion about the release process.
Momentum is critical for minimizing these kinds of debates, but it's not foolproof. I think a code of conduct along with people who are trusted and willing to enforce it will provide an extra layer of protection against this problem. Yes, I definitely agree with you that technical solutions and hard work are the critical things. It's critical to have technical solutions to technical problems, and these should always be the first priority for Debian. But a social layer of a mailing list code of conduct, much like our social contract and the DFSG, will provide a non-technical solution that can help guide us when things get ugly. I, for one, never want to see another "Serious Problems With Mr. Troup" thread.