<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/community/resources.html" />
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Community Resources - Apache Ignite</title>
    <!--#include virtual="/includes/styles.html" -->

    <!--#include virtual="/includes/sh.html" -->
</head>
<body>
<div id="wrapper">
    <!--#include virtual="/includes/header.html" -->

    <main id="main" role="main" class="container">
        <section id="ask" class="page-section">
            <h1 class="first">Community Resources</h1>
            <p>
                There are many ways you can get help from Apache Ignite community. The <a href="#mail-lists">mailing lists</a>
                are the easiest way to get answers or to get involved with the project. Specifically, if you have any questions
                on how to use Ignite, you should subscribe to the user mailing list:
                <ul class="page-list">
                    <li>
                        <a href="http://apache-ignite-users.70518.x6.nabble.com/">user@ignite.apache.org</a>
                        (<a href="mailto:user-subscribe@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">subscribe</a>,
                        <a href="mailto:user-unsubscribe@ignite.apache.org?subject=Unsubscribe&body=Please%20unsubscribe%20me.">unsubscribe</a>,
                        <a href="http://apache-ignite-users.70518.x6.nabble.com/">forum</a>,
                        <a href="http://mail-archives.apache.org/mod_mbox/ignite-user/">archives</a>)
                    </li>
                </ul>
            </p>
        </section>

        <section id="stackoverflow" class="page-section">
            <h2>Stack Overflow</h2>
            <p>
                Many Ignite community members watch <a href="http://stackoverflow.com/questions/tagged/ignite">Stack Overflow</a>
                for the tag <b>"ignite"</b> or <b>"apacheignite"</b>, so you can post your questions there as well.
            </p>
        </section>

        <section id="mail-lists" class="page-section">
            <h2>Mailing Lists</h2>
            <ul class="page-list">
                <li>
                    <a href="https://lists.apache.org/list.html?user@ignite.apache.org">user@ignite.apache.org</a> for general questions about Ignite
                    (<a href="mailto:user-subscribe@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">subscribe</a>,
                    <a href="mailto:user-unsubscribe@ignite.apache.org?subject=Unsubscribe&body=Please%20unsubscribe%20me.">unsubscribe</a>,
                    <a href="http://apache-ignite-users.70518.x6.nabble.com/">forum</a>,
                    <a href="https://lists.apache.org/list.html?user@ignite.apache.org">archives</a>)
                </li>
                <li>
                    <a href="https://lists.apache.org/list.html?dev@ignite.apache.org">dev@ignite.apache.org</a> for contributor discussions
                    (<a href="mailto:dev-subscribe@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">subscribe</a>,
                    <a href="mailto:dev-unsubscribe@ignite.apache.org?subject=Unsubscribe&body=Please%20unsubscribe%20me.">unsubscribe</a>,
                    <a href="http://apache-ignite-developers.2346864.n4.nabble.com/">nabble</a>,
                    <a href="https://lists.apache.org/list.html?dev@ignite.apache.org">archives</a>)
                </li>
                <li>
                    <a href="https://lists.apache.org/list.html?issues@ignite.apache.org">issues@ignite.apache.org</a> for JIRA notifications
                    (<a href="mailto:issues-subscribe@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">subscribe</a>,
                    <a href="mailto:issues-unsubscribe@ignite.apache.org?subject=Unsubscribe&body=Please%20unsubscribe%20me.">unsubscribe</a>,
                    <a href="http://apache-ignite-issues.70530.x6.nabble.com/">nabble</a>,
                    <a href="https://lists.apache.org/list.html?issues@ignite.apache.org">archives</a>)
                </li>
                <li>
                    <a href="https://lists.apache.org/list.html?notifications@ignite.apache.org">notifications@ignite.apache.org</a> for GitHub notifications
                    (<a href="mailto:notifications-subscribe@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">subscribe</a>,
                    <a href="mailto:notifications-unsubscribe@ignite.apache.org?subject=Unsubscribe&body=Please%20unsubscribe%20me.">unsubscribe</a>,
                    <a href="http://apache-ignite-commits.70531.x6.nabble.com/">nabble</a>,
                    <a href="https://lists.apache.org/list.html?commits@ignite.apache.org">archives</a>)
                </li>
                <li>
                    <a href="https://lists.apache.org/list.html?commits@ignite.apache.org">commits@ignite.apache.org</a> for GIT commits
                    (<a href="mailto:commits-subscribe@ignite.apache.org?subject=Subscribe&body=Please%20subscribe%20me.">subscribe</a>,
                    <a href="mailto:commits-unsubscribe@ignite.apache.org?subject=Unsubscribe&body=Please%20unsubscribe%20me.">unsubscribe</a>,
                    <a href="http://apache-ignite-commits.70531.x6.nabble.com/">nabble</a>,
                    <a href="https://lists.apache.org/list.html?commits@ignite.apache.org">archives</a>)
                </li>
            </ul>
        </section>

        <!--<section id="chatroom" class="page-section">-->
            <!--<h2>Chatroom</h2>-->
            <!--<p>-->
                <!--The official chatroom for Apache Ignite is hosted at Gitter: <a href="https://gitter.im/apacheignite/ignite">apacheignite/ignite</a>. Join us there!-->
                    <!--<a id="gitter-badge" href="https://gitter.im/apacheignite/ignite">-->
                        <!--<img src="https://badges.gitter.im/Join%20Chat.svg" alt="Join the chat at https://gitter.im/apacheignite/ignite" />-->
                    <!--</a>-->
            <!--</p>-->
            <!--<p>-->
                <!--You will need a Github account.-->
            <!--</p>-->
        <!--</section>-->

        <section id="git" class="page-section">
            <h2>Git Repositories</h2>
            <ul class="page-list">
                <li>Ignite Git: <a href="https://gitbox.apache.org/repos/asf/ignite.git">https://gitbox.apache.org/repos/asf/ignite.git</a></li>
                <li>GitHub Mirror: <a href="https://github.com/apache/ignite">https://github.com/apache/ignite</a></li>
            </ul>
        </section>

        <section id="jira" class="page-section">
            <h2>Issue Tracking</h2>
            <p>
                Visit <a href="https://issues.apache.org/jira/browse/IGNITE" target="_blank" rel="noopener">Ignite Jira</a>
                if you would like to file a new issue or view existing issues. If you would like to
                assign an issue to yourself and start contributing, please send an email to the
                <a href="mailto:dev@ignite.apache.org">dev mailing list</a>, so you
                can be granted proper Jira permissions.
            </p>
        </section>

        <section id="wiki" class="page-section">
            <h2>Wiki</h2>
            <p>
                Visit <a href="https://cwiki.apache.org/confluence/display/IGNITE/" target="_blank" rel="noopener">Ignite Wiki</a>
                to learn about coding guidelines, release structure, and various design decisions behind Ignite features.
            </p>
        </section>

        <section id="people" class="page-section">
            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
                <!--<div class="col-sm-6 col-md-8 col-xs-12" style="padding-left:0; padding-right:20px;">-->
                    <h2>Contributers and Committers</h2>
                    <p>
                        Visit the <a href="https://github.com/apache/ignite/graphs/contributors">Apache Ignite Contributors page</a>
                        to see a list of top contributors and committers for the project.
                    </p>
                    <p>
                        The table below summarizes <a href="http://people.apache.org/phonebook.html?pmc=ignite" >committers and PMC members</a> of Apache Ignite:
                    </p>
                    <table class="formatted committers" name="Apache Ignite Community Committers">
                        <thead>
                        <tr><th>Name</th><th>Organization</th></tr>
                        </thead>
                        <tbody>
                        <tr><td>Alexey Goncharuk *</td><td>GridGain</td></tr>
                        <tr><td>Alexey Kuznetsov *</td><td>GridGain</td></tr>
                        <tr><td>Alexey Plehanov</td><td>SberTech</td></tr>
                        <tr><td>Alexey Scherbakov</td><td>GridGain</td></tr>
                        <tr><td>Alexey Zinoviev *</td><td>EPAM</td></tr>
                        <tr><td>Andrey Gura *</td><td>GridGain</td></tr>
                        <tr><td>Andrey Novikov *</td><td>GridGain</td></tr>
                        <tr><td>Andrew Mashenkov</td><td>GridGain</td></tr>
                        <tr><td>Anton Vinogradov *</td><td>SberTech</td></tr>
                        <tr><td>Branko Čibej</td><td></td></tr>
                        <tr><td>Denis Magda *</td><td>GridGain</td></tr>
                        <tr><td>Dmitriy Govorukhin</td><td>GridGain</td></tr>
                        <tr><td>Dmitriy Pavlov **</td><td>EPAM</td></tr>
                        <tr><td>Dmitriy Setrakyan *</td><td>GridGain</td></tr>
                        <tr><td>Evans Ye *</td><td>Trend Micro</td></tr>
                        <tr><td>Gianfranco Murador *</td><td>Engiweb Security</td></tr>
                        <tr><td>Henry Saputra</td><td> </td></tr>
                        <tr><td>Igor Rudyak</td><td>Rally Health</td></tr>
                        <tr><td>Igor Sapego</td><td>GridGain</td></tr>
                        <tr><td>Igor Seliverstov</td><td>GridGain</td></tr>
                        <tr><td>Ilya Kasnacheev *</td><td>GridGain</td></tr>
                        <tr><td>Ilya Lantukh</td><td>GridGain</td></tr>
                        <tr><td>Ilya Sterin *</td><td>ChronoTrack</td></tr>
                        <tr><td>Irina Vasilinets *</td><td>WhatsApp</td></tr>
                        <tr><td>Ivan Pavlukhin *</td><td>GridGain</td></tr>
                        <tr><td>Ivan Rakov</td><td>GridGain</td></tr>
                        <tr><td>Konstantin Boudnik *</td><td></td></tr>
						<tr><td>Maxim Muzafarov</td><td>SberTech</td></tr>
                        <tr><td>Michael Stack</td><td></td></tr>
                        <tr><td>Nikita Ivanov *</td><td>GridGain</td></tr>
                        <tr><td>Nikolai Izhikov *</td><td>SberTech</td></tr>
                        <tr><td>Nikolai Tikhonov *</td><td>Nexign</td></tr>
                        <tr><td>Ognen Duzlevski *</td><td>Shoutlet</td></tr>
                        <tr><td>Pavel Tupitsyn *</td><td>Aurea</td></tr>
                        <tr><td>Pavel Kovalenko</td><td>GridGain</td></tr>
                        <tr><td>Ra&uacute;l Kripalani *</td><td>Evosent Consulting</td></tr>
                        <tr><td>Roman Shaposhnik *</td><td>Pivotal</td></tr>
                        <tr><td>Roman Shtykh *</td><td>Yahoo Japan Corporation</td></tr>
                        <tr><td>Saikat Maitra</td><td>Target</td></tr>
                        <tr><td>Semyon Boikov *</td><td> </td></tr>
                        <tr><td>Sergey Evdokimov *</td><td></td></tr>
                        <tr><td>Sergey Khisamov *</td><td>Fitech Source</td></tr>
                        <tr><td>Sergey Vladykin *</td><td>GridGain</td></tr>
                        <tr><td>Valentin Kulichenko *</td><td>GridGain</td></tr>
                        <tr><td>Vladimir Ozerov *</td><td>GridGain</td></tr>
                        <tr><td>Vladisav Jelisavcic</td><td></td></tr>
                        <tr><td>Vyacheslav Daradur</td><td>Yandex</td></tr>
                        <tr><td>Yakov Zhdanov *</td><td>GridGain</td></tr>
                        <tr><td>Yury Babak</td><td>GridGain</td></tr>
                        </tbody>
                    </table><br/>
                    <p>
                        *&nbsp;&nbsp;- PMC member<br/>
                        ** - PMC chair
                    </p>
            </div>
        </section>
    </main>
    <!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
