2 ms·
I think both of these philosophies represent extremes. This means Forgive all mistakes: Be liberal in what you accept, and conservative in what you send This
by sytelus 11y ago
I think both of these philosophies represent extremes.
This means Forgive all mistakes:
Be liberal in what you accept, and conservative in what you send
This means forgive no mistakes:
Protocol designs and implementations should be maximally strict.
I would suggest an alternative,
Forgive most mistakes, but always let them know they did made mistake:
Be conservative in what you send, and as liberal as possible in what you accept but always let them know what they could have done better
- eridius 11y agoDoes that solve interoperability though? If you accept it and let them know, you're still accepting it, meaning you're still going to tolerate that protocol implementation continuing its bad behavior in the future. And if the protocol implementation becomes widely-used, then we have the exact same maintenance issue as we do with Postel's Maxim.