Postel's law
“Be conservative in what you do, be liberal in what you accept from others.”
- Jon Postel ‘81
Sometimes referred to as "the robustness principle" as originally stated in RFC 793 (TCP/IP) where Jon Postel was a major contributor. Jon Postel also contributed massively to the overall development of the Internet and his thinking and mindset was a fundamental enabler of making various systems from different vendors to operate in a functional manner. As systems are growing in complexity and system dependencies are increasing it becomes ever more important be able to operate in situations where the system is pushed or stressed in various ways.
From a basic product or team perspective this principle means that conforming to standards is not enough. Each participant in complex system design must also apply themselves to mitigate flaws without causing additional efforts to other parties. You should have the mindset to be a good citizen of the ecosystem. There is no conflict in this mindset and helping other systems to better conform to standards and helping other teams to improve their software.
Side effects to this thinking when poorly applied can be overly lenient acceptance of input leading to security issues. Robustness without transparency in how the system operates can introduce complexities in diagnosing issues.
- Jon Postel ‘81
Sometimes referred to as "the robustness principle" as originally stated in RFC 793 (TCP/IP) where Jon Postel was a major contributor. Jon Postel also contributed massively to the overall development of the Internet and his thinking and mindset was a fundamental enabler of making various systems from different vendors to operate in a functional manner. As systems are growing in complexity and system dependencies are increasing it becomes ever more important be able to operate in situations where the system is pushed or stressed in various ways.
From a basic product or team perspective this principle means that conforming to standards is not enough. Each participant in complex system design must also apply themselves to mitigate flaws without causing additional efforts to other parties. You should have the mindset to be a good citizen of the ecosystem. There is no conflict in this mindset and helping other systems to better conform to standards and helping other teams to improve their software.
Side effects to this thinking when poorly applied can be overly lenient acceptance of input leading to security issues. Robustness without transparency in how the system operates can introduce complexities in diagnosing issues.
Jon Postel
Comments
Post a Comment