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

<!--
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>
<meta charset="utf-8">

<link rel="canonical" href="https://ignite.apache.org/community/resources.html" />
    <!--#include virtual="/includes/scriptshead.html" -->

    <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" -->

    
</head>
<body>
    <!--#include virtual="/includes/header.html" -->	
    <article>
        <header>
            <div class="container">
				<h1 >Community <strong>Resources</strong></h1>
            </div>
        </header>
        <div class="container">
            		<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. Subscribe to the mailing list and send questions via your email client:
            		</p>
                	<ul class="page-list">
                    	<li>
                            Email to <a href="mailto:user@ignite.apache.org">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="https://lists.apache.org/list.html?user@ignite.apache.org">archives</a>)
                    	</li>
                	</ul>

            
                    
				<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>
                            Email to <a href="mailto: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="https://lists.apache.org/list.html?user@ignite.apache.org">archives</a>)
                        </li>
                        <li>
                            Email to <a href="mailto:dev@ignite.apache.org">dev@ignite.apache.org</a> for contribution-related 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="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="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="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="https://lists.apache.org/list.html?commits@ignite.apache.org">archives</a>)
                        </li>
                    </ul>
                </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">
                    <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="table table-bordered table-striped" name="Apache Ignite Community Committers">
                        <thead>
                        <tr><th>Name</th><th>Organization</th></tr>
                        </thead>
                        <tbody>
                        <tr><td>Alexander Shapkin</td><td>GridGain</td></tr>
                        <tr><td>Alexey Goncharuk *</td><td>GridGain</td></tr>
                        <tr><td>Alexey Kuznetsov *</td><td>EPAM</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>JetBrains</td></tr>
                        <tr><td>Andrey Alexandrov</td><td>GridGain</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>Artem Budnikov</td><td></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></td></tr>
                        <tr><td>Dmitriy Pavlov **</td><td>SberTech</td></tr>
                        <tr><td>Dmitriy Setrakyan *</td><td></td></tr>
                        <tr><td>Evans Ye *</td><td>Trend Micro</td></tr>
                        <tr><td>Evgeny Stanilovsky</td><td>GridGain</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></td></tr>
                        <tr><td>Ilya Kasnacheev *</td><td>GridGain</td></tr>
                        <tr><td>Ilya Lantukh</td><td></td></tr>
                        <tr><td>Ilya Sterin *</td><td>ChronoTrack</td></tr>
                        <tr><td>Irina Vasilinets *</td><td>WhatsApp</td></tr>
                        <tr><td>Ivan Bessonov</td><td>GridGain</td></tr>
                        <tr><td>Ivan Daschinsky</td><td>SberTech</td></tr>
                        <tr><td>Ivan Pavlukhin *</td><td></td></tr>
                        <tr><td>Ivan Rakov</td><td></td></tr>
                        <tr><td>Konstantin Boudnik *</td><td></td></tr>
                        <tr><td>Kseniya Romanova *</td><td>GridGain</td></tr>
                        <tr><td>Maxim Muzafarov *</td><td>SberTech</td></tr>
                        <tr><td>Mauricio Stekl</td><td>GridGain</td></tr>
                        <tr><td>Michael Stack</td><td></td></tr>
                        <tr><td>Nikita Amelchev</td><td>SberTech</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></td></tr>
                        <tr><td>Peter Ivanov</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 Chugunov</td><td>GridGain</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></td></tr>
                        <tr><td>Sergey Stronchinsky</td><td>UpTeam</td></tr>
                        <tr><td>Taras Ledkov</td><td>GridGain</td></tr>
                        <tr><td>Valentin Kulichenko *</td><td>GridGain</td></tr>
                        <tr><td>Vladimir Ozerov *</td><td></td></tr>
                        <tr><td>Vladisav Jelisavcic</td><td></td></tr>
                        <tr><td>Vyacheslav Daradur</td><td>Yandex</td></tr>
                        <tr><td>Vyacheslav Koptilin<td>GridGain</td></tr>
                        <tr><td>Yakov Zhdanov *</td><td></td></tr>
                        <tr><td>Yury Babak</td><td></td></tr>
                        <tr><td>Zhenya Stanilovsky </td><td>GridGain</td></tr>
                        </tbody>
                    </table><br/>
                    <p>
                        *&nbsp;&nbsp;- PMC member<br/>
                        ** - PMC chair
                    </p>
                </section>
			
    </div>
</article>
    <!--#include virtual="/includes/footer.html" -->

<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
