Guido van Rossum writes:
You've been staring at standards too much, haven't you? The difference between MUST and SHOULD isn't as clear-cut as most standards people use them.
Most standards define MUST and SHOULD very specifically, and then use them according to those definitions. There's an IETF RFC specifically for use in writing RFCs, allowing those terms to be defined by reference. A number of W3C specs seems to be using this definition-by-reference as well, with the same RFC providing the actual definitions.
I think we'd do well to accept a specific definition of these terms and use them consistently, simply to make our documentation (including docstrings) easier to understand.