====== Postel's Law ====== ===== Variants and Alternative Names ===== * General Principle of Robustness (not to be confused with Eric S. Raymond's [[principles:Rule of Robustness]]) ===== Context ===== /* fill in contexts here: */ * [[contexts:Object-Oriented Design]] * [[contexts:API Design]] ===== Principle Statement ===== > "Be conservative in what you do, be liberal in what you accept from others."((Jon Postel: //[[http://tools.ietf.org/html/rfc761|RFC 761: Transmission Control Protocol]]//)) ===== Description ===== ===== Rationale ===== ===== Strategies ===== ===== Caveats ===== See section [[#contrary principles]]. ===== Origin ===== ===== Evidence ===== /* Comment out what is not applicable and explain the rest: */ /* * [[wiki:Proposed]] * [[wiki:Examined]] * [[wiki:Accepted]] * [[wiki:Questioned]] */ ===== Relations to Other Principles ===== ==== Generalizations ==== ==== Specializations ==== ==== Contrary Principles ==== * [[principles:Fail fast]] (FF): While FF is (amongst others) about checking for erroneous parameters, Postel's Law is about not being too strict with parameters. It says that the design should allow for uncommon or strangely arranged (yet meaningful) input data. This does not contradict FF as Postel's Law does not demand to process meaningless or erroneous data. ==== Complementary Principles ==== * [[principles:Principle Of Least Surprise]] ==== Principle Collections ==== ===== Examples ===== ===== Description Status ===== /* Choose one of the following and comment out the rest: */ [[wiki:Stub]] /*[[wiki:Incomplete]]*/ /*[[wiki:Complete]]*/ ===== Further Reading ===== * [[wp>Robustness principle]] * Jon Postel: [[http://www.postel.org/ien/txt/ien111.txt|Internet Protocol]] * Martin Fowler: //[[http://martinfowler.com/bliki/TolerantReader.html|Tolerant Reader]]// * Joel Spolsky: //[[http://www.joelonsoftware.com/articles/fog0000000306.html|A Hard Drill Makes an Easy Battle]]// * Eric S. Raymond: //[[http://www.catb.org/~esr/writings/taoup/html/ch01s06.html#id2878538|The Art of Unix Programming: Rule of Repair]]// ===== Discussion ===== Discuss this wiki article and the principle on the corresponding [[talk:principles:Postel's Law|talk page]].