<?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.27 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-boucadair-veloce-yang-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="VELOCE">YANG deVELpment PrOCEss &amp; maintenance (VELOCE)</title>
    <seriesInfo name="Internet-Draft" value="draft-boucadair-veloce-yang-04"/>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <date year="2025" month="April" day="13"/>
    <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>The authors <bcp14>MUST</bcp14> include a note to the RFC Editor requesting that the appendix be removed before publication as RFC and that RFC IIII is replaced with the RFC number that is assigned to the document. Initial versions of IANA-maintained modules that are published in RFCs may be misused despite the appropriate language to refer to the IANA registry to retrieve the up-to-date module. This is problematic for interoperability, e.g., when values are deprecated or are associated with a new meaning.</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 (<xref target="sec-rep"/>) <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>
            <li>
              <t>A release tagging mechanism should be defined to track the intermediate versions referenced by WG I-Ds and by the RFC, once published.</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 their rationale. Such a decision is left to the WG. The RFC update is scoped to the narrative part describing the updates.</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-rep">
      <name>IETF-hosted Repository</name>
      <t>It is <bcp14>RECOMMENDED</bcp14> that IETF self-hosted repositories are used. Integration using third-party hosted repositories <bcp14>MAY</bcp14> be used for experimentation purposes.</t>
      <ul empty="true">
        <li>
          <t>DISCUSSION: Include a recommendation about the hosting. IANA or some IETF gitlab are examples of self-hosting. Example of third-part hosted facility is GitHub.</t>
        </li>
      </ul>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>The VELOCE approach is meant to address some of operational issues encountered using current YANG development approach within the IETF. Specification, VELOCE ambitions to:</t>
      <ul spacing="normal">
        <li>
          <t>Ease integration for operators by providing readily-available YANG code in a well-identified location.</t>
        </li>
        <li>
          <t>Encourage an iterative approach that would fit most of operators needs, rather than waiting for a "perfect" version that solves every deployment case.</t>
        </li>
        <li>
          <t>Catalyst to produce fully-validated modules in a timely manner.</t>
        </li>
        <li>
          <t>Ease reuse/leveraging by other organizations and hopefully avoid redundant efforts.</t>
        </li>
        <li>
          <t>Welcome contributors from the operators community who are more familiar with software development, not only with specification development.</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="14" month="January" year="2025"/>
            <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-22"/>
        </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 112?>

