
<div class="container small-no-padding">
    <div class="row content">
        <div class="col-md-12">
            {% block content %}
                {% include 'fix_up_content.html' %}
            {% endblock %}
        </div>
    </div>
    <div class="row">
        <div class="col-md-4 mailing-list">
            <div class="bg-purple mailing-list-title text-center">
                Dev Mailing List
            </div>
                <p><a class="bold-link" href="mailto:dev@mynewt.incubator.apache.org">dev@mynewt.incubator.apache.org</a></p>
                <p>For both contributors and users. Ask questions. Share ideas. Discuss issues, roadmap, process. Help coordinate. Influence.</p>
                <div class="mailing-list-title text-center">
                    <p><a href="mailto:dev-subscribe@mynewt.incubator.apache.org">Subscribe</a></p>
                    <p text-center><a href="mailto:dev-unsubscribe@mynewt.incubator.apache.org">Unsubscribe</a></p>
                  <p> <a href="http://mail-archives.apache.org/mod_mbox/incubator-mynewt-dev/">Mail archives</a> </p>
                </div>
        </div>
        <div class="col-md-4 mailing-list">
            <div class="bg-purple mailing-list-title text-center">
                Commits Mailing List
            </div>
                <p><a class="bold-link" href="mailto:commits@mynewt.incubator.apache.org">commits@mynewt.incubator.apache.org</a></p>
                <p>For code or documentation contributors. Receive automated notifications of any changes to Mynewt code and documentation.</p>
                <div class="mailing-list-title text-center">
                  <p><a href="mailto:commits-subscribe@mynewt.incubator.apache.org">Subscribe</a></p>
                  <p><a href="mailto:commits-unsubscribe@mynewt.incubator.apache.org">Unsubscribe</a></p>
                  <p> <a href="http://mail-archives.apache.org/mod_mbox/incubator-mynewt-commits/">Mail archives</a> </p>
               </div>
        </div>
        <div class="col-md-4 mailing-list">
            <div class="bg-purple mailing-list-title text-center">
                Notifications Mailing List
            </div>
                <p><a class="bold-link" href="mailto:notifications@mynewt.incubator.apache.org">notifications@mynewt.incubator.apache.org</a></p>
                <p>For all autogenerated mail other than commits e.g. JIRA issue-tracker notifications. Can also be used for announcements. </p>
                <div class="mailing-list-title text-center">
                   <p><a href="mailto:notifications-subscribe@mynewt.incubator.apache.org">Subscribe</a></p>
                   <p><a href="mailto:notifications-unsubscribe@mynewt.incubator.apache.org">Unsubscribe</a></p>
                   <p> <a href="http://mail-archives.apache.org/mod_mbox/incubator-mynewt-notifications/">Mail archives</a> </p>
                </div>
  </div>
</div>

<div class="row">
      <div class="col-md-12">
                <h3>Getting involved</h3>

                <p> It is easy! Simply send an email to the dev@ mailing list introducing yourself and the Apache Mynewt community will welcome you. If you have questions, sending an email to this list is the fastest way of getting an answer. </p>

                <p> If you want to browse the code, <a href="https://github.com/apache/incubator-mynewt-core/tree/develop">Mynewt Core Repo</a> is the best place to start.

                <p> If you wish to contribute code, a quick look at the <a href="https://cwiki.apache.org/confluence/display/MYNEWT/Contributing+to+Apache+Mynewt"> recommended steps </a> should help.  

                <h3>Bug Submission and Issue Tracking</h3>
                <p>Issues, features, improvements, and wish-lists are tracked using <a href="https://issues.apache.org/jira/browse/Mynewt/">ASF JIRA</a>, the Atlassian JIRA software on Apache Software Foundation </p>
                <li> 
                <p><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20MYNEWT%20AND%20fixVersion%20%3D%20WISHLIST%20ORDER%20BY%20updated%20DESC%2C%20priority%20DESC%2C%20created%20ASC">Click here to see WISHLIST for Mynewt</a></p>
                </li>
                <li>
                Sign up for an account on JIRA and submit a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project. Editing a ticket requires an account.
                </li>
                <li> Log in and report a bug by choosing the "MYNEWT" project, clicking on the "Create" button, and creating a ticket with an appropriate Issue Type (e.g. Bug, Wish).  </p>
                <p> If you are a contributor and wish to work on a change, open a JIRA ticket first. It's always a good idea to introduce the change in the dev@ mailing list and refer to that ticket. When you generate a pull request into the github mirror for your change, always reference the JIRA ticket number in the title. JIRA is set up to resolve the ticket when your code is merged into the ASF git repository and the pull request closed. </p>
<br>

</div>
</div>
