<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.13 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-lear-opsawg-ol-01" category="std" updates="8520">

  <front>
    <title abbrev="Owner and Licensing Statements">Ownership and licensing statements in YANG</title>

    <author initials="E." surname="Lear" fullname="Eliot Lear">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Richtistrasse 7</street>
          <city>Wallisellen</city>
          <code>CH-8304</code>
          <country>Switzerland</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>lear@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <email>cabo@tzi.org</email>
      </address>
    </author>

    <date year="2021" month="May" day="27"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This memo provides for an extension to RFC 8520 that allows
MUD file authors to specify ownership and licensing of MUD
files themselves.  This memo updates RFC 8520.  However, it
can also be used for purposes outside of MUD, and the grouping
is structured as such.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t><xref target="RFC8520"/> Manufacturer Usage Descriptions (MUD) can be used to
describe devices and their requirements to the network infrastructure.
The original version of the specification does not provide for a
means to specify ownership and licensing of the MUD file itself.  This
can hinder those wishing to use, modify, or adapt MUD files for the
purpose of offering them, when the manufacturer is not involved.</t>

<t><list style="symbols">
  <t><spanx style="strong">Issue</spanx>: Should this be an owner or an originator?</t>
</list></t>

<t>To avoid any confusion, we define an extension that allows for
specifying of owners and licensing terms for MUD files.</t>

<t>Those generating MUD files SHOULD use this extension, and
thus this extension updates RFC 8520.</t>

<t>There are two ways to specify a license: a URL pointing to the license
itself or an SPDX tag <xref target="SPDX"/>.  If an SPDX tag is supplied consumers
MUST interpret that tag through its meaning as specified by <xref target="SPDX"/>.</t>

<t><list style="symbols">
  <t><spanx style="strong">Issue</spanx>: Should we simply say that a URI contains a colon and SPDX
license identifier doesn’t?</t>
</list></t>

<t>This grouping may be used for other YANG models that reside as
static objects.</t>

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL
NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”,
“MAY”, and “OPTIONAL” in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
<section anchor="the-owner-license-extension-and-model" title="The owner-license extension and model">

<t>Because the model is primarily motivated by MUD, and based
on the way that YANG trees are formed, the model appears as
an augmentation for MUD.</t>

<figure><artwork><![CDATA[
module: ietf-ol

  augment /mud:mud:
    +--rw ol
       +--rw owners*               string
       +--rw (license-type)?
          +--:(spdx-lt)
          |  +--rw spdx-tag?       string
          +--:(url)
             +--rw license-info?   inet:uri

]]></artwork></figure>

<t><list style="symbols">
  <t><spanx style="strong">Issue</spanx>: Should different owners possibly have their own license
types?  (Logical and, derived works.)</t>
  <t><spanx style="strong">Issue</spanx>: Should a single owner possibly have multiple license
types?  (Logical or, multi-licensing.)</t>
</list></t>

</section>
<section anchor="the-yang-schema-for-ownership-and-licensing" title="The YANG schema for ownership and licensing">

<t>The following grouping and augmentation are proposed.</t>

