<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-boucadair-veloce-yang-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="VELOCE">YANG deVELpment PrOCEss &amp; maintenance (VELOCE)</title>
    <seriesInfo name="Internet-Draft" value="draft-boucadair-veloce-yang-02"/>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2024" month="December" day="12"/>
    <keyword>quick but well YANG modules</keyword>
    <abstract>
      <?line 28?>

<t>This document describes a YANG deVELpment PrOCEss &amp; maintenance (VELOCE) that is more suitable for the development of YANG modules within the IETF.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/draft-boucadair-veloce-yang"/>.</t>
    </note>
  </front>
  <middle>
    <?line 32?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>RFCs are not suited for documenting and maintaining YANG modules. However, implementers/vendors are looking for reference models and sufficiently stable models to refer to. To that aim, this document proposes a new approach for documenting IETF-endorsed YANG modules.</t>
      <t>Guidance for writing YANG modules are discussed in <xref target="I-D.ietf-netmod-rfc8407bis"/>. Guidelines related to code components (<xref section="3.2" sectionFormat="of" target="I-D.ietf-netmod-rfc8407bis"/>) or citations to references listed in the YANG module do not apply for VELOCE.</t>
      <t>This document mainly focuses on IETF modules. Note that <xref target="I-D.ietf-netmod-rfc8407bis"/> includes provisons for IANA-maintained modules to not be included in RFCs:</t>
      <blockquote>
        <t>Designers of IANA-maintained modules <bcp14>MAY</bcp14> supply the full initial
   version of the module in a specification document that registers the
   module or only a script to be used (including by IANA) for generating
   the module (e.g., an XSLT stylesheet as in Appendix A of [RFC9108]).</t>
      </blockquote>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>
      <?line -18?>

</section>
    <section anchor="veloce-procedure">
      <name>VELOCE Procedure</name>
      <t>The following procedure is followed when a WG adopts a YANG module:</t>
      <ul spacing="normal">
        <li>
          <t>A new repository <bcp14>MUST</bcp14> be created by the WG Chairs following the procedure in <xref section="3.2" sectionFormat="of" target="RFC8874"/> to maintain the YANG Module, with the appropriate CI/CD YANG validation in place.
          </t>
          <ul spacing="normal">
            <li>
              <t>The same procedure for managing WG documents (e.g., assign editors) applies for managing YANG modules (<xref section="6.1" sectionFormat="of" target="RFC2418"/>).</t>
            </li>
            <li>
              <t>Refer also to <xref section="3.3" sectionFormat="of" target="RFC8874"/> for considerations related to granting WG participants write and administrators right.</t>
            </li>
            <li>
              <t>Other administrative policies are defined in <xref target="RFC8875"/>.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Contributing methods to YANG module (including issues handling andd merge procedure) are similar to those defined in <xref section="4" sectionFormat="of" target="RFC8874"/>. A procedure to assessing consensus is discussed in <xref section="7" sectionFormat="of" target="RFC8874"/>.</t>
        </li>
        <li>
          <t>The WG (WG Chairs) <bcp14>MUST</bcp14> seek in a timely manner after the adoption of the YANG module for the publication of an RFC that describes the initial module objectives and, more importantly, registers the URI in the "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688"/> and the YANG module in the "YANG Module Names" subregistry <xref target="RFC6020"/> within the "YANG Parameters" registry.  </t>
          <ul empty="true">
            <li>
              <t>Unless we update these rules as well, the publication of the initial RFC is required per <xref section="14" sectionFormat="of" target="RFC6020"/>, especially the following:</t>
              <t>"There are no initial assignments.</t>
              <t>For allocation, RFC publication is required"</t>
            </li>
          </ul>
        </li>
        <li>
          <t>The YANG module <bcp14>MUST NOT</bcp14> be inserted in the document; instead a link to the above repository <bcp14>MUST</bcp14> be included.</t>
        </li>
        <li>
          <t>Bis versions of the initial RFC <bcp14>MAY</bcp14> be considered to document major changes and/or their rationale. Such a decision is left to the WG.</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The same considerations discussed in <xref section="10" sectionFormat="of" target="RFC8874"/> apply here.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-netmod-rfc8407bis">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Qin Wu" initials="Q." surname="Wu">
              <organization>Huawei</organization>
            </author>
            <date day="13" month="November" year="2024"/>
            <abstract>
              <t>   This memo provides guidelines for authors and reviewers of
   specifications containing YANG modules, including IANA-maintained
   modules.  Recommendations and procedures are defined, which are
   intended to increase interoperability and usability of Network
   Configuration Protocol (NETCONF) and RESTCONF protocol
   implementations that utilize YANG modules.  This document obsoletes
   RFC 8407.

   Also, this document updates RFC 8126 by providing additional
   guidelines for writing the IANA considerations for RFCs that specify
   IANA-maintained modules.  The document also updates RFC 6020 by
   clarifying how modules and their revisions are handled by IANA.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-rfc8407bis-21"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <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>
        <reference anchor="RFC8874">
          <front>
            <title>Working Group GitHub Usage Guidance</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <author fullname="B. Stark" initials="B." surname="Stark"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document provides a set of guidelines for working groups that choose to use GitHub for their work.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8874"/>
          <seriesInfo name="DOI" value="10.17487/RFC8874"/>
        </reference>
        <reference anchor="RFC2418">
          <front>
            <title>IETF Working Group Guidelines and Procedures</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="September" year="1998"/>
            <abstract>
              <t>This document describes the guidelines and procedures for formation and operation of IETF working groups. 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="25"/>
          <seriesInfo name="RFC" value="2418"/>
          <seriesInfo name="DOI" value="10.17487/RFC2418"/>
        </reference>
        <reference anchor="RFC8875">
          <front>
            <title>Working Group GitHub Administration</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>The use of GitHub in IETF working group processes is increasing. This document describes uses and conventions for working groups that are considering starting to use GitHub. It does not mandate any processes and does not require changes to the processes used by current and future working groups not using GitHub.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8875"/>
          <seriesInfo name="DOI" value="10.17487/RFC8875"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
      </references>
    </references>
    <?line 98?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This draft is triggered by the discussion in NEMOPS IAB workshop.</t>
      <t>Thanks to Kristian Larsson for the comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
bxAAAA==

-->

</rfc>
