Wednesday, September 28, 2011

The Robustness Principle

In August number of Communications of the ACM, ther is an interesting article by Eric Allman, sendmail author, in wich he presentes the limits for Robustenss Principle in implementing standards and the future problem it poses oin evolution of those standards.
I don't want to quibble about principle's limits but I'm intersted in the powerful of the principle applyed in other context.
The Robustness Principle ([2]) states that:

"be conservative in what you do, 
be liberal in what you accept from others."

 How powerful is that statement!

Here are one example in developing a new piece of software: developer must be conservative in using other modules and libraries strictly following the rules but can be liberal for example accepting parameters and treating them with default values instead returning errors (and documenting it of course!);

how much better would be our lives if everyone follow the rules but be tollerant (in some limits) with others!


[1]. The Robustness Principle Reconsidered, Eric Allman, http://cacm.acm.org/magazines/2011/8/114933-the-robustness-principle-reconsidered/fulltext
[2]. Transmission Control Protocol, RFC793, Par 2.10, http://www.faqs.org/rfcs/rfc793.html

1 comment: