Subject: Re: [Netconf] restconf and namespaces and unique module names.

From: Randy Presuhn <[email-masked]>
Date: Tue, 22 Sep 2015 14:30:31 -0700 (GMT-07:00)

Hi -

>From: Juergen Schoenwaelder <[email-masked]>
>Sent: Sep 22, 2015 11:58 AM
>To: Randy Presuhn <[email-masked]>
>Cc: "[email-masked]" <[email-masked]>
>Subject: Re: [Netconf] restconf and namespaces and unique module names.
...
>> >RFC 6020:
>> >
>> >   The names of all standard modules and submodules MUST be unique.
>> >   Developers of enterprise modules are RECOMMENDED to choose names for
>> >   their modules that will have a low probability of colliding with
>> >   standard or other enterprise modules, e.g., by using the enterprise
>> >   or organization name as a prefix for the module name.
>> >
>> >Apparently, both module names in the example violate this. Note that
>> >module names are used to resolve imports and hence they better are
>> >unique. For the IETF, we can manage that via the IANA registry. For
>> >the other modules, there is a clear recommendation.
>> 
>> A couple of questions on the RFC 6020 text cited...
>> 
>>   (1) is "standard modules" intended to include those from *all* SDOs?
>>  
>>   (2) "MUST" is normally used in situations where "if you don't
>>       do this this way, this protocol/process won't work correctly."
>>       If that is indeed so for standard modules, why is it not
>>       also true for enterprise modules?  That is, what is different
>>       about enterprise modules that allows them to operate correctly
>>       without the "MUST"?
>> 
>> I suspect this language may have been (subconsciously) borrowed from
>> the conventions for SMI module names which, unlike Yang module names,
>> don't show up in the corresponding protocols.
>>
>
>You may propose alternative wording. Yes, the wording has been
>borrowed from SMI specifications and for resolving imports SMI module
>names better are unique as well. Also note that YANG module names only
>show up in the JSON encoding on the wire, not im XML. But they are
>also used to annouce capabilities - so they better be unique, as the
>text says.

If the JSON encoding will be around for a while, then I'd suggest
the following revision:

OLD:
  The names of all standard modules and submodules MUST be unique.
  Developers of enterprise modules are RECOMMENDED to choose names for
  their modules that will have a low probability of colliding with
  standard or other enterprise modules, e.g., by using the enterprise
  or organization name as a prefix for the module name.

NEW:
  The names of all modules and submodules MUST be unique.

Randy

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 28 Sep 2015 11:21:43 +0200

>   The names of all modules and submodules MUST be unique.

Randy,

since this proposal affects YANG itself, it would be nice if you can
make this suggestion on the NETMOD mailing list so we have the
discussion recorded in the right email archive.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>