On 10/7/24 12:14, Rick Troth wrote:
Postel's rule ... "be conservative in what you send, be liberal in what you
accept"?
I firmly agree with this because it leads to solid interoperability. (Many refer to it as
"the robustness principle".)
Is that the one you disagree with?
.
I disagree with Postel's second clause. It undermines interoperability:
<https://en.wikipedia.org/wiki/Robustness_principle>
Criticism
In 2001, Marshall Rose characterized several deployment problems
when applying Postel's principle in the design of a new application
protocol.[4] For example, a defective implementation that sends
non-conforming messages might be used only with implementations
that tolerate those deviations from the specification until,
possibly several years later, it is connected with a less tolerant
application that rejects its messages. In such a situation,
identifying the problem is often difficult, and deploying a
solution can be costly. Rose therefore recommended "explicit
consistency checks in a protocol ... even if they impose
implementation overhead".
...
In 2023, Martin Thomson and David Schinazi argued that Postel's
robustness principle actually leads to a lack of robustness,
including security:[6]
A flaw can become entrenched as a de facto standard. Any
implementation of the protocol is required to replicate the
aberrant behavior, or it is not interoperable. This is both
a consequence of tolerating the unexpected and a product of a
natural reluctance to avoid fatal error conditions. Ensuring
interoperability in this environment is often referred to as
aiming to be "bug-for-bug compatible".
--
gil