blob: 69fd7d441284e9ab9333bdde3ff06ee9e28cae4e [file] [log] [blame]
<!--
▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████ ██▓ ▄████ ███▄ █ ██▓▄▄▄█████▓▓█████
▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀ ▓██▒ ██▒ ▀█▒ ██ ▀█ █ ▓██▒▓ ██▒ ▓▒▓█ ▀
▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███ ▒██▒▒██░▄▄▄░▓██ ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄ ░██░░▓█ ██▓▓██▒ ▐▌██▒░██░░ ▓██▓ ░ ▒▓█ ▄
▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒ ░██░░▒▓███▀▒▒██░ ▓██░░██░ ▒██▒ ░ ░▒████▒
▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░ ░▓ ░▒ ▒ ░ ▒░ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░
▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░ ░ ░ ░ ░
░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░
░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
-->
<!--
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>
<head>
<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>Apache Ignite - Community</title>
<link media="all" rel="stylesheet" href="/css/all.css">
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
<div id="wrapper">
<!--#include virtual="/includes/header.html" -->
<main id="main" role="main" class="container">
<section id="contribute" class="page-section">
<h2 class="first">Start Contributing</h2>
<p>
Before you start working on Apache Ignite, you should sign up to the
<a href="mailto:dev@ignite.apache.org">dev mailing list</a> and say "Hello" to everyone in
the community. We have a very friendly group and intend to make joining the project as easy as possible.
</p>
<p>
Note, you need to subscribe to the dev list, before sending emails to it. To subscribe, send an empty email
to <a href="mailto:dev-subscribe@ignite.apache.org?subject=Subscribe"><nobr>dev-subscribe@ignite.apache.org</nobr></a> and follow
simple instructions in the reply.
</p>
<div class="page-heading">Ignite Jira:</div>
<p>
You should also sign up to <a href="https://issues.apache.org/jira/browse/IGNITE">Ignite Jira</a> and
browse through open tickets.
</p>
<div class="page-heading">Development Process:</div>
<p>
Before you start contributing, it helps to familiarize yourself with
<a href="https://cwiki.apache.org/confluence/display/IGNITE/Development+Process">Ignite Development Process</a>.
</p>
<div class="page-heading">To Get Started:</div>
<ul class="page-list">
<li>
Choose any of the tickets below.
</li>
<li>
Send an email to the <a href="mailto:dev@ignite.apache.org">dev list</a> letting us know
that you want to work on it (make sure to
<a href="mailto:dev-subscribe@ignite.apache.org">subscribe</a> first).
</li>
<li>
One of the committers will add you to the contributor list and assign the ticket to you.
</li>
</ul>
</section>
<section id="pick-ticket" class="page-section">
<h2>Pick a Ticket</h2>
<div class="page-heading">Easy Issues:</div>
<p>
Easy issues to help newcomers get started with Ignite can be found
<a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20labels%20in%20(newbie)%20and%20status%20%3D%20OPEN">here</a>.
</p>
<div class="page-heading">Integrations:</div>
<p>
<ul class="page-list">
<li>Spring Transaction Manager, <a href="https://issues.apache.org/jira/browse/IGNITE-1227">IGNITE-1227</a></li>
<li>L2 Cache for MyBatis, <a href="https://issues.apache.org/jira/browse/IGNITE-2448">IGNITE-2448</a> </li>
</ul>
</p>
<div class="page-heading">Streaming:</div>
<p>
Parent Jira ticket for the streaming work: <a href="https://issues.apache.org/jira/browse/IGNITE-108">IGNITE-108</a>.
<ul class="page-list">
<li>Streaming from Akka, <a href="https://issues.apache.org/jira/browse/IGNITE-532">IGNITE-532</a></li>
<li>Streaming from ZeroMQ, <a href="https://issues.apache.org/jira/browse/IGNITE-533">IGNITE-533</a></li>
<li>Streaming from Amazon Kinesis, <a href="https://issues.apache.org/jira/browse/IGNITE-536">IGNITE-536</a></li>
</ul>
</p>
<div class="page-heading">Data Structures:</div>
<p>
Parent Jira ticket for the data structures work: <a href="https://issues.apache.org/jira/browse/IGNITE-641">IGNITE-641</a>.
<ul class="page-list">
<li>Distributed reentrant lock, <a href="https://issues.apache.org/jira/browse/IGNITE-642">IGNITE-642</a></li>
<li>Distributed reentrant read-write lock, <a href="https://issues.apache.org/jira/browse/IGNITE-637">IGNITE-637</a></li>
<li>Distributed multi-map, <a href="https://issues.apache.org/jira/browse/IGNITE-640">IGNITE-640</a></li>
<li>Queue persistence, <a href="https://issues.apache.org/jira/browse/IGNITE-2389">IGNITE-2389</a></li>
</ul>
</p>
<div class="page-heading">Hadoop & Spark:</div>
<p>
<ul class="page-list">
<li>Implementation of IgfsSecondaryFileSystem for local file system, <a href="https://issues.apache.org/jira/browse/IGNITE-1926">IGNITE-1926</a></li>
<li>Python API for Ignite RDD for Spark, <a href="https://issues.apache.org/jira/browse/IGNITE-949">IGNITE-949</a></li>
</ul>
</p>
</section>
<section id="ignite-dev" class="page-section">
<h2>Start Developing</h2>
<p>
Apache Ignite uses GIT for its VCS system. The "master" branch contains the last released version. The "sprint-N" branch contains the latest code for the Nth sprint.
</p>
<div class="page-heading">GIT checkout:</div>
<pre class="brush:bash">
# Master branch.
$ git clone https://git-wip-us.apache.org/repos/asf/ignite
# Release branch.
$ git clone https://git-wip-us.apache.org/repos/asf/ignite -b ignite-1.3.0
</pre>
<div class="page-heading">Build Project:</div>
<pre class="brush:bash">
# Build project.
$ mvn clean package -DskipTests
# Run Apache RAT
$ mvn clean validate -Pcheck-licenses
</pre>
<p>
See more detailed build instructions in the
<a href="https://github.com/apache/ignite/blob/master/DEVNOTES.txt" target="_blank">DEVNOTES.txt</a> file.
</p>
<div class="page-heading">To Start Contributing:</div>
<ul class="page-list">
<li>
Pick a ticket from
<a href="https://issues.apache.org/jira/browse/IGNITE" target="_blank">Ignite Jira</a>
</li>
<li>Follow GitHub pull-request's based contribution way that is described
<a href="https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute#HowtoContribute-1.CreateGitHubpull-request">here</a> in details.</li>
</ul>
</section>
<section id="become-committer" class="page-section">
<h2>Become a Committer</h2>
<p>
We love contributions and gladly promote active contributors to committers and PMC members!
</p>
<p>
The most important point of becoming a committer for Apache projects is active participation
within the community. Being an active community member means participating on mailing list
discussions, helping to answer questions, being respectful towards others, and following the
meritocratic principles of community management.
</p>
<p>
Of course, code contributions are also important. Once you make a few code contributions,
you will become eligible to join Ignite committers, and possibly Ignite PMC.
Candidates for new committers or PMC members are suggested by the current committers, mentors, or
PMC members, and then must be approved by the PMC voting process.
</p>
</section>
</main>
<!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>