Interesting. I thought I wanted something like this, but the problem with RFCs is the archaic writing style. It's hard to understand the details of a low-level network protocol when you also have to remember their redefinitions of words like SHOULD, MUST, MAY, MIGHT, PERHAPS, QUITE POSSIBLY and sort through ASCII art that is split across multiple pages. (The standards are also excessively wordy and poorly organized.…
> the problem with RFCs is the archaic writing style
I'll admit, reading standards is more difficult than reading regular prose, it is nearly impossible to use language precisely without getting too verbose. Languages, and English especially, are full of little ambiguities; even simple words like "or" have more than one meaning! This doesn't quite cut it when it comes to specifications. If the spec is ambiguous then it's possible for two different implementors two come up with incompatible implementations, which kinda ruins the point of a spec. Try to think of RFCs (and standards in general) as the legalese of the software world. They're more verbose than you're used to, but that's necessary.
>have to remember their redefinitions of words like SHOULD, MUST, MAY...
Let's take a look at RFC2119 [1], where these terms are defined. The word "MUST" means you must do something, the word "SHOULD" means you should do it, but you aren't required to, and the word "MAY" means you could if you wanted to, but aren't required to. Well... that's what those words mean in English too! Are you really complaining that you must know English in order to read English?
The only slightly confusing word is SHALL, which is fairly uncommon in modern English. Even SHALL has not been redefined though, in RFCs it means exactly what it means anywhere else.
> And if you think the problem is just me, try finding any piece of software that actually correctly implements any RFC spec :)
Adding a smile to the end of your sentence doesn't make it any less stupid or wrong. Almost everything you touch today when using the internet is defined by an RFC. ARP (RFC826) is dead simple, and has been correctly implemented for decades. TCP (RFC793) admittedly took a few revisions to get right, but if it wasn't correctly implemented we wouldn't be able to have this conversation. Come up with your own examples, there are plenty more. If you think engineers are so stupid they don't know how to understand text which is a slightly more verbose than usual you have a pretty low opinion of humanity.
> So basically, the all text format of RFCs is the least of their problems.
Have you ever tried to read a spec which is actually difficult, like c++ [2]? Specifying a language is at least an order of magnitude more difficult than specifying a protocol or "best practice", and it shows in how dense language specifications are. RFCs are pretty damn readable, I often browse through them for entertainment.
> (I wonder how many people die every year because the National Weather Service issues tornado warnings in ALL CAPS with VROUS ABREVS throughout the text. Computers can do lowercase now, guys...)
Once again, you must have a pretty low opinion of humanity to think we don't know how to read abbreviations or uppercase characters.
1: http://www.ietf.org/rfc/rfc2119.txt 2: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n333...