Postel's Robustness Principle is not the only way to build successful systems. Sometimes other considerations trump robustness: for example, security. And I don't think that content negotiation ties in neatly with the Robustness principle: exchange capabilities and figure out what you both know seems to be an alternative approach. And XML drew a line in the sand at container syntax and encoding, but loosened up on strong document type.
But I see three very different interpretations of the Robustness Principle being used:
* One mob uses it to mean that you should not fail on bad or unexpected data: don't pass it, just log it. For example, RFC 112
Software should be written to deal with every conceivable error, no matter how unlikely
* Another mob use it means that you limit yourself to send a small subset of a standard based on popularity of implementation, but discipline yourself to implementing the full standard when reading. This is also in RFC 112.
* But another mob use it to mean you don't make any errors when you send, but you try to cope with as many errors as you can when receiving. (I think this was Aaron Schwarz's position --see Postel's Law has no exceptions--, and my old comments that HTML was as much an error-recovery strategy as as a syntax --therefore XML-style WF was inappropriate to replace HTML for casual use-- falls somewhere there too.)
The systems that would be generated by each interpretation will have very different properties: you could implement the third kind yet ignore the second kind, for example. I think it would be a shame if the third interpretation excluded the first two in our considerations. And it is possible that all the virtues of one might not even apply to the others. RFC 1122 says of the first kind:
In general, it is best to assume that the network is filled with malevolent entities ... This assumption will lead to suitable protective design
Saying that the robustness principle mandates a "severely prescriptive design" seems hard to reconcile with the third interpretation: it seems its exact opposite!
There is a good blog entry at
http://www.win-vector.com/blog/2010/02/postels-law-not-sure-who-to-be-angry-with/
This fits in with the second conception of robustness rather than the first, however.