<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
  <meta charset="UTF-8">
  <title>Developing</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta name="generator" content="Jekyll v2.4.0">
  <link rel="stylesheet" href="/css/font-awesome.min.css">
  <link rel="stylesheet" href="/css/screen.css">
  <link rel="icon" type="image/x-icon" href="/favicon.ico">
  <script src="/js/jquery-3.2.1.min.js"></script>
  <!--[if lt IE 9]>
  <script src="/js/html5shiv.min.js"></script>
  <script src="/js/respond.min.js"></script>
  <![endif]-->
  <script src="/js/screen.js"></script>
  <script type="text/javascript" src="/assets/javascripts/bundle.js" charset="utf-8"></script>
</head>


<body>
  <header role="banner">
  <nav class="mobile-nav show-on-mobiles">
    <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/docs/">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a>
  </li>
  </li>
  <li class="">
    <a href="/downloads/">Downloads</a>
  </li>
  <li class="">
    <a href="/talks/">Talks</a>
  </li>
  <li class="">
    <a href="/news/">News</a>
  </li>
  <li class="current">
    <a href="/develop/">Develop</a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

  </nav>
  <div class="grid">
    <div class="unit one-third center-on-mobiles">
      <h1>
        <a href="/">
          <span class="sr-only">Apache Mnemonic</span>
          <img src="/img/mnemonic_logo_v2.png" width="289" alt="Mnemonic Logo" class="logo">
        </a>
        <a  href="https://www.apache.org/events/current-event.html">
          <img src="https://www.apache.org/events/current-event-234x60.png"/>
        </a>
      </h1>
    </div>
    <nav class="main-nav unit two-thirds hide-on-mobiles">
      <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/docs/">Doc<span class="show-on-mobiles">s</span><span class="hide-on-mobiles">umentation</span></a>
  </li>
  </li>
  <li class="">
    <a href="/downloads/">Downloads</a>
  </li>
  <li class="">
    <a href="/talks/">Talks</a>
  </li>
  <li class="">
    <a href="/news/">News</a>
  </li>
  <li class="current">
    <a href="/develop/">Develop</a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

    </nav>
  </div>
  <!-- Return to Top -->
  <a href="#top" id="return-to-top"><i class="fa fa-chevron-up"></i></a>
</header>


  <section class="standalone">
  <div class="grid">

    <div class="unit whole">
      <article>
        <h1>Developing</h1>
        <p>Information about the Mnemonic project that is most important for
developers working on the project. The project has created
<a href="bylaws.html">bylaws</a> for itself.</p>

<h2 id="project-members">Project Members</h2>

