blob: 7c3034de71515a2e030071c9c6026217e642f066 [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 lang="en">
<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>
<!--#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="contribute" class="page-section">
<h1 class="first">Contribute to Apache Ignite</h1>
<p>
Before you get involved in Apache Ignite development, you need to sign up to the
<a href="mailto:dev@ignite.apache.org">dev mailing list</a> and say "Hello" to everyone in
the community. Tell us a much as you can about your areas of expertise mentioning how
exactly you would like to contribute. We are a friendly and inclusive community and will try to
simplify your "onboarding" considering your strengths or areas of interest.
Also, share your JIRA ID in the same email
(<a href="https://issues.apache.org/jira/projects/IGNITE"target="_blank">create a new one</a>
if you don't have an ASF JIRA account yet). One of our community members will add you to
the contributors' list and you will be able to go ahead and book Ignite tasks you'd like to work on.
</li>
</p>
<p>
Again, a small formality, 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>
<p>
Finally, check <a href="https://cwiki.apache.org/confluence/display/IGNITE/How+to+Collaborate" target="_blank">
How to Collaborate</a> page for more details on various communication channels used by the community
members. Even though most of the discussions take place on the dev list, we hang out in Slack.
</p>
<div class="page-heading">Contribution Process</div>
<p>
Before you start contributing, spend some time to get to know our
<a href="https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute" target="_blank">Contribution and
Development</a> process. In short, our communication and collaboration are based on
<a href="http://www.apache.org/theapacheway/index.html" target="_blank">The Apache Way</a> that helps
us, as a group of professionals, drive the project forward in a respectful and inclusive way.
</p>
<div class="page-heading">Pick a Ticket</div>
<p>
Select a task of your interest and finish the first contributions! Start paving a path to the role of an
Apache Ignite committer! To simplify your first choice, we prepared a list of tickets of easy and
moderate complexity:
</p>
<ul class="page-list">
<li>
All the current
<a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20labels%20in%20(newbie)%20and%20status%20%3D%20OPEN" target="_blank">
easy and moderate tickets</a> suited for a quick start.
</li>
<li>
Machine Learning
<a href="https://issues.apache.org/jira/browse/IGNITE-12384?jql=project%20%3D%20IGNITE%20AND%20labels%20in%20(newbie)%20and%20component%20in%20(ML)%20and%20status%20%3D%20OPEN" target="_blank">
tickets for beginners</a>.
</li>
<li>
Or <a href="https://issues.apache.org/jira/browse/IGNITE-12433?jql=project%20%3D%20IGNITE%20AND%20labels%20in%20(newbie)%20and%20component%20in%20(sql)%20and%20status%20%3D%20OPEN" target="_blank">
SQL tasks</a> to start with.
</li>
<li>
If you are more interested in .NET, Python, Node.JS or other programming languages different from
Java then use <a
href="https://issues.apache.org/jira/browse/IGNITE-12427?jql=project%20%3D%20IGNITE%20AND%20labels%20in%20(newbie)%20and%20component%20in%20(platforms)%20and%20status%20%3D%20OPEN" target="_blank">
this filter</a> for the selection of the first tasks.
</li>
<li>
Are you willing to integrate Ignite with other frameworks and technologies? Check one of
<a href="https://issues.apache.org/jira/browse/IGNITE-3131?jql=project%20%3D%20IGNITE%20AND%20component%20in%20(Integrations)%20and%20status%20%3D%20OPEN"
target="_blank">these tickets </a> or propose your integration.
</li>
<li>
Curious in distributed data structures?
<a
href="https://issues.apache.org/jira/browse/IGNITE-12101?jql=project%20%3D%20IGNITE%20AND%20component%20in%20(%22data%20structures%22)%20and%20status%20%3D%20OPEN" target="_blank">
Help to improve</a> existing ones or contribute a brand new.
</li>
</ul>
<p>
Still haven't found anything gripping? Search through all the tickets in
<a href="https://issues.apache.org/jira/browse/IGNITE/">Ignite Jira</a>, check the latest Ignite
discussions on the dev list or simply email us.
</p>
<div class="page-heading">Become a Committer and PMC Member</div>
<p>
We love contributions and gladly promote active contributors to committers and PMC members! If you
are new to Apache Software Foundation then Ignite will be an excellent
</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 in 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.
<a href="https://cwiki.apache.org/confluence/display/IGNITE/Committership+Bar+Guidance" target="_blank">
This page</a> explains how and when Ignite community members decide to propose contributors to
the roles of committers or PMC members.
</p>
</section>
<section id="ignite-dev" class="page-section">
<h2>Start Coding</h2>
<p>
Apache Ignite uses GIT for its VCS system. The "master" branch contains the last released version.
The "ignite-{version}" branch contains the latest code for the latest or upcoming release.
Refer to the <a href="https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute" target="_blank">Contribution and
Development</a> page that explains the process in detail including reviews, pull-requests, etc. --
everything you need to know and to do before a contribution can be accepted.
While below you can find quick instructions if you can't wait and want to checkout the Ignite repo,
explore its code and do some changes:
</p>
<div class="page-heading">GIT checkout</div>
<pre class="brush:bash">
# Master branch.
$ git clone https://github.com/apache/ignite.git
</pre>
<div class="page-heading">Build Project</div>
<pre class="brush:bash">
# Build project.
$ mvn clean install -Pall-java,all-scala,licenses -DskipTests
</pre>
<p>
See more detailed build instructions in the
<a href="https://github.com/apache/ignite/blob/master/DEVNOTES.txt" target="_blank" rel="noopener">DEVNOTES.txt</a> file.
</p>
</section>
</main>
<!--#include virtual="/includes/footer.html" -->
</main>
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>