A daily dose of software engineering wisdom - inspiring, thought provoking, and sometimes just plain dangerous.

Tags: robustness principle
Inspiration: Jon Postel

*Internet Robustness Principle*

Software communicating to other software should follow the Internet Robustness Principle:

"Be liberal in what you accept, and conservative in what you send"

---
The implementation of a protocol must be robust. Each implementation must expect to interoperate with others created by different individuals. While the goal of this specification is to be explicit about the protocol there is the possibility of differing interpretations. In general, an implementation should be conservative in its sending behavior, and liberal in its receiving behavior. That is, it should be careful to send well-formed datagrams, but should accept any datagram that it can interpret (e.g., not object to technical errors where the meaning is still clear).
---
From RFC 760 "DOD STANDARD INTERNET PROTOCOL" (1980).

See also: http://ironick.typepad.com/ironick/2005/05/my_history_of_t.html

Last published: Tuesday 23rd March 2010

<<Previous     Next>>

carriagereturn.org home