Let me ask you a question about IETF and standards. How many do you think there are ? Many thousands or a few thousands ? Maybe a few hundred ?
As of today there are more than 7000 RFCs. RFC is short “Request for Comments” and thus a proposal or an idea for a standard.
An RFC is almost always not a standard, most of them are comments and most of them are proposals that failed and have no standing. Some RFCs are simply “suggestions” that are observed by all vendors because customers demand them.
Very Few Actual Standards
In fact less than 96 RFCs are actually fully approved standards. And only 11 RFC standards have been approved in the last FIVE years and NONE of them are networking related.
This leads to the question about the importance of standards. The IETF is best defined by this quote:
We reject kings, presidents and voting. We believe in rough consensus and running code. Dave Clark, IETF
In conversation with David Meyer recently, he told that even this quote was buried in the footnotes of a very long report. I found this presentation Future of Internet 1992 by Dave Clark where the line is right at the bottom of Page 19.
How Does the IETF Work
The IETF doesn’t define standards, it is more like a forum where people can agree on most of the important details. In practice rough consensus means that most people don’t disagree. It’s usually not true that everyone agrees or supports a given RFC but it’s usually true that most people don’t disagree enough to tear it down.
If people disagree, three things can happen. One, they keep arguing & debating until the points of disagreement are solved and the RFC will progress to the next step. Or, two, the RFC just sort of hangs around like a bad smell in a zombie state. Or, three, it will actively be deprecated if the idea is provably bad, dumb or damaging.
More importantly, if most people do agree then the standard often loses momentum as key people move to other more interesting projects. Russ White is a veteran of the IETF process confirms this. He says “If something is popular, it won’t get a lot of discussion. What happens, instead, is the process sails along, mostly with ”+1“ and ”support“ as the primary comments. That’s pretty rare in the real world, but Yakov has a couple of drafts out right now that are sailing through.”
This is more or less the same process that happens in most of the enterprises that I have worked in. There are always three broad categories of project. The obviously needed projects get funded & resourced since everyone can easily agree to them. These are desperately overdue or mandated from ‘on high’.
The next tier of projects take some debate to get everyone onboard and often require changes or modifications until most people are happy. Typically, these are upgrade projects for bigger, faster or better.
The last tier of projects are most commonly for domain specific uses or the “good to have”. Projects like upgrading the network management platform, Spare controller for storage arrays and some extra capacity in the virtualization server farm.
The EtherealMind View
I take the view that the IETF is an organisation that acts and delivers at about the same quality level as a typical Enterprise IT team. Which is to say not everyone knows what is happening, the documentation isn’t always up to date, and everyone is doing their best. Equally, not everyone knows what is going on, many people never document anything, and some people’s “best” isn’t very good.
IETF committees are open to anyone but the reality is that voices that are known and trusted by other participants have the greatest influence.
You could also say that a multi-billion dollar industry relies on a fragile basis for its best innovations. That would be true. But equally, there are no other suggestions on how to fix this. The ITU proved a complete failure in the 1980’s with it’s rigid process. The IEEE 802.1 standard process shows that a science project approach slows innovation to a crawl and prevents technology from emerging.
And before you criticise networking standards (hello VMware NSX execs!), you should also take a close look at who defines standard for storage or compute and realise that those organisations are equally functional/dysfunctional.
More information on the IETF – RFC 2026 “The Internet Standards Process – Revision 3 – at least, I think this is the latest version of this RFC. Whatever.
Some of the Best Practices document are the best technical resources you will ever find. Worth taking a look – Best Current Practices Link