- From: Cuihtlauac ALVARADO <cuihtlauac.alvarado@orange.com>
- Date: Tue, 17 Apr 2012 15:51:10 +0200
- To: public-coremob@w3.org
Hi Tobie, Allow me to express my disagreement with respect to that change, and such kind of change in general. I share your interpretation of RFC 2119. "MUST" is an unconditionally requirement while "SHOULD" is a conditional requirement (i.e. "there may exists valid reasons [...] to ignore [...]"). Replacing "MUST if" by "SHOULD" is formally correct. However, in practice, "MUST if" is far superior to "SHOULD", the former should be preferred. Let me explain why. Basically, the "MUST if" clause comes with text which details the circumstances under which the requirement does apply, while "SHOULD" does not. In our case, we absolutely do not want a device which has a SMS app and the agent is *not* capable to trigger that SMS app using the sms: scheme. That must be avoided. We really want the URI scheme to be dispatched always, unless sending SMS is not possible. This was captured by "MUST ... (if available)", it is no longer by "SHOULD". From test implementation perspective, the "MUST if" is easily turned into a real conditional statement, in contrast, it is impossible to decide, at test execution time, whether failing to comply with a "SHOULD" is actually valid or not. In practice, "SHOULD" and "MAY" are the same. "MAY" is good for options. When "MUST" has valid exceptions, positive cases should be detailed in "MUST if" sentences. "SHOULD" MUST be avoided ;-) Cheers. https://github.com/coremob/level-0/commit/df3f70c21256bac250e3d5c7b14d9811968266af
Received on Wednesday, 18 April 2012 12:04:03 UTC