<table>
  <thead>
    <tr>
    <th style="text-align: center">Role</th>
      <th style="text-align: left">Name</th>
      <th style="text-align: left">Apache Id</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="14" style="text-align: center; font-weight:700">PMC</td>
      <td style="text-align: left">Patrick Hunt</td>
      <td style="text-align: left">phunt</td>
    </tr>
    <tr>
      <td style="text-align: left">Andrew Purtell</td>
      <td style="text-align: left">apurtell</td>
    </tr>
    <tr>
      <td style="text-align: left">James Taylor</td>
      <td style="text-align: left">jamestaylor</td>
    </tr>
    <tr>
      <td style="text-align: left">Gang(Gary) Wang</td>
      <td style="text-align: left">garyw</td>
    </tr>
    <tr>
      <td style="text-align: left">Uma Maheswara Rao G</td>
      <td style="text-align: left">umamahesh</td>
    </tr>
    <tr>
      <td style="text-align: left">Kai Zheng</td>
      <td style="text-align: left">drankye</td>
    </tr>
    <tr>
      <td style="text-align: left">Rakesh Radhakrishnan Potty</td>
      <td style="text-align: left">rakeshr</td>
    </tr>
    <tr>
      <td style="text-align: left">Hao Cheng</td>
      <td style="text-align: left">chhao01</td>
    </tr>
    <tr>
      <td style="text-align: left">Debojyoti Dutta</td>
      <td style="text-align: left">ddutta</td>
    </tr>
    <tr>
      <td style="text-align: left">Johnu George</td>
      <td style="text-align: left">johnu</td>
    </tr>
    <tr>
      <td style="text-align: left">Yanhui Zhao</td>
      <td style="text-align: left">yzhao</td>
    </tr>
        <tr>
      <td style="text-align: left">Chenyang Li</td>
      <td style="text-align: left">lcy0816</td>
    </tr>
    <tr>
      <td style="text-align: left">Li Shen</td>
      <td style="text-align: left">lishen</td>
    </tr>
    <tr>
      <td style="text-align: left">Kevin Ratnasekera</td>
      <td style="text-align: left">djkevincr</td>
    </tr>
    <tr>
      <td rowspan="4" style="text-align: center; font-weight:700">Release Manager</td>
      <td style="text-align: left">Gang(Gary) Wang</td>
      <td style="text-align: left">garyw</td>
    </tr>
    <tr>
      <td style="text-align: left">Debojyoti Dutta</td>
      <td style="text-align: left">ddutta</td>
    </tr>
    <tr>
      <td style="text-align: left">Johnu George</td>
      <td style="text-align: left">johnu</td>
    </tr>
    <tr>
      <td style="text-align: left">Yanhui Zhao*</td>
      <td style="text-align: left">yzhao</td>
    </tr>
    <tr>
      <td rowspan="13" style="text-align: center; font-weight:700">Committer</td>
      <td style="text-align: left">Henry Saputra</td>
      <td style="text-align: left">hsaputra</td>
    </tr>
    <tr>
      <td style="text-align: left">Gang(Gary) Wang</td>
      <td style="text-align: left">garyw</td>
    </tr>
    <tr>
      <td style="text-align: left">Uma Maheswara Rao G</td>
      <td style="text-align: left">umamahesh</td>
    </tr>
    <tr>
      <td style="text-align: left">Kai Zheng</td>
      <td style="text-align: left">drankye</td>
    </tr>
    <tr>
      <td style="text-align: left">Rakesh Radhakrishnan Potty</td>
      <td style="text-align: left">rakeshr</td>
    </tr>
    <tr>
      <td style="text-align: left">Sean Zhong</td>
      <td style="text-align: left">seanzhong</td>
    </tr>
    <tr>
      <td style="text-align: left">Hao Cheng</td>
      <td style="text-align: left">chhao01</td>
    </tr>
    <tr>
      <td style="text-align: left">Debojyoti Dutta</td>
      <td style="text-align: left">ddutta</td>
    </tr>
    <tr>
      <td style="text-align: left">Johnu George</td>
      <td style="text-align: left">johnu</td>
    </tr>
    <tr>
      <td style="text-align: left">Yanhui Zhao</td>
      <td style="text-align: left">yzhao</td>
    </tr>
    <tr>
      <td style="text-align: left">Peili Shen</td>
      <td style="text-align: left">peili</td>
    </tr>
    <tr>
      <td style="text-align: left">Wen Tong</td>
      <td style="text-align: left">wentong</td>
    </tr>
    <tr>
      <td style="text-align: left">Lan Lin</td>
      <td style="text-align: left">lqlpsu</td>
    </tr>
    <tr>
      <td style="text-align: left">Xiaojin Jiao</td>
      <td style="text-align: left">xjiao</td>
    </tr>
  </tbody>
</table>

<p><i>Note - current Release Manager is highlighted with *</i></p>

<h2 id="mailing-lists">Mailing Lists</h2>

<p>There are several development mailing lists for mnemonic</p>

<ul>
  <li><a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#100;&#101;&#118;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a> - Development discussions
