Skip to main content
1 of 4
Mike Nakis
  • 32.7k
  • 7
  • 80
  • 116

According to Wikipedia, Postel's law was named after Jon Postel, who wrote an early specification of TCP. The "law" summarizes his advice to the engineers who built the early Internet from scratch.

It is true that the application of Postel's law in early browsers led to a terrible, terrible mess, but it has been argued (for example here: Trevor Jim - Postel’s Law is not for you) that the World Wide Web (and perhaps the entire Internet) could not have materialized, or it would not have been as successful as it was, if Postel's law had not been applied in those early days.

Same thing with SIP as mentioned in another answer.

So, what we have here is a bit of a paradox: as disastrous as silent failure generally is, it might perhaps be beneficial when multiple competing parties are all working each on their own implementation of a certain technology without a complete and unambiguous standard in place for that technology.

However, that's a very rare situation to be in. The vast majority of software developers today are not working under such terrible conditions. Web browsers have switched from following Postel's law to refusing to render malformed content. (Albeit still without issuing a stop-the-world error message.) It is therefore inadvisable for the vast majority of developers today to be following Postel's law or engaging in any form of silent failure, bug hiding, or wannabe fault tolerance.

Fault tolerance isn't.

My two cents on how humanity could avoid getting into similar situations in the future: a committee producing a specification on paper is an amusingly traditional, dangerously low-tech, and woefully inadequate way of doing things. A specification for a technology is not worth the paper it is written on if it does not come together with a Reference Implementation.

The great thing about Reference Implementations is that they do not have to abide by the usual real world constraints of weight, dimensions, manufacturability, (let alone mass-manufacturability,) cost effectiveness, etc (heck, in many cases they do not even have to be physical!) so they are free to focus on enforcing the standard.

There is no piece of prose written on a specification that is as unambiguous as a corresponding piece of reference implementation that enforces it.

Mike Nakis
  • 32.7k
  • 7
  • 80
  • 116