2

I'm wondering about the scope of the interpratation of the RFC 2119's MAY word.

Let's take an example:

The yellow button of the system MAY be stop the process.

In this phrase, according to the definition of MAY, the yellow button of the system is optional. This mean we can have a system A which have this button, and also a system B which don't have it, and they both are covering the requirement of the phrase. Because this yellow button is optional.

But is it possible to respect the requirement of the phase with this third case:

The system C have a yellow button which start a music.

According to the RFC 2119's MAY word definition, do you think that the system C is following the requirement of the phrase?

Edit:

In other words, is it possible to respect this requirement:

The yellow button of the system MAY do foo.

...with a system C which have a yellow button that do bar (instead of foo)?

Zag zag..
  • 6,041
  • 6
  • 27
  • 36
  • Q: is it possible to respect this requirement: ... [with] bar (instead of foo)? A: No, not unless "bar" is explicitly given as one of the options. Otherwise, "May" means implement the specified action/feature or not". – FoggyDay Feb 19 '15 at 06:50

1 Answers1

2

Short answer: "Yes".

RFC 2119:

  1. MAY This word, or the adjective "OPTIONAL", mean that an item is truly optional. One vendor may choose to include the item because a
    particular marketplace requires it or because the vendor feels that
    it enhances the product while another vendor may omit the same item.
    An implementation which does not include a particular option MUST be
    prepared to interoperate with another implementation which does
    include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option
    MUST be prepared to interoperate with another implementation which
    does not include the option (except, of course, for the feature the
    option provides.)

Note these three points:

1) "May" means "Optional" - the system can implement the yellow button, or not implement it. Either way: OK.

2) System A (which implements) the yellow button must be able to interoperate with System B (which doesn't).

3) Conversely, System B must be able to interoperate with System A.

Q: Make sense?

FoggyDay
  • 11,962
  • 4
  • 34
  • 48
  • Yes it is make sense, and I was agree with this. But I'm wondering about the case of the _System C_. What would you think about? – Zag zag.. Feb 17 '15 at 17:08
  • I'm not sure I understand your question. Since System C has a yellow button, it confirms. Correct? And it's completely irrelevant whether pressing the yellow button plays music, correct? – FoggyDay Feb 17 '15 at 17:13
  • The _System C_ have a yellow button but its expected effect is different than the phrase. Instead of stoping the process it is starting a music. – Zag zag.. Feb 18 '15 at 00:31
  • I simplified my question in "Edit" section. – Zag zag.. Feb 18 '15 at 03:11