Re: [poe] ODRL Profiles & RFC2119

> It means "IF you implement X, then you MUST do it this way"

Which is not what [4.2 Requirements](http://w3c.github.io/poe/model/#profile-requirements) says though:

> The profile property in a Policy is used to indicate the identifier (IRI) of the ODRL Profile for which the Policy expression conforms to. **This property is OPTIONAL, but if the property appears, then _any_ consuming system _MUST_ understand the identified ODRL Profile and _all_ the constraints in the ODRL Profile _MUST_ apply to the Policy expression.**

_"any consuming system"_ != _"any consuming system that supports/implements given profile"_
Actually, it's even contradicting itself as it continues on with stating that:

>  **If a consuming system _does not understand_ the ODRL Profile, then _it MAY continue processing_ the Policy expression,** but it SHOULD NOT assume it has interpreted the Policy expression correctly. 

Since it's required that **any** consuming system **MUST** understand the identified Profile, any system that doesn't, doesn't conform to the spec. 

see https://www.ietf.org/rfc/rfc2119.txt:

>1.) **MUST**   This word, or the terms "REQUIRED" or "SHALL", mean that the
   definition is **an absolute requirement of the specification**.
>
>3.) **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.
>
>5.) **MAY**   This word, or the adjective "OPTIONAL", mean that **an item is
   truly optional.**  [..] 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.)**

renato:
> Other recent specs use RFC2119 terms in non-normative sections:

Unfortunately, yes.. But they make it very clear to whom those requirements apply to and/or don't use MUST:

https://www.w3.org/TR/2017/PR-activitystreams-vocabulary-20170413/#places:

> While **publishers are not required to use these specific properties** and MAY make use of other mechanisms for describing locations, consuming **implementations that support the Place object MUST support the use of these properties.** 

- publishers are not required to use these specific properties
- only implementations that support the Place object MUST support the use
---------------------
https://www.w3.org/TR/annotation-model/#additional-media-types-selector-combination:

> The table below contains some other, possible combinations of media types and selector types, **which MAY be implemented but are not mandated by this specification**.

- MAY be implemented but not mandated by the spec
---------------------
https://www.w3.org/TR/activitystreams-core/#activitystreams-1.0:

> The terms displayName, verb, title and objectType should be treated as reserved terms that **SHOULD NOT be used** within Activity Streams 2.0 documents. When encountered in an Activity Streams 2.0 document, **they SHOULD be processed** in accordance to the guidelines listed in ..

- SHOULD NOT be used 
- if encountered they SHOULD be processed according to the guidelines 
---------------------
> @simonstey What should be updated in that paragraph?

1. don't require **any** implementation to be able to understand/process profiles 
2. s/MUST/SHOULD/
3. (move the whole section on ODRL Profiles into their own WG Note :) )


-- 
GitHub Notification of comment by simonstey
Please view or discuss this issue at https://github.com/w3c/poe/issues/172#issuecomment-300699908 using your GitHub account

Received on Thursday, 11 May 2017 06:56:21 UTC