| <!-- |
| ▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████ ██▓ ▄████ ███▄ █ ██▓▄▄▄█████▓▓█████ |
| ▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀ ▓██▒ ██▒ ▀█▒ ██ ▀█ █ ▓██▒▓ ██▒ ▓▒▓█ ▀ |
| ▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███ ▒██▒▒██░▄▄▄░▓██ ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███ |
| ░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄ ░██░░▓█ ██▓▓██▒ ▐▌██▒░██░░ ▓██▓ ░ ▒▓█ ▄ |
| ▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒ ░██░░▒▓███▀▒▒██░ ▓██░░██░ ▒██▒ ░ ░▒████▒ |
| ▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░ ░▓ ░▒ ▒ ░ ▒░ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░ |
| ▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░ ░ ░ ░ ░ |
| ░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ |
| ░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ |
| --> |
| |
| <!-- |
| 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> |
| <!--#include virtual="/includes/header.html" --> |
| <article> |
| <header> |
| <div class="container"> |
| <h1 >Contribute to <strong>Apache Ignite</strong></h1> |
| </div> |
| </header> |
| <div class="container"> |
| |
| <p> |
| This guide discusses various types of contribution to Apache Ignite extending generic ideas |
| of the <a href="https://community.apache.org/gettingStarted/101.html" target="_blank">ASF Getting |
| Started</a>. Contributing to Ignite doesn’t just mean writing code. Helping new users on the mailing |
| list and improving documentation are also important. In fact, proposing significant code changes |
| usually requires first gaining experience and credibility within the community by helping in other ways. |
| </p> |
| <p> |
| The guide organizes contributions in an order that should be considered by new contributors |
| who intend to get involved long-term. Build some track record of helping others, become more |
| experienced with Ignite rather than solely focusing on code pull-requests. |
| </p> |
| <p> |
| Also, 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> |
| |
| <h2>Getting Started</h2> |
| <p> |
| The first thing to do is to join our <a href="mailto:dev@ignite.apache.org">dev mailing |
| list</a> and say "Hello" to everyone in the community. Tell us something 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 and areas of interest. |
| |
| Also, make sure to 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. |
| </p> |
| <p> |
| Next, check the <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 on Slack. |
| </p> |
| |
| <h2>Contribute by Helping Others</h2> |
| |
| <p> |
| A great way to contribute to Ignite and get more practical experience is by helping answer |
| user questions on the user@ignite.apache.org mailing list or on StackOverflow. Ignite users ask dozens |
| of questions daily; taking a few minutes to help answer a question or troubleshoot an issue is a very |
| valuable contribution to the project and community success. |
| </p> |
| <p> |
| Subscribe to the <a href="/community/resources.html">user list and set up StackOverflow notifications</a> |
| to stay up to date on what’s happening in Ignite. Answering questions is an excellent and visible way |
| to help the community, which also demonstrates your expertise. |
| </p> |
| |
| <h2>Contribute Documentation Changes</h2> |
| <p> |
| Contributing to technical documentation and API references such as JavaDocs are as valuable as contributing to bug |
| fixes or features. Ignite documentation is an integral part of the project, which educates Ignite users |
| about Ignite capabilities, configuration techniques, optimization aspects and many other areas they need |
| to understand to deploy Ignite successfully in production. Documentation and APIs are the faces of the |
| project and the community puts a lot of effort in maintaining them properly and professionally. |
| </p> |
| <p> |
| Code changes contribution is not the only way to become an Ignite committer. Help the community to |
| produce and maintain the documentation pages or API references, edit and correct existing content, stay |
| active on the user and dev mailing lists, and you'll become a committer in due course. |
| </p> |
| |
| <ul class="page-list"> |
| <li> |
| Came across a misprint or unclear documentation section? Use "Suggest Edits" feature of |
| our <a href="https://apacheignite.readme.io/docs" target="_blank"> main documentation portal</a> to |
| propose a change. |
| </li> |
| <li> |
| Select any <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20resolution%20%3D%20Unresolved%20AND%20status%20not%20in%20(closed%2C%20resolved)%20and%20component%20%3D%20documentation%20%20ORDER%20BY%20priority%20DESC%2C%20updated%20DESC" target="_blank"> |
| open documentation ticket</a> and start working on it. Use "Suggest Edits" to submit improvements. |
| </li> |
| <li> |
| To propose a change to <a href="/docs-and-apis.html#apis">API references</a> such as JavaDocs, |
| follow the process similar to the code contribution described below -- update the docs and send a |
| pull-request. |
| </li> |
| </ul> |
| |
| |
| <h2>Code Contributions</h2> |
| <p> |
| Before you start with code contributions, get to know our |
| <a href="https://cwiki.apache.org/confluence/display/IGNITE/How+to+Contribute" target="_blank">Contribution and |
| Development</a> process. |
| </p> |
| |
| <div class="page-heading">Extensions and Integrations Contribution</div> |
| <p> |
| Ignite is used together with a huge selection of libraries and |
| frameworks, and some of them are officially supported by the community. While some of the |
| existing integrations such as with Spark, Spring Data, or Hibernate still reside in the primary Ignite |
| repository, they all will eventually be moved to the Ignite Extensions repository. New integrations are |
| accepted to the Extensions repository only. |
| </p> |
| <p> |
| Feel free to contribute a new extension to Ignite or select an open ticket to help improve existing |
| integrations: |
| </p> |
| <ul> |
| <li> |
| <a href="https://issues.apache.org/jira/browse/IGNITE-8382?jql=project%20%3D%20Ignite%20and%20summary%20~%20%22spring%22%20and%20status%20not%20in%20(Resolved%2C%20Closed)" target="_blank"> |
| Spring Framework</a> integrations. |
| </li> |
| <li> |
| <a href="https://issues.apache.org/jira/browse/IGNITE-12054?jql=project%20%3D%20Ignite%20and%20summary%20~%20%22spark%22%20and%20status%20not%20in%20(Resolved%2C%20Closed)" target="_blank"> |
| Apache Spark</a> integration. |
| </li> |
| <li> |
| <a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20component%20in%20(Integrations)%20and%20status%20%3D%20OPEN" |
| target="_blank">All other</a> integrations. |
| </li> |
| </ul> |
| |
| <h2>Contribute to Ignite core</h2> |
| <p> |
| If you want to contribute to the core components of Ignite, then consider one of the tickets |
| below. These tickets are of easy and moderate complexity, which can simplify your start: |
| </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/issues/?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/issues/?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/issues/?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> to select your first task. |
| </li> |
| <li> |
| Curious in distributed data structures? |
| <a |
| href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20IGNITE%20AND%20component%20in%20(%22data%20structures%22)%20and%20status%20%3D%20OPEN" target="_blank"> |
| Help to improve</a> the 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> |
| |
| |
| <h2>Become a Committer and PMC Member</h2> |
| <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 choice to start your journey. |
| </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 and documentation contributions are also important. Once you make a few of them, |
| 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> |
| |
| |
| <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 which explains the process in detail including reviews, pull-requests, etc. -- |
| everything you need to know and do before a contribution can be accepted. |
| While below you can find more detailed instructions, here is how you can checkout the Ignite repo and explore |
| its code: |
| </p> |
| <h5>GIT checkout</h5> |
| <pre class="brush:bash"> |
| # Master branch. |
| $ git clone https://github.com/apache/ignite.git |
| </pre> |
| <h5>Build Project</h5> |
| <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> |
| |
| </div> |
| </article> |
| <!--#include virtual="/includes/footer.html" --> |
| |
| <!--#include virtual="/includes/scripts.html" --> |
| </body> |
| </html> |