with archive <a href="https://mail-archives.apache.org/mod_mbox/mnemonic-dev/">here</a><br />
subscribe:<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#045;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#100;&#101;&#118;&#045;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a><br />
unsubscribe:<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#045;&#117;&#110;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#100;&#101;&#118;&#045;&#117;&#110;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a></li>
  <li><a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#105;&#115;&#115;&#117;&#101;&#115;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#105;&#115;&#115;&#117;&#101;&#115;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a> - Bug tracking
with archive <a href="https://mail-archives.apache.org/mod_mbox/mnemonic-issues/">here</a><br />
subscribe: <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#105;&#115;&#115;&#117;&#101;&#115;&#045;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#105;&#115;&#115;&#117;&#101;&#115;&#045;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a><br />
unsubscribe: <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#105;&#115;&#115;&#117;&#101;&#115;&#045;&#117;&#110;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#105;&#115;&#115;&#117;&#101;&#115;&#045;&#117;&#110;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a><br /></li>
  <li><a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#099;&#111;&#109;&#109;&#105;&#116;&#115;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">&#099;&#111;&#109;&#109;&#105;&#116;&#115;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;</a> - Git tracking
with archive <a href="https://mail-archives.apache.org/mod_mbox/mnemonic-commits/">here</a><br />
subscribe: <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#099;&#111;&#109;&#109;&#105;&#116;&#115;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">commits-subscribe@mnemonic.apache.org</a><br />
unsubscribe: <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#099;&#111;&#109;&#109;&#105;&#116;&#115;&#064;&#109;&#110;&#101;&#109;&#111;&#110;&#105;&#099;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;">commits-unsubscribe@mnemonic.apache.org</a><br /></li>
</ul>

<h2 id="source-code">Source code</h2>

<p>Mnemonic uses git for version control. Get the source code:</p>

<p><code>% git clone https://gitbox.apache.org/repos/asf/mnemonic.git</code></p>

<p>The important branches are:</p>

<ul>
  <li><a href="https://gitbox.apache.org/repos/asf/mnemonic.git" target="_blank">master</a> -
The trunk for all development, please find master branch marked in light green.</li>
  <li><a href="https://gitbox.apache.org/repos/asf/mnemonic-site.git" target="_blank">asf-site</a> -
The pages that are deployed to https://mnemonic.apache.org/</li>
</ul>

<p>Please check our <a href="coding">coding guidelines</a>.</p>

<p>You can also find the mirrored repo. on <a href="https://github.com/apache/mnemonic.git" target="_blank">Github</a></p>

<h2 id="reviews">Reviews</h2>

<p>All code must be +1’ed by a committer other than the author prior to its
commit.</p>

<h2 id="release-flow">Release Flow</h2>

<p>For releasing a new version, please refer to <a href="releaseflow.html">Release Flow</a> page.</p>

      </article>
    </div>

    <div class="clear"></div>

  </div>
</section>


  <footer role="contentinfo">
    <p><div align="center">Apache Mnemonic, Mnemonic, Apache, and the Mnemonic logo are trademarks of The Apache Software Foundation.</div>
<div align="center"> Copyright &copy;&nbsp;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a></div></p>
</footer>

  <script>
  var anchorForId = function (id) {
    var anchor = document.createElement("a");
    anchor.className = "header-link";
    anchor.href      = "#" + id;
    anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
    anchor.title = "Permalink";
    return anchor;
  };

  var linkifyAnchors = function (level, containingElement) {
    var headers = containingElement.getElementsByTagName("h" + level);
    for (var h = 0; h < headers.length; h++) {
      var header = headers[h];

      if (typeof header.id !== "undefined" && header.id !== "") {
        header.appendChild(anchorForId(header.id));
      }
    }
  };

  document.onreadystatechange = function () {
    if (this.readyState === "complete") {
      var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
      if (!contentBlock) {
        return;
      }
      for (var level = 1; level <= 6; level++) {
        linkifyAnchors(level, contentBlock);
      }
    }
  };
</script>


</body>
</html>
