3 ms·
What is the point of SHOULD then? (No seriously, I’m asking; are there examples of where it’s actually different from a MUST)? Also this reminds me of somethi
by Waterluvian 9mo ago
What is the point of SHOULD then?
(No seriously, I’m asking; are there examples of where it’s actually different from a MUST)?
Also this reminds me of something I read somewhere a long time ago: when specifying requirements don’t bother with SHOULD. Either you want it or you don’t. Because if it’s not a requirement, some people won’t implement it.
I guess the one time it’s good is if you want an optional feature or are moving towards requiring it. In this case Google has decided it’s not an optional feature.
- jagged-chisel 9mo agoMUST means omission is unacceptable. SHOULD means MUST unless you have a good, well-reasoned excuse.
- Brian_K_White 9mo agoIncorrect. Not required is not required. You do not need to supply rationale or get agreement by anyone else that your reasons are good in their opinion and not just in your opinion. Should just means the thing is preferred. It's something that is good and useful and helpful to do. That is not "must unless you can convince me that you should be excused".
- jagged-chisel 9mo agoRFC2119 “ SHOULD This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.”
- Brian_K_White 9mo agoI don't know if you thought you were validating or invalidating my argument, but this says exactly what I said. Further, not only the presense of the words "should" and the doubling down with "recommended", also the absense of the words "must" or "required" or "shall" is pointed. Because those words are used elsewhere. When something is actually required, those words are used, and so when they are not used, it is meaningful. It means no one is free to put their own words into the authors mouths and say "well they didn't say it but obviously they pretty much meant required" when they so pointedly chose not to say required. And it's not a technicality. A thing either is or is not required. There are no other states. The spec does not require it, and so for Google to require it, Google is not adhering to the spec. Since the spec does not require it, you can't say either that it falls under "full implications". "full implications" cannot include "Some servers might require it", because that would be circular logic. No server can require it in the first place.
- spongebobstoes 9mo agoSHOULD generally means: some people might require it. implement it for best results backward compatibility makes it hard to add MUST. using SHOULD is a good alternative
- Brian_K_White 9mo ago"SHOULD generally means: some people might require it." No it absolutely does not mean that. It means, by explicit definition which is right here, that text is exactly that definition, that no one requires it. They can't require it, and still be conforming to the spec or rfc. That's the entire point of that text is to define that and remove all ambiguity about it. It's not required by anyone. The reason it's there at all, and has "should" is that it's useful and helpful and good to include, all else being equal. But by the very definition itself, no people require it. No people are allowed to require it. Any that do, are simply violating the spec.
- spongebobstoes 9mo agothe spec doesn't include an obligation to deliver your mail. it parses fine, and is rejected by the larger system > the full implications must be understood and carefully weighed
- nailer 9mo ago“When jump getting over a wall, you SHOULD use three points of contact.” For most cases you should use three points of contact. However, there may be other situations for example if someone is giving you a leg up, or you can pole vault, where another solution is preferred.
- phicoh 9mo agoTypically, MUST means that if you don't do that then something will break at the protocol level. SHOULD means that if you don't that, bad things are likely to happen, but it will not immediately break at the protocol level and during discussion in the IETF some people thought there could be valid reasons to violate the SHOULD. Typically, IETF standards track RFCs consider the immediate effects of the protocol but often do not consider operational reality very well. Sometimes operational reality is that a MUST gets violated because the standard is just wrong. Sometimes a SHOULD becomes required, etc. Certainly for email, there is a lot you have to do to get your email accepted that is not spelled out in the RFCs.
- jolmg 9mo agoI SHOULD have 8 hours of sleep every night. It's RECOMMENDED. However, there are times where it's best I don't (e.g. because of work, or travel, or needing to take someone to the hospital, etc.). It's definitely not that I MUST sleep 8 hours every night.
- bawolff 9mo agoYeah, and sometimes if you pull an all nighter bad things happen as a result of lack of sleep. So it is an apt metaphor.