<figure><artwork><![CDATA[
<CODE BEGINS>file "ietf-ol@2021-05-21.yang"
module ietf-ol {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-ol";
  prefix ol;

  import ietf-inet-types {
    prefix inet;
  }
  
  import ietf-mud {
    prefix mud;
  }


  organization
    "IETF OPSAWG (Ops Area) Working Group";
  contact
    "WG
     Web: http://tools.ietf.org/wg/opsawg/
     WG List: opsawg@ietf.org
     Author: Eliot Lear lear@cisco.com
     Author: Carsten Bormann <cabo@tzi.org>";
  description
    "This YANG module to indicate ownership and licensing.

     Copyright (c) 2021 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX);
     see the RFC itself for full legal notices.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.  ";

  revision 2021-05-21 {
    description
      "Initial proposed standard.";
    reference
      "RFC XXXX: Extension for ownership and licensing";
  }

  grouping ol-extension {
    description
      "OL extension grouping";
    container ol {
      description
        "container relating to ownership and licensing.";
      leaf-list owners {
      type string;
        description
          "A list of owners, may be in the form of a copyright
           Example: Copyright (c) Jane Smith.  All rights Reserved.";
        }
      choice license-type {
        description "Either choose a standard license type or point
                     to one of your own.";
        case spdx-lt {
          leaf spdx-tag {
            type string;
            description "SPDX License Identifier, as indicated at
                         https://spdx.org/licenses/";
          }
        }
        case url {
          leaf license-info {
            type inet:uri;
            description "A URL pointing to licensing information.";
          }
        }
      }
    }
  }

  augment "/mud:mud" {
    description
      "Add extension for Ownership and licensing.";
    uses ol-extension;
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="extension-for-mud" title="Extension for MUD">

<t>MUD files using this extension MUST include “ol” in the extensions
array, as specified by <xref target="RFC8520"/>.</t>

</section>
<section anchor="example" title="Example">

<t>In this example, the Frobmaster company is using the 0BSD SPDX
tag to indicate a relatively open license.  The “ol” extension
and container are present.  There is a single owner listed.</t>

<figure><artwork><![CDATA[
{
  "ietf-mud:mud": {
    "mud-version": 1,
    "extensions": [
      "ol"
    ],
    "ol": {
      "owners": [
        "Copyright (c) FrobMaster 2021. All Rights Reserved"
      ],
      "spdx-tag": "0BSD"
    },
    "mud-url": "https://frobs.example.com/mud/Frob.json",
    "mud-signature": "https://frobs.example.com/mud/Frob.p7s",
    "last-update": "2021-05-24T11:26:04+00:00",
    "cache-validity": 48,
    "is-supported": true,
    "systeminfo": "This device helps produce frobs",
    "mfg-name": "FrobMaster",
    "documentation": "https://frobs.example.com/doc",
    "model-name": "Frobinator"
    }
}
]]></artwork></figure>

<t><list style="symbols">
  <t><spanx style="strong">Task</spanx>: need Makefile for validating this against MUD.
(Probably put this into a separate file, too.)</t>
  <t><spanx style="strong">Issue</spanx>: Should we give an example for usage outside yang?</t>
</list></t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>No security considerations have been identified.</t>

<t><list style="symbols">
  <t><spanx style="strong">Issue</spanx>: Should we maybe point out any specific seccons of 8520?</t>
</list></t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<section anchor="mud-extension" title="MUD Extension">

<t>The IANA is requested to add “ol” to the MUD
extensions registry as follows:</t>

<figure><artwork><![CDATA[
  Extension Name: ol
  Standard reference: This document

]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor='RFC8520' target='https://www.rfc-editor.org/info/rfc8520'>
<front>
<title>Manufacturer Usage Description Specification</title>
<author fullname='E. Lear' initials='E.' surname='Lear'><organization/></author>
<author fullname='R. Droms' initials='R.' surname='Droms'><organization/></author>
<author fullname='D. Romascanu' initials='D.' surname='Romascanu'><organization/></author>
<date month='March' year='2019'/>
<abstract><t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs).  The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function.  The initial focus is on access control.  Later work can delve into other aspects.</t><t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t></abstract>
</front>
<seriesInfo name='RFC' value='8520'/>
<seriesInfo name='DOI' value='10.17487/RFC8520'/>
</reference>


<reference anchor="SPDX" >
  <front>
    <title>SPDX Specification 2.1</title>
    <author >
      <organization>The Linux Foundation</organization>
    </author>
    <date year="2016"/>
  </front>
</reference>




<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>




    </references>



<section anchor="changes-from-earlier-versions" title="Changes from Earlier Versions">

<t>Draft -01:
  * Add some issues
  * correct spacing</t>

<t>Draft -00:</t>

<t><list style="symbols">
  <t>Initial revision</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
HgAA

-->

</rfc>

