[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [OASIS Issue Tracker] (MQTT-145) MAY/may contain inconsistent usage - 1 known, others need researching
[ https://tools.oasis-open.org/issues/browse/MQTT-145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=36899#comment-36899 ] Richard Coppen commented on MQTT-145: ------------------------------------- TC accept proposal, TC call 20.03.2013 > MAY/may contain inconsistent usage - 1 known, others need researching > --------------------------------------------------------------------- > > Key: MQTT-145 > URL: https://tools.oasis-open.org/issues/browse/MQTT-145 > Project: OASIS Message Queuing Telemetry Transport (MQTT) TC > Issue Type: Bug > Components: core > Affects Versions: 3.1.1 > Environment: Keywords > Reporter: Patrick Durusau > > Section 3.8.3 Payload reads in part: > ***** > The Topic Filters are UTF-8 encoded strings, which *MAY* contain special wildcard characters to represent a set of topics, see Section 4.7.1. > ***** > Whereas 4.7.1 reads: > ***** > A subscription's Topic Filter *may* contain special wildcard characters, which allow you to subscribe to multiple topics at once. > ***** > The difference between "MAY" and "may" for interoperability is substantial: > Under RFC2119, MAY is defined as: > ***** > 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.) > ***** > So the first "MAY" has an interoperability requirement between applications that support or don't support the use of wildcards to select sets of topics. > However, that interoperability requirement is *lost* in 4.7.1, which uses the lowercase "may," according to The RFC Style Guide, http://www.rfc-editor.org/rfc-style-guide/rfc-style, which reads in part: > ***** > To simply specify a necessary logical relationship, the normal lower-case words should be used. On the other hand, if the capitalized words are used in a document, choose and use them carefully and consistently. > ***** > The short version: MAY requires interoperability, may does not require interoperability. > I mention this because the specification uses MAY 21 times and may 39 times. I suggest that you carefully compare all uses of MAY/may to eliminate further conflicts like this one. -- This message was sent by Atlassian JIRA (v6.1.1#6155)
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]