diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7282.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7282.txt')
-rw-r--r-- | doc/rfc/rfc7282.txt | 1067 |
1 files changed, 1067 insertions, 0 deletions
diff --git a/doc/rfc/rfc7282.txt b/doc/rfc/rfc7282.txt new file mode 100644 index 0000000..bd4e350 --- /dev/null +++ b/doc/rfc/rfc7282.txt @@ -0,0 +1,1067 @@ + + + + + + +Internet Engineering Task Force (IETF) P. Resnick +Request for Comments: 7282 Qualcomm Technologies, Inc. +Category: Informational June 2014 +ISSN: 2070-1721 + + + On Consensus and Humming in the IETF + +Abstract + + The IETF has had a long tradition of doing its technical work through + a consensus process, taking into account the different views among + IETF participants and coming to (at least rough) consensus on + technical matters. In particular, the IETF is supposed not to be run + by a "majority rule" philosophy. This is why we engage in rituals + like "humming" instead of voting. However, more and more of our + actions are now indistinguishable from voting, and quite often we are + letting the majority win the day without consideration of minority + concerns. This document explains some features of rough consensus, + what is not rough consensus, how we have gotten away from it, how we + might think about it differently, and the things we can do in order + to really achieve rough consensus. + + Note: This document is quite consciously being put forward as + Informational. It does not propose to change any IETF processes and + is therefore not a BCP. It is simply a collection of principles, + hopefully around which the IETF can come to (at least rough) + consensus. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Not all documents + approved by the IESG are a candidate for any level of Internet + Standard; see Section 2 of RFC 5741. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + http://www.rfc-editor.org/info/rfc7282. + + + + + + + +Resnick Informational [Page 1] + +RFC 7282 On Consensus June 2014 + + +Copyright Notice + + Copyright (c) 2014 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 + 2. Lack of disagreement is more important than agreement . . . . 4 + 3. Rough consensus is achieved when all issues are addressed, + but not necessarily accommodated . . . . . . . . . . . . . . 7 + 4. Humming should be the start of a conversation, not the end . 10 + 5. Consensus is the path, not the destination . . . . . . . . . 13 + 6. One hundred people for and five people against might not be + rough consensus . . . . . . . . . . . . . . . . . . . . . . . 14 + 7. Five people for and one hundred people against might still be + rough consensus . . . . . . . . . . . . . . . . . . . . . . . 16 + 8. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 18 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 18 + 10. Informative References . . . . . . . . . . . . . . . . . . . 18 + Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 19 + + + + + + + + + + + + + + + + + + + + +Resnick Informational [Page 2] + +RFC 7282 On Consensus June 2014 + + +1. Introduction + + Almost every IETF participant knows the aphorism from Dave Clark's + 1992 plenary presentation [Clark] regarding how we make decisions in + the IETF: + + We reject: kings, presidents and voting. + + We believe in: rough consensus and running code. + + That is, our credo is that we don't let a single individual dictate + decisions (a king or president), nor should decisions be made by a + vote, nor do we want decisions to be made in a vacuum without + practical experience. Instead, we strive to make our decisions by + the consent of all participants, though allowing for some dissent + (rough consensus), and to have the actual products of engineering + (running code) trump theoretical designs. + + Having full consensus, or unanimity, would be ideal, but we don't + require it: Requiring full consensus allows a single intransigent + person who simply keeps saying "No!" to stop the process cold. We + only require rough consensus: If the chair of a working group + determines that a technical issue brought forward by an objector has + been truly considered by the working group, and the working group has + made an informed decision that the objection has been answered or is + not enough of a technical problem to prevent moving forward, the + chair can declare that there is rough consensus to go forward, the + objection notwithstanding. + + To reinforce that we do not vote, we have also adopted the tradition + of "humming": When, for example, we have face-to-face meetings and + the chair of the working group wants to get a "sense of the room", + instead of a show of hands, sometimes the chair will ask for each + side to hum on a particular question, either "for" or "against". + + However, in recent years we have seen participants (and even some + folks in IETF leadership) who do not understand some of the + subtleties of consensus-based decision making. Participants ask, + "Why don't we just vote? Why are we bothering with this 'humming' + thing?" Or even more concerning, "We've already hummed/voted, so why + isn't the discussion concluded?" Chairs, many of whom have little + experience in leading large volunteer groups like those in the IETF, + let alone experience in how to gather consensus, are faced with + factious working groups with polarized viewpoints and long-running + unresolved issues that return again and again to the agenda. More + and more frequently, people walk away from working groups, thinking + that "consensus" has created a document with horrible compromises to + satisfy everyone's pet peeve instead of doing "the right thing". + + + +Resnick Informational [Page 3] + +RFC 7282 On Consensus June 2014 + + + None of these things are indicators of a rough consensus process + being used, and the fact that we are seeing them is likely due to + some basic misperceptions. + + This document explains some features of rough consensus, explains + what is not rough consensus, discusses some new ways to think about + rough consensus, and suggests ways that we might achieve rough + consensus and judge it in the IETF. Though this document describes + some behaviors of working groups and chairs, it does so in broad + brushstrokes and it does not prescribe specific procedures. Rather, + this document is intended to foster understanding of the underlying + principles of IETF consensus processes. While it may be of general + interest to anyone interested in the IETF consensus processes, the + primary audience for this document is those who have experience + working in the IETF and are trying to understand and participate in + the consensus-building process, and it is particularly aimed at + generating thought and discussion among those who might lead a + consensus discussion. Although most of the examples in this document + talk about working group chairs, these principles apply to any person + who is trying to lead a group to rough consensus, whether a chair, a + design team leader, a document editor, an area director, or any + community member who is facilitating a discussion or trying to assess + consensus. + + While the community has come to rough consensus that the principles + expressed in this document are (at least approximately) right, many + of our current practices are not consistent with these principles. + Again, this document is primarily intended to generate thought and + discussion, not dictate practices. If the IETF does commit itself to + these principles, practices may change in the future. + +2. Lack of disagreement is more important than agreement + + A working group comes to a technical question of whether to use + format A or format B for a particular data structure. The chair + notices that a number of experienced people think format A is a good + choice. The chair asks on the mailing list, "Is everyone OK with + format A?" Inevitably, a number of people object to format A for one + or another technical reason. The chair then says, "It sounds like we + don't have consensus to use format A. Is everyone OK with format B?" + This time even more people object to format B, on different technical + grounds. The chair, not having agreement on either format A or + format B, is left perplexed, thinking the working group has + deadlocked. + + The problem that the chair got themselves into was thinking that what + they were searching for was agreement. "After all", thinks the + chair, "consensus is a matter of getting everyone to agree, so asking + + + +Resnick Informational [Page 4] + +RFC 7282 On Consensus June 2014 + + + whether everyone agrees is what the chair ought to do. And if lots + of people disagree, there's no consensus." But _determining_ + consensus and _coming to_ consensus are different things than + _having_ consensus. + + The distinction might be a bit subtle, but it's important. + Engineering always involves a set of tradeoffs. It is almost certain + that any time engineering choices need to be made, there will be + options that appeal to some people, but are not appealing to some + others. In determining consensus, the key is to separate those + choices that are simply unappealing from those that are truly + problematic. If at the end of the discussion some people have not + gotten the choice that they prefer, but they have become convinced + that the chosen solution is acceptable, albeit less appealing, they + have still come to consensus. Consensus doesn't require that + everyone is happy and agrees that the chosen solution is the best + one. Consensus is when everyone is sufficiently satisfied with the + chosen solution, such that they no longer have specific objections to + it. + + So, in the case of a working group decision, after the initial + discussion of the pros and cons of the available choices, it is most + important to ask not just for objections to a particular proposal, + but for the nature of those objections. A chair who asks, "Is + everyone OK with choice A?" is going to get objections. But a chair + who asks, "Can anyone not live with choice A?" is more likely to only + hear from folks who think that choice A is impossible to engineer + given some constraints. Following up with, "What are the reasons you + object to choice A?" is also essential. Then, the purported failings + of the choice can be examined by the working group. The objector + might convince the rest of the group that the objections are valid + and the working group might choose a different path. Conversely, the + working group might convince the objector that the concerns can be + addressed, or that the choice is simply unappealing (i.e., something + the objector can "live with") and not a show-stopper. In any event, + closure is much more likely to be achieved quickly by asking for and + trying to accommodate the objections rather than asking for + agreement. + + The above discussion does not mean that sorting out disagreements is + the only thing that needs to be done for successful consensus. An + engineering solution that has no objections, but also has no base of + support and is met with complete apathy, is not a solution that has + any useful sort of consensus. Consensus does require the active + engagement and eventual support of those who are working on the + solution. However, finding mere "agreement" among participants is + not enough. People might very well agree that a solution is + + + + +Resnick Informational [Page 5] + +RFC 7282 On Consensus June 2014 + + + sufficient and have no objection to it, but if they also don't + actively think it's a good and correct outcome, it's absurd to + declare that the group has consensus. + + There is also an important point to be made about reaching consensus + and "compromising": Unfortunately, the word "compromise" gets used in + two different ways, and though one sort of compromising to come to + consensus is good (and important), the other sort of compromising in + order to achieve consensus can actually be harmful. As mentioned + earlier, engineering always involves balancing tradeoffs, and + figuring out whether one engineering decision makes more sense on + balance compared to another involves making engineering + "compromises": We might have to compromise processor speed for lower + power consumption, or compromise throughput for congestion + resistance. Those sorts of compromises are among engineering + choices, and they are expected and essential. We always want to be + weighing tradeoffs and collectively choosing the set that best meets + the full set of requirements. + + However, there is another sense of "compromise" that involves + compromising between people, not engineering principles. For + example, a minority of a group might object to a particular proposal, + and even after discussion still think the proposal is deeply + problematic, but decide that they don't have the energy to argue + against it and say, "Forget it, do what you want". That surely can + be called a compromise, but a chair might mistakenly take this to + mean that they agree, and have therefore come to consensus. But + really all that they've done is capitulated; they've simply given up + by trying to appease the others. That's not coming to consensus; + there still exists an outstanding unaddressed objection. Again, if + the objection is only that the choice is not ideal but is otherwise + acceptable, such a compromise is fine. But conceding when there is a + real outstanding technical objection is not coming to consensus. + + Even worse is the "horse-trading" sort of compromise: "I object to + your proposal for such-and-so reasons. You object to my proposal for + this-and-that reason. Neither of us agree. If you stop objecting to + my proposal, I'll stop objecting to your proposal and we'll put them + both in." That again results in an "agreement" of sorts, but instead + of just one outstanding unaddressed issue, this sort of compromise + results in two, again ignoring them for the sake of expedience. + + These sorts of "capitulation" or "horse-trading" compromises have no + place in consensus decision making. In each case, a chair who looks + for "agreement" might find it in these examples because it appears + that people have "agreed". But answering technical disagreements is + what is needed to achieve consensus, sometimes even when the people + who stated the disagreements no longer wish to discuss them. + + + +Resnick Informational [Page 6] + +RFC 7282 On Consensus June 2014 + + + Coming to consensus is when everyone (including the person making the + objection) comes to the conclusion that either the objections are + valid, and therefore make a change to address the objection, or that + the objection was not really a matter of importance, but merely a + matter of taste. Of course, coming to full consensus like that does + not always happen. That's why in the IETF, we talk about "rough + consensus". + +3. Rough consensus is achieved when all issues are addressed, but not + necessarily accommodated + + The preceding discussion gives an example where the working group + comes to consensus on a point: Either the objector is satisfied with + the answer to the objection, or the working group is satisfied that + the objection is valid and changes course. But that doesn't happen + all of the time, and it's certainly not the problematic case. Again, + engineering is always a set of tradeoffs. Often, a working group + will encounter an objection where everyone understands the issue and + acknowledges that it is a real shortcoming in the proposed solution, + but the vast majority of the working group believes that + accommodating the objection is not worth the tradeoff of fixing the + problem. + + So, an objector might say, "The proposal to go with protocol X is + much more complicated than going with protocol Y. Protocol Y is a + much more elegant and clean solution, which I can code much more + easily, and protocol X is a hack." The working group might consider + this input, and someone might respond, "But we have a great deal of + code already written that is similar to protocol X. While I agree + that protocol Y is more elegant, the risks to interoperability with + an untested solution are not worth it compared to the advantages of + going with the well-understood protocol X." If the chair finds, in + their technical judgement, that the issue has truly been considered, + and that the vast majority of the working group has come to the + conclusion that the tradeoff is worth making, even in the face of + continued objection from the person(s) who raised the issue, the + chair can declare that the group has come to rough consensus. (And + even though this is framed in terms of a "vast majority", even that + is not necessarily true. This point is discussed in more detail in + Sections 6 and 7.) + + Note that this portrays rough consensus as a fallback. In one sense, + it is: As a working group does its work and makes its choices, it + behaves as if it is striving toward full consensus and tries to get + all issues addressed to the satisfaction of everyone in the group, + even those who originally held objections. It treats rough consensus + as a sort of "exception processing", to deal with cases where the + person objecting still feels strongly that their objection is valid + + + +Resnick Informational [Page 7] + +RFC 7282 On Consensus June 2014 + + + and must be accommodated. But it is certainly true that, more often + than not in the IETF, at least someone in the group will be + unsatisfied with a particular decision. In that sense, rough + consensus might be closer to the norm than the exception. However, + when a participant says, "That's not my favorite solution, but I can + live with it; I'm satisfied that we've made a reasonable choice", + that participant is not in the "rough" part of a rough consensus; the + group actually reached consensus if that person is satisfied with the + outcome. It's when the chair has to declare that an unsatisfied + person still has an open issue, but that the group has truly answered + the objection, that the consensus is only rough. + + Now, a conclusion of having only rough consensus relies heavily on + the good judgement of the consensus caller. The group must truly + consider and weigh an issue before the objection can be dismissed as + being "in the rough". ("In the rough" is terminology from golf. + "The rough" is the term for the longer grass at the side of the + fairway, and if your ball has landed in the rough you are off course + and away from the normal direction of play. The phrase gets used + quite a bit in the IETF as a play on words to complement "rough + consensus" meaning that you are "in the rough" if you find yourself + not agreeing with the rough consensus.) The chair of a working group + who is about to find that there is only rough consensus is going to + have to decide that not only has the working group taken the + objection seriously, but that it has fully examined the ramifications + of not making a change to accommodate it, and that the outcome does + not constitute a failure to meet the technical requirements of the + work. In order to do this, the chair will need to have a good idea + of the purpose and architecture of the work being done, perhaps + referring to the charter of the working group or a previously + published requirements document, or even consulting with other + experts on the topic, and then the chair will use their own technical + judgement to make sure that the solution meets those requirements. + It is possible that the chair can come to the wrong conclusion, and + the chair's conclusion is always appealable should that occur, but + the chair must use their judgement in these cases. What can't happen + is that the chair bases their decision solely on hearing a large + number of voices simply saying, "The objection isn't valid." That + would simply be to take a vote. A valid justification needs to me + made. + + + + + + + + + + + +Resnick Informational [Page 8] + +RFC 7282 On Consensus June 2014 + + + It is important to recognize that this view of rough consensus is a + change from the way it sometimes has been characterized in the IETF. + RFC 1603 [RFC1603] described rough consensus as the "dominant view" + of the group: + + Working groups make decisions through a "rough consensus" process. + IETF consensus does not require that all participants agree + although this is, of course, preferred. In general the dominant + view of the working group shall prevail. (However, it must be + noted that "dominance" is not to be determined on the basis of + volume or persistence, but rather a more general sense of + agreement.) Consensus can be determined by balloting, humming, or + any other means on which the WG agrees (by rough consensus, of + course). + + The above says that consensus can be "determined" by balloting and + humming, and there are certainly IETF folks who have thought of rough + consensus as being primarily about the percentage of people who agree + with a decision. Indeed, RFC 2418 [RFC2418] adds on to the above + text by stating, "Note that 51% of the working group does not qualify + as 'rough consensus' and 99% is better than rough." This document + actually disagrees with the idea that simply balloting or otherwise + looking at percentages can "determine" consensus. While counting + heads might give a good guess as to what the rough consensus will be, + doing so can allow important minority views to get lost in the noise. + One of the strengths of a consensus model is that minority views are + addressed, and using a rough consensus model should not take away + from that. That is why this document talks a great deal about + looking at open issues rather than just counting the number of people + who do or do not support any given issue. Doing so has some + interesting and surprising implications that are discussed in + subsequent sections. + + Any finding of rough consensus needs, at some level, to provide a + reasoned explanation to the person(s) raising the issue of why their + concern is not going to be accommodated. A good outcome is for the + objector to understand the decision taken and accept the outcome, + even though their particular issue is not being accommodated in the + final product. + + Remember, if the objector feels that the issue is so essential that + it must be attended to, they always have the option to file an + appeal. A technical error is always a valid basis for an appeal. + The chair in making the consensus call (or whoever is responsible to + hear an appeal) may determine that the issue was addressed and + understood, but they also have the freedom and the responsibility to + say, "The group did not take this technical issue into proper + account" when appropriate. Simply having a large majority of people + + + +Resnick Informational [Page 9] + +RFC 7282 On Consensus June 2014 + + + agreeing to dismiss an objection is not enough to claim there is + rough consensus; the group must have honestly considered the + objection and evaluated that other issues weighed sufficiently + against it. Failure to do that reasoning and evaluating means that + there is no true consensus. + +4. Humming should be the start of a conversation, not the end + + We don't vote in the IETF. In some ways, we can't vote: Since the + IETF is not a membership organization, it's nearly impossible to + figure out who would get a vote for any given question. We can't + know who the "members" of any given working group would be at any one + time, and we certainly can't know who all of the "members" of the + IETF would be: That's why we refer to "participants" in the IETF; the + IETF doesn't really have "members". Indeed, we often recruit + additional implementers and other experts into working groups in + order to ensure that broader views are brought into the discussion. + So, voting is simply not practical. We've also decided that coming + to consensus (albeit sometimes rough consensus) is an important thing + to do. Final decisions are supposed to be taken on the mailing list, + which reinforces the idea that we come to consensus by looking at the + open issues and not counting heads. We do, on occasion, take + informal polls to get a sense of the direction of the discussion, but + we try not to treat a poll as a vote that decides the issue. When we + do discuss things face-to-face, we don't want to vote there either; + we want to show that we are coming to consensus. So, sometimes, to + reinforce the notion that we're not voting, instead of a show of + hands, we often "hum". + + However, more and more we see people who think that a hum is a sort + of anonymous vote, with some chairs calling every question they have + for the working group by asking for a hum and judging the result by + the loudest hum, even saying things like, "There were lots of hums + for choice 1 and very few hums for choice 2, so it sounds like we + have rough consensus for choice 1." This misses some really + important points of using humming and is almost certainly mis- + assessing the consensus. Hums should not be used as votes. + + So, why should we engage in this strange practice of humming? What + are good reasons to "take a hum"? One reason is pragmatic. Quite + often, a chair is faced with a room full of people who seem to be + diametrically opposed on some choice facing the group. In order to + find a starting place for the conversation, it can be useful for the + chair to ask for a hum to see if one of the choices already has a + stronger base of support than the other (or any significant base of + support at all, for that matter). Sometimes the hum can tell a chair + + + + + +Resnick Informational [Page 10] + +RFC 7282 On Consensus June 2014 + + + that the room isn't all that contentious after all, that it's just a + few voices who were being especially vociferous during the initial + discussion. + + Sometimes, the hum will make it clear that choice "foo" has a + significant amount more support than choice "bar", and it is + therefore likely easier to start the discussion by saying, "OK, 'foo' + seems to have quite a bit of support. Let's have the people that + think 'foo' is a bad idea come up and tell us why it is problematic." + At that point, the group can start going through the issues and see + if any of them are showstoppers. It could always turn out that one + of the objections is instantly recognized by the entire group as a + fatal flaw in "foo" and the group will then turn to a discussion of + the merits (and demerits) of "bar" instead. All that the hum does is + give the chair a starting point: The hum indicated that there were + less objections to "foo" than to "bar" at the beginning of the + discussion, so starting with the objections to "foo" might shorten + the discussion. + + Another good reason for us to hum is because it actually gives the + chair the opportunity to take the temperature of the room. A smaller + bunch of loud hums for choice A and a larger number of non-committal + hums for choice B might indicate that some people believe that there + are serious problems with choice B, albeit the more popular by sheer + number of people. The chair might decide that starting with choice A + and getting objections to it is the easier path forward and more + likely to result in consensus in the end. Remember, coming to + consensus is a matter of eliminating disagreements, so the chair + wants to choose the path that gets to the least objections fastest. + A bunch of people who are not strongly committed to B might have no + real technical objection to A, even though it is not their first + preference. There is always a chance that this could be misleading, + or even abused, because some people are more willing to hum loudly + than others (just by dint of personality), or that one of the quieter + hums actually turns out to be a show-stopper that makes the original + choice impossible. However, keep in mind that taking the hum in this + case is to figure out how to start the conversation. The chair could + always be surprised because the hum turns out to be unanimous and no + further discussion is needed. Otherwise, the hum begins the + discussion, it doesn't end it. + + But couldn't all of the above could have been done with a show of + hands instead of a hum? Absolutely. Indeed, on a mailing list there + is no way to use humming and so a different kind of polling would be + needed. Even in face-to-face situations, sometimes we do use a show + of hands. But there are more symbolic reasons for using a hum + instead of a show of hands when face-to-face: Of course, a chair + could get the temperature of the room by doing a show of hands too, + + + +Resnick Informational [Page 11] + +RFC 7282 On Consensus June 2014 + + + and knowing who specifically feels one way or another can help a good + chair guide the subsequent conversation. However, a show of hands + might leave the impression that the number of people matters in some + formal way. A chair and a working group with a solid understanding + of how consensus works can certainly do a show of hands and achieve + exactly the same result as a hum. But with less experienced folks, a + show of hands can end up reinforcing the mistaken notion that a vote + is taking place. A chair can always take the hum and then later ask + for specific folks to identify themselves to elicit more discussion. + The advantage of the hum is that it makes it perfectly clear that the + chair is simply figuring out the direction of the conversation. + + This also points to another misuse of any kind of informal polling: + If the chair is already convinced that the group has come to + consensus, there isn't much reason to take a poll. In fact, taking a + poll can serve to discourage those who might be in the minority from + voicing their concerns to the group in the face of a large majority + who wants to move forward. Often, the right thing for the chair to + do if they already sense consensus is to say, "It sounds to me like + we have consensus for choice A. Does anybody have any concerns about + or objections to going with A?" This allows folks to bring up issues + to the group that the chair might have mistakenly missed without + having them feel that the majority has "already spoken". + + The reverse situation can also have similar advantages and + disadvantages: Sometimes a chair (say, of a birds-of-a-feather + session, or a working group discussing a new proposed document) might + want to make sure that there really is a good base of support to go + forward with a proposal, and takes a hum. This can let the chair see + if there are more than a handful of active people who are really + interested in the new work. However, this has pitfalls as well: + Someone may be dissuaded from raising what could be an essential + concern if they feel that the group is overwhelmingly in favor of + going forward, or conversely some folks may decide to "hum along with + the crowd" even though they're not committed to the outcome. Indeed, + the formulation, or even the order, of questions asked during a hum + can have huge effects on the outcome: Asking simply, "Who supports + going forward with this proposal?", and asking it first, can itself + cause more people to hum in the affirmative than would for + differently formulated questions, or asking the same question after + some more "negatively" framed questions. Any sort of polling, + whether hums or even a show of hands, must be done with caution and + should almost always be used to prompt discussion and questions, not + to conclude the matter. + + There are times where the result of a hum is a pretty even split. In + practical terms, that means it doesn't matter where the chair starts + the discussion. And in fact, we've had working groups where a coin + + + +Resnick Informational [Page 12] + +RFC 7282 On Consensus June 2014 + + + flip decided which proposal to start with. That doesn't mean that + the coin flip determined the outcome; if a fatal technical flaw was + found in the solution that won the coin flip, it is still incumbent + upon the group to address the issue raised or abandon that solution + and find another. Rough consensus on the technical points, in the + end, is always required. Any way to find a place to start, be it the + hum or the coin flip, is only getting to the beginning of the + discussion, not the end. + +5. Consensus is the path, not the destination + + We don't try to reach consensus in the IETF as an end in itself. We + use consensus-building as a tool to get to the best technical (and + sometimes procedural) outcome when we make decisions. Experience has + shown us that traditional voting leads to gaming of the system, + "compromises" of the wrong sort as described earlier, important + minority views being ignored, and, in the end, worse technical + outcomes. + + Coming to consensus by looking for objections, tracking open issues, + and using hums as the start of discussions and not the end can all + take some patience. Indeed, sometimes objection-based or issue-based + decision making can be extremely difficult because there can be large + factions who have diametrically opposed views. And there is no doubt + that we do see some amount of political compromise (that is, the + undesirable kind of compromise) from time to time in the IETF. + + However, accepting these things has its price. When we decide that a + discussion is too factious and opt to simply go with a majority, it + creates more polarized arguments in the future: Instead of working + toward the best technical outcome that most everyone can accept, + people are much quicker to run to opposing sides and dig in to their + positions. And when we allow real technical issues to drop because + proponents have simply capitulated or have "horse-traded" to allow + other technical problems to remain, the end product is weaker. + Though the IETF can never be perfectly principled with regard to + rough consensus, failing to be vigilant about sticking to the + principles makes it increasingly hard to stick to them in the future, + and ends us up with worse technical output. + + Again, coming to consensus is not the goal in itself. Coming to + consensus is what we do during our processes to arrive at the best + solution. In particular, "declaring" consensus is not an end goal. + Attempts to declare consensus at the end of a discussion just for the + sake of being able to say that there is consensus often get us back + into the voting mentality that we're trying to avoid. + + + + + +Resnick Informational [Page 13] + +RFC 7282 On Consensus June 2014 + + + We often hear chairs say that they are making a "consensus call". + Sometimes, they simply mean they are making a call _of_ the + consensus; that is, they are declaring the consensus that has, in + their view, been reached when the discussion has reached an end. + That's a fine thing and what chairs are supposed to do: They are + "calling" the consensus. Sometimes, when a chair says that they are + making a "consensus call", the chair is actually making a call _for + discussion_ of a particular point in order to reach consensus. + Although it's a bit odd to call that a "consensus call" (as opposed + to a "call for discussion" or the like), it is fine for a chair to + occasionally identify a particular point of contention and get the + group to focus discussion on it in order to reach consensus. But + more and more often, we hear chairs say that they are making a + "consensus call" at the end of a discussion, where the chair will + pose the classic "Who is in favor of choice A? Who is in favor of + choice B?" questions to the working group. That's not really a + "consensus call", and has the same potential problems as the "hum" at + the end of a discussion: It can be tantamount to asking for a vote. + Even talk of "confirming consensus" has this problem: It implies that + you can confirm that there is consensus by counting people, not + issues. The important thing for a chair to do is to "call consensus" + in the sense of declaring the consensus; others can always object and + say that the chair has gotten the consensus wrong and ask for + reconsideration. However, the chair ought to be looking for + consensus throughout the discussion, not asking for it at the end. + + There are some times where chairs will ask a question or take a poll + toward the end of a discussion in order to figure out the state of + consensus, but this must be done with extreme caution. This is + discussed in the next section. + +6. One hundred people for and five people against might not be rough + consensus + + Section 3 discussed the idea of consensus being achieved when + objections had been addressed (that is, properly considered, and + accommodated if necessary). Because of this, using rough consensus + avoids a major pitfall of a straight vote: If there is a minority of + folks who have a valid technical objection, that objection must be + dealt with before consensus can be declared. This also reveals one + of the great strengths of using consensus over voting: It isn't + possible to use "vote stuffing" (simply recruiting a large number of + people to support a particular side, even people who have never + participated in a working group or the IETF at all) to change the + outcome of a consensus call. As long as the chair is looking for + outstanding technical objections and not counting heads, vote + stuffing shouldn't affect the outcome of the consensus call. + + + + +Resnick Informational [Page 14] + +RFC 7282 On Consensus June 2014 + + + So, in a large working group with over 100 active participants and + broad agreement to go forward with a particular protocol, if a few + participants say, "This protocol is going to cause congestion on the + network, and it has no mechanism to back off when congestion occurs; + we object to going forward without such a mechanism in place", and + the objection is met with silence on the mailing list, there is no + consensus. Even if the working group chair makes a working group + "last call" on the document, and 100 people actively reply and say, + "This document is ready to go forward", if the open issue hasn't been + addressed, there's still no consensus, not even rough consensus. + It's the existence of the unaddressed open issue, not the number of + people, which is determinative in judging consensus. As discussed + earlier, you can have rough consensus with issues that have been + purposely dismissed, but not ones that have been ignored. + + This brings us back to when a poll could be used (cautiously) at the + end of a discussion. Let's say a discussion has been ongoing for + some time, and a particular objection seems to be holding up the + decision. A diligent chair who's been carefully listening to the + discussion might think, "I have heard person X make this objection, + and I've heard responses from many other folks that really address + the issue. I think we have rough consensus. But the objection keeps + coming up. Maybe it's just the one person getting up again and again + with the same argument, but maybe we don't have rough consensus. I'm + not sure." At this point, the chair might ask for a hum. If only a + single hum objecting can be heard, even a loud one, in the face of + everyone else humming that the objection has been answered, the chair + has pretty good reason to believe that they heard the single + objection all along and it really has been addressed. However, to + say immediately after the hum, "It sounds like we have rough + consensus" and nothing else is at best being slipshod: What the chair + really needs to say at that point is, "I believe the only objection + we've heard is A (coming from person X), and I've heard answers from + the group that fully address that issue. So, unless I hear a + different objection than the one I've just described, I find that + there is rough consensus to move on." That leaves the door open for + someone to tell the chair that the objection was really on different + grounds and they misevaluated, but it makes it clear that the chair + has found rough consensus due to the discussion, not due to the hum. + Again, it's not the hum that ends things, it's that the issues have + been addressed. If the small minority (even one person) still has an + issue that hasn't been addressed, rough consensus still hasn't been + achieved. + + Even if no particular person is still standing up for an issue, that + doesn't mean an issue can be ignored. As discussed earlier, simple + capitulation on an issue is not coming to consensus. But even in a + case where someone who is not an active participant, who might not + + + +Resnick Informational [Page 15] + +RFC 7282 On Consensus June 2014 + + + care much about the fate of the work, raises a substantive issue and + subsequently disappears, the issue needs to be addressed before the + chair can claim that rough consensus exists. + +7. Five people for and one hundred people against might still be rough + consensus + + This one is the real mind-bender for most people, and certainly the + most controversial. Say there is a very small working group, one + with half a dozen truly active participants who are experts in the + field; everybody else is just following along but not contributing to + the discussion. The active folks come up with a protocol document + that they all agree is the right way forward, and people inside and + outside the working group agree that the protocol is likely to get + widespread adoption; it is a good solution to a real problem, even if + the non-experts don't have the ability to fully judge the details. + + However, one of the active members has an objection to a particular + section: The protocol currently uses a well-known algorithm to + address an issue, but the objector has a very elegant algorithm to + address the issue, one which works especially well on their + particular piece of hardware. There is some discussion, and all of + the other contributors say, "Yes, that is elegant, but what we're + using now is well-understood, widely implemented, and it works + perfectly acceptably, even on the objector's hardware. There is + always some inherent risk to go with a new, albeit more elegant, + algorithm. We should stick to the one we've got." The chair follows + the conversation and says, "It sounds like the issue has been + addressed and there's consensus to stick with the current solution." + The objector is not satisfied, maybe even saying, "But this is silly. + You've seen that my algorithm works. We should go with that." The + chair makes the judgement that the consensus is rough, in that there + is still an objector, but the issue has been addressed and the risk + argument has won the day. The chair makes a working group last call. + + Then, the worst-case scenario happens. The objector, still unhappy + that their preferred solution was not chosen, recruits one hundred + people, maybe a few who were silent participants in the working group + already, but mostly people who work at the same company as the + objector and who never participated before. The objector gets them + all to post a message to the list saying, "I believe we should go + with the new elegant algorithm in section Z instead of the current + one. It is more elegant, and works better on our hardware." The + chair sees these dozens of messages coming in and posts a query to + each of them: "We discussed this on the list, and we seemed to have + consensus that, given the inherent risk of a new algorithm, and the + widespread deployment of this current one, it's better to stick with + the current one. Do you have further information that indicates + + + +Resnick Informational [Page 16] + +RFC 7282 On Consensus June 2014 + + + something different?" And in reply the chair gets utter silence. + These posters to the list (say, some of whom were from the company + sales and marketing department) thought that they were simply voting + and have no answer to give. At that point, it is within bounds for + the chair to say, "We have objections, but the objections have been + sufficiently answered, and the objectors seem uninterested in + participating in the discussion. Albeit rough in the extreme, there + is rough consensus to go with the current solution." + + Though the above example uses the most extreme form of recruiting + sheer numbers of people (i.e., from the sales and marketing + department), the same principle should hold true no matter how new or + how credible the objectors seem: The chair is trying to discover + whether objections have been addressed or if there are still open + issues. If, instead of a bunch of sales and marketing people, the + new people to the conversation are developers or others who are + directly involved in creating the technology, or even folks who have + been participating the entire time whose knowledge of the technology + is not in question at all, the principle is still the same: If the + objection has been addressed, and the new voices are not giving + informed responses to that point, they can still justifiably be + called "in the rough". Of course, the more involved and knowledgable + the objectors are, the more difficult it will be for the consensus + caller to make the call, but a call of rough consensus is reasonable. + The chair in this case needs to understand what the responses mean; + only sufficiently well-informed responses that justify the position + taken can really "count". + + There is no doubt that this is the degenerate case and a clear + indication of something pathological. But, this is precisely what + rough consensus is ideally suited to guard against: vote stuffing. + In the presence of an objection, the chair can use their technical + judgement to decide that the objection has been answered by the group + and that rough consensus overrides the objection. Now, the case + described here is probably the hardest call for the chair to make + (how many of us are willing to make the call that the vast majority + of people in the room are simply stonewalling, not trying to come to + consensus?), and, if appealed, it would be incredibly difficult for + the appeals body to sort out. Indeed, it is likely that if a working + group got this dysfunctional, it would put the whole concept of + coming to rough consensus at risk. But still, the correct outcome in + this case is to look at the very weak signal against the huge + background noise in order to find the rough consensus. + + + + + + + + +Resnick Informational [Page 17] + +RFC 7282 On Consensus June 2014 + + +8. Conclusion + + Although this document talks quite a bit about the things chairs, + working groups, and other IETF participants might do to achieve rough + consensus, this document is not really about process and procedures. + It describes a way of thinking about how we make our decisions. + Sometimes, a show of hands can be useful; sometimes, it can be quite + damaging and result in terrible decisions. Sometimes, using a device + like a "hum" can avoid those pitfalls; sometimes, it is just a poorly + disguised vote. The point of this document is to get all of us to + think about how we are coming to decisions in the IETF so that we + avoid the dangers of "majority rule" and actually get to rough + consensus decisions with the best technical outcomes. + +9. Security Considerations + + "He who defends with love will be secure." -- Lao Tzu + +10. Informative References + + [Clark] Clark, D., "A Cloudy Crystal Ball - Visions of the + Future", Proceedings of the Twenty-Fourth Internet + Engineering Task Force, pages 539-543, July 1992, + <http://www.ietf.org/proceedings/24.pdf>. + + [RFC1603] Huizer, E. and D. Crocker, "IETF Working Group Guidelines + and Procedures", RFC 1603, March 1994. + + [RFC2418] Bradner, S., "IETF Working Group Guidelines and + Procedures", BCP 25, RFC 2418, September 1998. + + [Sheeran] Sheeran, M., "Beyond Majority Rule: Voteless Decisions in + the Religious Society of Friends", ISBN 978-0941308045, + December 1983. + + + + + + + + + + + + + + + + + +Resnick Informational [Page 18] + +RFC 7282 On Consensus June 2014 + + +Appendix A. Acknowledgements + + This document is the result of conversations with many IETF + participants, too many to name individually. I greatly appreciate + all of the discussions and guidance. I do want to extend special + thanks to Peter Saint-Andre, who sat me down and pushed me to start + writing, and to Melinda Shore for pointing me to "Beyond Majority + Rule" [Sheeran], which inspired some of the thinking in this + document. + +Author's Address + + Pete Resnick + Qualcomm Technologies, Inc. + 5775 Morehouse Drive + San Diego, CA 92121 + US + + Phone: +1 858 651 4478 + EMail: presnick@qti.qualcomm.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Resnick Informational [Page 19] + |