blob: 80615c9caf94fb7a9dfbd3c10ded7f121a18cc1a [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>
<link rel="canonical" href="https://ignite.apache.org/community/contribute.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>Contribute - Apache Ignite</title>
<link media="all" rel="stylesheet" href="/css/all.css?v=1514336028">
<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">
<h1 class="first">Contribute to Apache Ignite</h1>
<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 or if your interest.
</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>
Share your JIRA ID in the email so that one of the committers can add you to the contributor list and you are able to assign the ticket to yourself.
</li>
<li>
Visit our <a href="https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute">How to Contribute</a> page for details about the project workflow and JIRA process.
</li>
</ul>
</section>
<section id="pick-ticket" class="page-section">
<h2>Pick a Ticket</h2>
<div class="page-heading">Getting Started:</div>
<p>
<ul class="page-list">
<li>
Easy tickets to get started with Apache Ignite:
<a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20labels%20in%20(newbie)%20and%20status%20%3D%20OPEN">easy tickets</a>
</li>
<li>All other issues: <a href="https://issues.apache.org/jira/browse/IGNITE/">Ignite Jira</a></li>
</ul>
</p>
<div class="page-heading">Apache Ignite APIs:</div>
<p>
<li>Node JS Client, <a href="https://issues.apache.org/jira/browse/IGNITE-961">IGNITE-961</a></li>
<li>Python Client, <a href="https://issues.apache.org/jira/browse/IGNITE-4600">IGNITE-4600</a></li>
<li>R Client, <a href="https://issues.apache.org/jira/browse/IGNITE-4605">IGNITE-4605</a></li>
</ul>
</p>
<div class="page-heading">Integrations:</div>
<p>
<ul class="page-list">
<li>Apache Apex Connectors, <a href="https://issues.apache.org/jira/browse/IGNITE-3131">IGNITE-3131</a> </li>
<li>DynaCache Provider, <a href="https://issues.apache.org/jira/browse/IGNITE-5047">IGNITE-5047</a> </li>
</ul>
</p>
<div class="page-heading">Kubernetes Deployments Support:</div>
<p>
Parent Jira ticket for the Kubernetes related work: <a href="https://issues.apache.org/jira/browse/IGNITE-4159">IGNITE-4159</a>.
<ul class="page-list">
<li>Discovery for Nodes to Connect to Kubernetes From Outside, <a href="https://issues.apache.org/jira/browse/IGNITE-4161">IGNITE-4161</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 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>Python API for Ignite RDD for Spark, <a href="https://issues.apache.org/jira/browse/IGNITE-949">IGNITE-949</a></li>
</ul>
</p>
<div class="page-heading">Ignite.NET:</div>
<p>
Getting Started guide on wiki: <a href="https://cwiki.apache.org/confluence/display/IGNITE/Ignite.NET+Development">Ignite.NET Development</a>.
<ul class="page-list">
<li>Easy tickets to get started: <a href="https://issues.apache.org/jira/issues/?jql=project%3Dignite%20and%20status%20%3D%20Open%20AND%20labels%3D%20newbie%20AND%20summary%20~%20.Net%20AND%20assignee%20%3D%20EMPTY">starter tickets</a></li>
<li>ADO.NET Data Provider, <a href="https://issues.apache.org/jira/browse/IGNITE-4206">IGNITE-4206</a></li>
<li>NHibernate Second Level Cache, <a href="https://issues.apache.org/jira/browse/IGNITE-2658">IGNITE-2658</a></li>
<li>LINQ plan caching, <a href="https://issues.apache.org/jira/browse/IGNITE-2764">IGNITE-2764</a></li>
<li>Distributed LINQ parallel extensions, <a href="https://issues.apache.org/jira/browse/IGNITE-4101">IGNITE-4101</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="nightly-builds" class="page-section">
<h2>Nightly Builds </h2>
<ul class="features-list">
<li>
<a id="apache_ignite_nighly_download"
href="https://cwiki.apache.org/confluence/display/IGNITE/Nightly+Builds" target="_blank" onclick="ga('send', 'event', 'apache_ignite_nighly_download', 'download', 'apache_ignite_nighly_download');">Last successful build</a>
</li>
</ul>&nbsp;
<p>Nightly builds are not official Apache Ignite releases, have not been tested, and come with no guarantees.</p>
</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>