Postel’s Law

Postel’s Law is not a normal “law” in that it’s not an observation of behavior nor an inevitability of systems. Rather, Postel’s Law is an eponymous renaming of the Robustness Principle, a prescription for how to design software to follow a standard when it has to communicate with other software following the same standard:

“Be conservative in what you send, be liberal in what you accept.”

John Postel is given the naming credit for this principle for writing it into an early draft of the TCP specification. TCP is a multi-step process by which two computers on a network handshake and exchange data, ensuring that the data reaches its destination reliably and all parties involved are satisfied that it has happened. Because of the protocol’s complexity, and edge cases, implementors are instructed to try to avoid situations where they might cause bad behavior at the other end by sending unusual data, but also as receivers to handle data which is malformed if the meaning is clear.

Until his death in 1998, John Postel was a chief organizer of the Internet from an engineering perspective. He received his BS, MS, and PhD all from UCLA during the late 1960s and 1970s, at a time when UCLA was a development hub for ARPANET, the precursor to the Internet. Starting in 1970, Postel was the editor for the collection of documents that specifies standards and associated information for operating a computer on the Internet, known as Requests for Comments, or RFCs. The name is somewhat misleading, as by the time most of these documents are published as an RFC and assigned a number, they have already been commented on extensively and no further commentary is warranted.

Postel joined the Information Sciences Institute at USC in 1977 and did computer network research there until his death. During that time he also created the Internet Assigned Numbers Authority, served on the board of the Internet Society (of which he was also the first member), and administered the .us top-level domain.

Postel’s eponymous Law was first published in RFC 760, which established the TCP and IP protocols. Additionally, the announcement of Postel’s death was itself published as RFC 2468 (as in: who do we appreciate?).