>> that seems a very reasonable principle for *prototype* and >> *experimental* implementations, and a lousy one for production >> code, where the response to malformed messages should be much >> more nuanced; > > +1 > > Put another way - > > the goal of a _specification_ is to coordinate the actions of > multiple, independent implementors, across different circumstances, > environments, depths of knowledge, etc. etc. etc. > > The goal of an _implementation_ is to serve its users as best as it > can when that coordination is not quite perfect. > > These are decidedly not the same thing. the problem with do-gooder software is that when it tries and fails, you may or may not know it, but it is a real mess. and usually the do-gooder receiver is blamed. when it succeeds, no one says thanks, and the incorrect sender goes on to find some other implementation to break. at a minimum, the do-gooder receiver needs to notify the operator that things are broken. randy, with a respectful nod to erik naggum