<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
  <title>About - Gearpump 0.7.6 Documentation</title>
  

  

  <link rel="stylesheet" href="css/bootstrap-3.3.5.min.css">
  <style>
    body {
      padding-top: 60px;
      padding-bottom: 40px;
    }
  </style>
  <link rel="stylesheet" href="css/main.css">
  <link rel="stylesheet" href="css/pygments-default.css">
  <script src="js/vendor/modernizr-2.6.1-respond-1.1.0.min.js"></script>
</head>
<body>
  <!--[if lt IE 7]>
    <p class="chromeframe">You are using an outdated browser. <a href="http://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
  <![endif]-->

  <div class="navbar navbar-inverse navbar-fixed-top" id="topbar">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="http://gearpump.io">Gearpump
          <span class="label label-primary" style="font-size: .6em">0.7.6</span>
        </a>
      </div>
      <div id="navbar" class="collapse navbar-collapse">
        <ul class="nav navbar-nav">
          <li><a href="index.html">Overview</a></li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Introduction<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="submit-your-1st-application.html">Submit Your 1st Application</a></li>
              <li><a href="commandline.html">Client Command Line</a></li>
              <li class="divider"></li>
              <li><a href="basic-concepts.html">Basic Concepts</a></li>
              <li><a href="features.html">Technical Highlights</a></li>
              <li><a href="message-delivery.html">Reliable Message Delivery</a></li>
              <li><a href="performance-report.html">Performance</a></li>
              <li><a href="gearpump-internals.html">Gearpump Internals</a></li>
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Deploying<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li class="dropdown-header">Deployment</li>
              <li><a href="deployment-local.html">Local Mode</a><li>
              <li><a href="deployment-standalone.html">Standalone Mode</a></li>
              <li><a href="deployment-yarn.html">YARN Mode</a></li>
              <li><a href="deployment-docker.html">Docker Mode</a><li>
              <li class="divider"></li>
              <li><a href="deployment-ui-authentication.html">UI Authentication</a></li>
              <li><a href="deployment-ha.html">High Availability</a></li>
              <li><a href="deployment-msg-delivery.html">Reliable Message Delivery</a></li>
              <li><a href="deployment-configuration.html">Configuration</a></li>
              <li><a href="deployment-resource-isolation.html">Resource Isolation</a></li>
              <li class="divider"></li>
              <li><a href="deployment-security.html">YARN Security Guide</a></li>
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Programming Guide<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="dev-write-1st-app.html">Write Your 1st App</a></li>
              <li><a href="dev-custom-serializer.html">Customized Message Passing</a></li>
              <li class="divider"></li>
              <li><a href="api/scala/index.html">Scala API</a></li>
              <li><a href="api/java/index.html">Java API</a></li>
              <li><a href="dev-rest-api.html">RESTful API</a></li>
              <li class="divider"></li>
              <li><a href="dev-connectors.html">Gearpump Connectors</a></li>
              <li class="divider"></li>
              <li><a href="dev-storm.html">Storm Compatibility</a></li>
              <!--
              <li><a href="dev-samoa.html">Samoa Compatibility</a></li>
              <li class="divider"></li>
              <li><a href="dev-iot.html">Gearpump with IoT</a></li>
              -->
            </ul>
          </li>

          <li class="dropdown">
            <a href="#" class="dropdown-toggle" data-toggle="dropdown">More<b class="caret"></b></a>
            <ul class="dropdown-menu">
              <li><a href="how-to-contribute.html">How to Contribute</a></li>
              <li><a href="coding-style.html">Coding Style</a></li>
              <li class="divider"></li>
              <li><a href="faq.html">FAQ</a><li>
              <li><a href="about.html">About</a></li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </div>

  <div class="container" id="content">
   
    <h1 class="title">About</h1>
   

   <h3 id="who-are-we">Who are we?</h3>

<p>We are a group of streaming guys from Intel.</p>

<h3 id="user-list">User List</h3>

<p>We have a user mail list at: <a href="https://groups.google.com/forum/#!forum/gearpump-user">User Mail List</a></p>

<h3 id="submit-an-issue">Submit an issue</h3>

<p>Please submit new issue to <a href="https://github.com/gearpump/gearpump/issues">https://github.com/gearpump/gearpump/issues</a></p>

<h3 id="make-code-contribution">Make code contribution</h3>

<p>Contributions are warmly welcome! To contribute to Gearpump source code, please make a PR against <a href="https://github.com/gearpump/gearpump/pulls">https://github.com/gearpump/gearpump/pulls</a></p>

<p>To contribute to the contents in this site, make a PR to <a href="https://github.com/gearpump/gearpump.github.io">https://github.com/gearpump/gearpump.github.io</a></p>

<h3 id="more-technical-support">More Technical Support</h3>

<p>For business cooperation and support, please contact <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#120;&#105;&#097;&#110;&#103;&#046;&#122;&#104;&#111;&#110;&#103;&#064;&#105;&#110;&#116;&#101;&#108;&#046;&#099;&#111;&#109;">&#120;&#105;&#097;&#110;&#103;&#046;&#122;&#104;&#111;&#110;&#103;&#064;&#105;&#110;&#116;&#101;&#108;&#046;&#099;&#111;&#109;</a> <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#107;&#097;&#109;&#046;&#100;&#046;&#107;&#097;&#115;&#114;&#097;&#118;&#105;&#064;&#105;&#110;&#116;&#101;&#108;&#046;&#099;&#111;&#109;">&#107;&#097;&#109;&#046;&#100;&#046;&#107;&#097;&#115;&#114;&#097;&#118;&#105;&#064;&#105;&#110;&#116;&#101;&#108;&#046;&#099;&#111;&#109;</a> <a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#119;&#101;&#105;&#104;&#117;&#097;&#046;&#106;&#105;&#097;&#110;&#103;&#064;&#105;&#110;&#116;&#101;&#108;&#046;&#099;&#111;&#109;">&#119;&#101;&#105;&#104;&#117;&#097;&#046;&#106;&#105;&#097;&#110;&#103;&#064;&#105;&#110;&#116;&#101;&#108;&#046;&#099;&#111;&#109;</a></p>

<h3 id="license">License</h3>

<p>The source tree under <a href="http://github.com/gearpump/gearpump">http://github.com/gearpump/gearpump</a> is
Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0</p>

<h3 id="acknowledgement">Acknowledgement</h3>

<p>The netty transport code work is based on <a href="http://storm.apache.org/">Apache Storm</a>. Thanks Apache Storm contributors.</p>


  </div> <!-- /container -->

  <script src="js/vendor/jquery-2.1.4.min.js"></script>
  <script src="js/vendor/bootstrap-3.3.5.min.js"></script>
  <script src="js/vendor/anchor-1.1.1.min.js"></script>
  <script src="js/main.js"></script>

  <!-- MathJax Section -->
  <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      TeX: { equationNumbers: { autoNumber: "AMS" } }
    });
  </script>
  <script>
    // Note that we load MathJax this way to work with local file (file://), HTTP and HTTPS.
    // We could use "//cdn.mathjax...", but that won't support "file://".
    (function(d, script) {
      script = d.createElement('script');
      script.type = 'text/javascript';
      script.async = true;
      script.onload = function(){
        MathJax.Hub.Config({
          tex2jax: {
            inlineMath: [ ["$", "$"], ["\\\\(","\\\\)"] ],
            displayMath: [ ["$$","$$"], ["\\[", "\\]"] ],
            processEscapes: true,
            skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
          }
        });
      };
      script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') +
        'cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML';
      d.getElementsByTagName('head')[0].appendChild(script);
    }(document));
  </script>
</body>
</html>
