<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-3-check-memory-and-cpu-allocation">Step 3. Check Memory and CPU Allocation</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../installation/#step-3-download-and-launch-webodm">Step 3. Download and Launch WebODM</a></li>
</ul>
</li>
</ul>
</li>
<liclass="toctree-l2"><aclass="reference internal"href="../installation/#basic-commands-and-troubleshooting">Basic Commands and Troubleshooting</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../tutorials/#prep-data-and-project">Prep data and project</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../tutorials/#resize-droplet-pull-pin-run-away">Resize droplet, pull pin, run away</a></li>
<liclass="toctree-l4"><aclass="reference internal"href="../tutorials/#after-it-finishes-assuming-you-survive-that-long">After it finishes (assuming you survive that long)</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<liclass="toctree-l1"><aclass="reference internal"href="../arguments/">Options and Flags</a><ul>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#what-are-overviews">What Are Overviews?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#when-are-overviews-appropriate">When are Overviews appropriate?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../arguments/build-overviews/#why-would-one-use-overviews">Why would one use Overviews?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../large/#getting-started-with-distributed-split-merge">Getting Started with Distributed Split-Merge</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../large/#understanding-the-cluster">Understanding the Cluster</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../large/#accessing-the-logs">Accessing the Logs</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#can-i-process-two-or-more-orthophoto-geotiffs-to-stitch-them-together">Can I process two or more orthophoto GeoTIFFs to stitch them together?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#i-want-to-build-a-commercial-application-that-includes-odm-do-i-need-a-commercial-license">I want to build a commercial application that includes ODM. Do I need a commercial license?</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="../faq/#are-there-other-licensing-options-aside-from-the-agplv3">Are there other licensing options aside from the AGPLv3?</a></li>
<h1>How To Contribute<aclass="headerlink"href="#how-to-contribute"title="Permalink to this headline">¶</a></h1>
<p>OpenDroneMap relies on community contributions. You can contribute in many ways, even if you are not a programmer.</p>
<divclass="section"id="community-forum">
<h2>Community Forum<aclass="headerlink"href="#community-forum"title="Permalink to this headline">¶</a></h2>
<p>If you are looking to get involved, are stuck on a problem, or want to reach out, <aclass="reference external"href="https://community.opendronemap.org/">the forum</a> is a great place to start. You may find your questions already answered or else you can find other useful tips and resources. You can also contribute your open access datasets for others to explore. It is a good place go before submitting bug reports or getting in touch with developers before writing a new feature.</p>
</div>
<divclass="section"id="reporting-bugs">
<h2>Reporting Bugs<aclass="headerlink"href="#reporting-bugs"title="Permalink to this headline">¶</a></h2>
<p>Bugs are tracked as Github issues. Please create an issue in the repository and tag it with the Bug tag.</p>
<p>Explain the problem and include additional details to help maintainers reproduce the problem:</p>
<ulclass="simple">
<li><p><strong>Use a clear and descriptive title</strong> for the issue to identify the problem.</p></li>
<li><p><strong>Describe the exact steps which reproduce the problem</strong> in as many details as possible. For example, start by explaining how you run ODM (Docker, Vagrant, etc), e.g. which command exactly you used in the terminal. When listing steps, <strong>don’t just say what you did, but explain how you did it.</strong></p></li>
<li><p><strong>Provide specific examples to demonstrate the steps.</strong> Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you’re providing snippets in the issue, use <aclass="reference external"href="https://help.github.com/articles/markdown-basics/#multiple-lines">Markdown code blocks</a>.</p></li>
<li><p><strong>Describe the behavior you observed after following the steps</strong> and point out what exactly is the problem with that behavior.</p></li>
<li><p><strong>Explain which behavior you expected to see instead and why.</strong></p></li>
<li><p><strong>Include screenshots and animated GIFs</strong> which show you following the described steps and clearly demonstrate the problem. You can use <aclass="reference external"href="http://www.cockos.com/licecap/">this tool to record GIFs on macOS and Windows</a>, and <aclass="reference external"href="https://github.com/colinkeenan/silentcast">this tool</a> or <aclass="reference external"href="https://github.com/GNOME/byzanz">this one</a> on Linux.</p></li>
<li><p><strong>If the problem is related to performance,</strong> please post your machine’s specs (host and guest machine).</p></li>
<li><p><strong>If the problem wasn’t triggered by a specific action,</strong> describe what you were doing before the problem happened and share more information using the guidelines below.</p></li>
</ul>
<p>Include details about your configuration and environment:</p>
<ulclass="simple">
<li><p><strong>Which version of ODM are you using?</strong> A stable release? a clone of master?</p></li>
<li><p><strong>What’s the name and version of the OS you’re using?</strong></p></li>
<li><p><strong>Are you running ODM in a virtual machine or Docker?</strong> If so, which VM software are you using and which operating systems and versions are used for the host and the guest?</p></li>
<h3>Template For Submitting Bug Reports<aclass="headerlink"href="#template-for-submitting-bug-reports"title="Permalink to this headline">¶</a></h3>
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span>[Short description of problem here]
**Reproduction Steps:**
1. [First Step]
2. [Second Step]
3. [Other Steps...]
**Expected behavior:**
[Describe expected behavior here]
**Observed behavior:**
[Describe observed behavior here]
**Screenshots and GIFs**

**ODM version:** [Enter ODM version here]
**OS and version:** [Enter OS name and version here]
**Additional information:**
* Problem started happening recently, didn't happen in an older version of ODM: [Yes/No]
* Problem can be reliably reproduced, doesn't happen randomly: [Yes/No]
* Problem happens with all datasets and projects, not only some datasets or projects: [Yes/No]
</pre></div>
</div>
</div>
</div>
<divclass="section"id="pull-requests">
<h2>Pull Requests<aclass="headerlink"href="#pull-requests"title="Permalink to this headline">¶</a></h2>
<ulclass="simple">
<li><p>Include screenshots and animated GIFs in your pull request whenever possible.</p></li>
<li><p>Follow the PEP8 Python Style Guide.</p></li>
<li><p>End files with a newline.</p></li>
<li><dlclass="simple">
<dt>Avoid platform-dependent code:</dt><dd><ul>
<li><p>Use require(‘fs-plus’).getHomeDirectory() to get the home directory.</p></li>
<li><p>Use path.join() to concatenate filenames.</p></li>
<li><p>Use os.tmpdir() rather than /tmp when you need to reference the temporary directory.</p></li>
</ul>
</dd>
</dl>
</li>
<li><dlclass="simple">
<dt>Using a plain return when returning explicitly at the end of a function.</dt><dd><ul>
<li><p>Not return null, return undefined, null, or undefined</p></li>
</ul>
</dd>
</dl>
</li>
</ul>
<p><aclass="reference external"href="https://github.com/opendronemap/docs#how-to-make-your-first-contribution">Learn to edit</a> and help improve <aclass="reference external"href="https://github.com/OpenDroneMap/docs/blob/publish/source/contributing.rst">this page</a>!</p>