<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, Italo Busi, and Michael Richardson for the comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA5VY25LbuBF951cgclXKdkTZY8/aE2VjZzwj26qdW+YSx5XK
A0iCEnZIgguQkrVT/pd8S74spxsERcnerYqrdkcEcek+fTkHjOM4anRTqKkY
fT6++CAy9Y/ZWV2qqhFX9vJk5pz4oyilrhpVySpV4jHeY/zJKJJJYtUKC/3I
KEploxbGbqbCNVkUZSatZImdMyvzJk5Mm8pMahuvVGFSFW9ktYifH0auTUrt
nDZVs6kxfT67fR9VbZkoO40y7DmNUlM5VbnWTUVjWxXh1JfRIyGtklNxeXWD
32tj7xfWtPVUeHuie7XBYDaNRCx+aXV6L5K2EWtVFIJdLU3WFspFkWybpbE0
LxL4l7dF4Q0/N0v8zcS7YDq/N3YhK/2rbGAxTrdwQ/ELBZyKKfblVZPe4b8Z
njNJTRlFlbEllq7gVaSrfPAUxXEsZOIaK9Mmim6X2glg2HIwMuVSqxPlhBT/
X6BEs5SNwF6lsUq4VjcyKZTAyXijsA+Fw29k8h1kxFo3S13xNArKxJtY6iwr
VATM51VjMTUlJKLo+v2Jo5CIyjR8DpCjU4IPuloIWWXeSPxHz8PjJuKjWcMa
Oxa6rAtFa5R1z1aqyoz1WxfG3NM62teqXFlFrmIDVTje3LV5rlONpcUGaciu
dq8b45fgx0TcGo+L1OUYv4ZQ19bUxjHSlVoLWWNApstvfCFIYm8bPN3xJIo+
tDrjMNCqtdXNvrfsTqZd2jpaDpgfHv4wj08nWjV5XKkG82Kbp0eHz18n2n39
OhG0pyp0hcVWFZLwhU8pvMP/ytpUMMyJxw8PN4pDIl5OXlBMf3fbJ8hnkSIp
aMUWJMLViUK7xhtHOTAwH0BwmAEOcCYffbZN9vOWgs0z4Cc2hFEE2zbkF6ZR
PhIPD79nJmxIixZVQOFZaUe20rHz44vjOGQUTA3oNt6+RIWF7AWlKCrtYYqG
gIO/Rm+EuIVnvgM4cX53cxsWUPjZOMPOY6mYZbrhxPulVY4jypbTawCBVNBf
6ESrSrPCgYnKqeTqNil0yvgK6XgjylReSg9z/KP6tKouZIp1VHb9mb4R9kUs
0SgXlY88l28H9ATFiCSThUABOQ4lIv+b6HDqB9vccosOArYhH9CRW8pLIF5r
DpHylVBbjcwTBTpaKxdqWFW+UeBIjCyQOXbj3zZWo6z5bVvHjYmpqXe2oBIp
XzTHFcVK3TDlyFInw3HKykQXutmMhZosJmOxXqpKrGTRhhpStVUpVwNW0Qgw
MqnmEYbS13GpJLWcCTWuE1OtqIoJJorFqco1wYdnSmAlwB3EKJkTI8qJ0dj/
FReX/Pt69ve7+fXslH7ffDw+O+t/RN2Mm4+Xd2en21/blSeX5+ezi1O/GKNi
ZyganR9/xhuyanR5dTu/vDg+G/kKHNYV+QlwOb+BEyAgd6WLAlFwRN+dXP33
PweH1FoQ3BcHB39GJfmHo4PXh3ggNP1phurUPyJSm4gyWlIYhARjphJpIAs3
phR2S7OuxBJdAmg+/Rch8++p+DFJ64PDN90AObwzGDDbGWTMvh35ZrEH8TtD
3zmmR3NnfA/pXXuPP+88B9wHgz++pcYr4oOjt28iSiHf78C9kDJZa5XPm9wU
hVlTZ6jDC8ptP0z5SMkrxacPQmambno298WA1vRUHHO2ohkYR91mQw3dqTTG
CHVrxhZhT6F9KOTJhgsLO54soTXcwAQaH5hBDLPPDJQIR5wISKbQKLbN/pzN
Gm870rAFnMyfnZz6eShH0B3vjOXcxiYkif7E3dVBDg0MoeIuZSUXZCPsDjkN
6vIV7nucUNxt3RMmGa3c7sIdLh1w3qvJQfDsxeHBESDrLLnmLoUUNuTrEIqX
e1DQOaQ4wba2o8UB3y4g5prO9FpatCtdS7KeWF5xKcmsRDshIUcOCKsXy6az
4hIo2uEEaD9Rm4I0S+hnOfdqrwi8VT+A/v166q2Fkg7VLxcMRKnSJTqbK6ks
24Jop9+DejLU5D3HjhsFhCkHr2eJnu05leATWNg3xS6zYMEYzSEdkMUEaYoW
ir4ORe1tAH9mzLpDkfDYUynNgMCnhg1Ls6ITgqAjZReDzHjC/jtd6kJ2fAId
tgtIiNrhbswmAGabYViKHFJII5zU3x2oEPcEV9jt9d5u8O/WF9XjvrC60nNK
3XNTFI0uFVomMrKikOaN8oqaK5t2xZ77simo7qEmwDTJ5Otpeav0fdA8q3fr
TfIzmbxSHKKx1/RQy8Y2kiTvuKNeRJeX313Pg3obVW4EeZz03DxQ9yMWZf88
P0OV+LcjoPMWNr18dYQa6gTLri9h7aBTiAuU+t4xfp9Xz188J7oZnMnrrqTF
ErJ31KsGkApdp8QbcVehulFZJBxYNGAhMsJ6Ae34Mjf+HqBD6AhZlle4BFpE
HpJiEPqDPpO8iZAZrlaQD0Xh87/vp9POqmCcGN0SBXZXnv443724oU32V4j3
JFGwn7d0zLYNTR/YOYq6LBxiHpjVE79TdiDPQx/9C71plEQfgoCv7oMykwlU
6ZBYApUEhUxp/w4WDBXkPpCgSmafrj36HjNQ+z9T71zSddeFpNFQzOydJLl3
06akyDJA7DqPC5U3wchPHybsNJ3VxRwzXAoh2GveStrQONF/Q8EExvOrHOs8
vqKhiRBK11vHHx4FQo2iOcvqgTLwVcgF4VSRh+U9bqFPkzwm1d2ohXcPI94G
bbOYLNuI763tEGR1Te1AfUFCaoLP71K3lq+fcOCNOJ3fnNzd3ECNTHFUuJdA
75oSKzrKRWBbfwuh80jjehWOzZ0p/d1dLHRTyIQtV18k3a85vr2LvGzm3/jA
BzeCF7lMWYgTXh9087FNGOPLWoXwEikMWNNLok4o9ddo+hIBKc4Rl1lmqcDZ
TBxqBnt1jAFqMi0xFyzwAKettZRs3WeQ7eeL/oj97xbihio616HqgkllosOt
l6XXjHhVDyJK8fE2EY+DEPnyyYQG+ZXpYhPLlQRd0WcGtodv40wP1JtigAGx
kGsYH4qeqmxGTlm6PqHzQzV06dw7wCm4ZjbPNcoKAdjCQ6ZUSmXQ4nha+sth
JdbSf2Qgm6UYYWqOFjcK1ez3dKYg7qCvLBu6ORVmw9Cl8JxZXULkbxwHp+Zv
O4q/h23iTuINLpHfkuAkYGgV0vtZQcd4tQboDJs6/HjmO8QSXvERQq6MpmLJ
WmQ2jFI5fKEu+lR8UkVKOZIG1UEg5NaUHOQtLlQXbUVJul4aTnZmyFxCU2iI
ChayzuTN2kutPnnG/LnA34F4zjBjhhM550EeraVTvpfwLHf39ONv6I6D53vS
039P6W5Wj3wZf3vG8CK4BA2CfXim5F1d950ugfCjTY7T+8qsC5UtmJSih6n/
pqCyv45y6GE1+ho2pQ+1VKDAeLHgkutEYGd/J/AvZueXVzc48x1/doXurPnD
j6zuWQP+ZMHjGjl5Ji3u4qi4OdLKiHcoYH/ZPNcgCQVKob+4Zne1Rkf51kZh
/x/jcEnanRYAAA==

-->

</rfc>
