I just recently heavily refactored a lib [1] and looked a lot at two RFCs from 2013.<p>I don’t know how representative they are, but overall I got the impression that it’s a lot better than casual specs and academic papers, and good language. Another huge plus is that they don’t change every week, and are published publicly.<p>But at the same time, these ones were unnecessarily complex and with too few examples/pseudo-code, which leaves quite a bit of room ambiguity and implementation divergence.<p>I used to think RFCs were impenetrable and superhuman, but now I see it as a bit more mortal. If anything, I think simplicity is the best cure for interop issues – and that includes reducing the amount of knobs. Writing a spec in natural language is certainly a good exercise that can feed back into – and help simplify – the implementation as well.<p>[1]: <a href="https://github.com/betamos/zeroconf">https://github.com/betamos/zeroconf</a>