<!-- HTML header for doxygen 1.8.17-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: Contribution Guidelines</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('md__c_o_n_t_r_i_b_u_t_i_n_g.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">Contribution Guidelines </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>The Arm NN project is open for external contributors and welcomes contributions. Arm NN is licensed under the <a href="https://spdx.org/licenses/MIT.html">MIT license</a> and all accepted contributions must have the same license. Below is an overview on contributing code to ArmNN. For more details on contributing to Arm NN see the <a href="https://mlplatform.org/contributing/">Contributing page</a> on the <a href="https://mlplatform.org/">MLPlatform.org</a> website.</p>
<h1>Contributing code to Arm NN</h1>
<ul>
<li>All code reviews are performed on <a href="https://review.mlplatform.org">Linaro ML Platform Gerrit</a></li>
<li>GitHub account credentials are required for creating an account on ML Platform</li>
<li>Setup Arm NN git repo<ul>
<li>git clone <a href="https://review.mlplatform.org/ml/armnn">https://review.mlplatform.org/ml/armnn</a></li>
<li>cd armnn</li>
<li>git checkout main</li>
<li>git pull (not required upon initial clone but good practice before creating a patch)</li>
<li>git config user.name "FIRST_NAME SECOND_NAME"</li>
<li>git config user.email <a href="#" onclick="location.href='mai'+'lto:'+'you'+'r@'+'ema'+'il'+'.ad'+'dr'+'ess'; return false;">your@<span style="display: none;">.nosp@m.</span>emai<span style="display: none;">.nosp@m.</span>l.add<span style="display: none;">.nosp@m.</span>ress</a></li>
</ul>
</li>
<li>Commit using sign-off and push patch for code review<ul>
<li>git commit -s</li>
<li>git push origin HEAD:refs/for/main</li>
</ul>
</li>
<li>Patch will appear on ML Platform Gerrit <a href="https://review.mlplatform.org/q/is:open+project:ml/armnn+branch:main">here</a></li>
<li>See below for adding details of copyright notice and developer certificate of origin sign off</li>
</ul>
<h1>Developer Certificate of Origin (DCO)</h1>
<p>Before the Arm NN project accepts your contribution, you need to certify its origin and give us your permission. To manage this process we use Developer Certificate of Origin (DCO) V1.1 (<a href="https://developercertificate.org/">https://developercertificate.org/</a>).</p>
<p>To indicate that you agree to the the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message:</p>
<p>Signed-off-by: John Doe <a href="#" onclick="location.href='mai'+'lto:'+'joh'+'n.'+'doe'+'@e'+'xam'+'pl'+'e.o'+'rg'; return false;">john.<span style="display: none;">.nosp@m.</span>doe@<span style="display: none;">.nosp@m.</span>examp<span style="display: none;">.nosp@m.</span>le.o<span style="display: none;">.nosp@m.</span>rg</a></p>
<p>You must use your real name, no pseudonyms or anonymous contributions are accepted.</p>
<h1>In File Copyright Notice</h1>
<p>In each source file, include the following copyright notice:</p>
<p>// <br  />
 // Copyright © <code>&lt;years additions were made to project&gt; &lt;your name&gt;</code> and Contributors. All rights reserved. <br  />
 // SPDX-License-Identifier: MIT <br  />
 //</p>
<p>Note: if an existing file does not conform, update it when you next modify it, as convenient.</p>
<h1>Releases</h1>
<p>Official Arm NN releases are published through the official <a href="https://github.com/ARM-software/armnn">Arm NN Github repository</a>.</p>
<h1>Development repository</h1>
<p>The Arm NN development repository is hosted on the <a href="https://git.mlplatform.org/ml/armnn.git/">mlplatform.org git repository</a> hosted by <a href="https://www.linaro.org/">Linaro</a>.</p>
<h1>Code reviews</h1>
<p>Contributions must go through code review. Code reviews are performed through the <a href="https://review.mlplatform.org">mlplatform.org Gerrit server</a>. Contributors need to signup to this Gerrit server with their GitHub account credentials.</p>
<p>Only reviewed contributions can go to the main branch of Arm NN.</p>
<h1>Continuous integration</h1>
<p>Contributions to Arm NN go through testing at the Arm CI system. All unit, integration and regression tests must pass before a contribution gets merged to the Arm NN main branch.</p>
<h1>Communications</h1>
<p>We encourage all Arm NN developers to subscribe to the <a href="https://lists.linaro.org/mailman3/lists/armnn-dev.lists.linaro.org/">Arm NN developer mailing list</a>. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Thu May 16 2024 09:31:54 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
