<!DOCTYPE html>
<!--
  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
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License. 
-->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Apache Gobblin</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <link rel="icon"
          type="image/png"
          href="http://gobblin.io/favicon.ico">
    <!--===============================================
      CSS files
    =================================================-->
    <link rel="stylesheet" href="../assets/css/bootstrap.css" media="screen">
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css">
    <link rel="stylesheet" href="../assets/css/custom.min.css">
    <link rel="stylesheet" href="../assets/css/gobblin.css">
    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="../assets/js/html5shiv.js"></script>
      <script src="../assets/js/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <!--===============================================
      Gobblin Navigation Space <start>
    =================================================-->
    <div id="navigation"></div>

    <!--===============================================
      Gobblin Navigation Space <end>
    =================================================-->
    <!--===============================================
      Gobblin Center Space <start>
    =================================================-->
    <div class="container">
        
      <div class="page-header" id="primary-content">

        <div class="row">
          <div class="col-md-12">
              <h1 class="title" style="font-size: 3em; margin-top: -5px;">People</h1>
              <table class="table">
              <tbody>
                  <tr>
                    <td>
                      <img src="../assets/images/abhishek.jpg" width="150">
                    </td>
                    <td>
                      Abhishek Tiwari<br>
                      Vice President, PMC Chair<br>
                      <a href="http://www.linkedin.com/in/findabti" target="_blank" rel="nofollow">/in/findabti</a><br>
                      <a href="http://twitter.com/findabti" rel="nofollow">@findabti</a><br>
                      <b>LinkedIn</b>
                    </td>
                    <td>
                      <img src="../assets/images/ShirshankaDas_headshot.png" width="150">
                    </td>
                    <td>
                      Shirshanka Das<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/shirshankadas/" target="_blank" rel="nofollow">/in/shirshankadas</a><br>
                      <b>Founder and CTO, Acryl Data</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/sudarshan.jpeg" width="150">
                    </td>
                    <td>
                      Sudarshan Vasudevan<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/suddu/" target="_blank" rel="nofollow">/in/suddu</a><br>
                      <b>LinkedIn</b>
                    </td>
                    <td>
                      <img src="../assets/images/hung.jpg" width="150">
                    </td>
                    <td>
                      Hung Tran<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/hung-tran-30a8101/" target="_blank" rel="nofollow">/in/hung-tran</a><br>
                      <b>LinkedIn</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/tamas.jpg" width="150">
                    </td>
                    <td>
                      Tamas Nemeth<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/nemetht/" target="_blank" rel="nofollow">/in/nemetht</a><br>
                      <b>Prezi</b>
                    </td>
                    <td>
                      <img src="../assets/images/owen.jpeg" width="150">
                    </td>
                    <td>
                      Owen O'Malley<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/owenomalley/" target="_blank" rel="nofollow">/in/owenomalley</a><br>
                      <b>LinkedIn</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/lei.jpeg" width="150">
                    </td>
                    <td>
                      Lei Sun<br>
                      Committer<br>
                      <a href="https://www.linkedin.com/in/lei-s-a93138a0/" target="_blank" rel="nofollow">/in/lei-s-a93138a0</a><br>         <b>LinkedIn</b>        
                    </td>
                    <td>
                      <img src="../assets/images/kuai.jpeg" width="150">
                    </td>
                    <td>
                      Kuai Yu<br>
                      Committer<br>
                      <a href="https://www.linkedin.com/in/yukuai518/" target="_blank" rel="nofollow">/in/yukuai518</a><br>
                      <b>Google</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/olivier.jpg" width="150">
                    </td>
                    <td>
                      Olivier Lamy<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/olamy/" target="_blank" rel="nofollow">/in/olamy</a><br>  
                    </td>
                    <td>
                      <img src="../assets/images/kishore.jpg" width="150">
                    </td>
                    <td>
                      Kishore Gopalakrishna<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/kgopalak/" target="_blank" rel="nofollow">/in/kgopalak</a><br>
                      <b>Founder, Stealth Startup</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/jean.jpg" width="150">
                    </td>
                    <td>
                      Jean-Baptiste Onofré<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/jean-baptiste-onofr%C3%A9-a0739317/" target="_blank" rel="nofollow">/in/jean-baptiste</a><br>
                      <b>Talend</b>
                    </td>
                    <td>
                      <img src="../assets/images/issac.jpeg" width="150">
                    </td>
                    <td>
                      Issac Buenrostro<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/ibuenros/" target="_blank" rel="nofollow">/in/ibuenros</a><br>
                      <b>LinkedIn</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/lorand.jpeg" width="150">
                    </td>
                    <td>
                      Lorand Bendig<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/lbendig/" target="_blank" rel="nofollow">/in/lbendig</a><br>
                      <b>Swisscom</b>
                    </td>
                    <td>
                      <img src="https://avatars2.githubusercontent.com/u/1904898" width="150">
                    </td>
                    <td>
                      Joel Baranick<br>
                      Committer<br>
                      <a href="https://www.linkedin.com/in/joelbaranick/" target="_blank" rel="nofollow">/in/joelbaranick</a><br>
                      <b>Ensighten</b>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <img src="../assets/images/sahil.jpg" width="150">
                    </td>
                    <td>
                      Sahil Takiar<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/sahil-takiar-94186216/" target="_blank" rel="nofollow">/in/sahil-takiar</a><br>
                      <b>Cloudera</b>
                    </td>
                    <td>
                      <img src="../assets/images/yinan.jpg" width="150">
                    </td>
                    <td>
                      Yinan Li<br>
                      PMC Member<br>
                      <a href="https://www.linkedin.com/in/yinan-li-91a3b214/" target="_blank" rel="nofollow">/in/yinan-li</a><br>
                      <b>Google</b>
                    </td>
                  </tr>
                </tbody>
              </table>
          </div>
        </div>
          
        <hr>
        <footer style="margin-bottom: 0em; margin-top: 0em;">
          <div id="footer">
              <div class="row">
                  <div class="col-sm-6">
                      <div class="footer-section__policies-section--policies">
                          <p style="font-size: 12px; line-height: 1.5em;">
                            Copyright © 2021 <a href="http://www.apache.org/" target="_blank">The Apache Software Foundation</a>
                            <br>
                            Apache, Apache Gobblin, the Apache feather and the Gobblin logo are trademarks of The Apache Software Foundation
                            <br>
                         </p>
                      </div>
                </div>
                <div class="col-sm-6">
                    <p style="font-size: 12px; line-height: 1.5em; text-align: right;">
                        <!-- REQUIRED BY APACHE [START] -->
                        <a class="external" href="https://www.apache.org/">Foundation</a> | 
                        <a class="external" href="https://www.apache.org/licenses/">License</a> | 
                        <a class="external" href="https://www.apache.org/events/current-event">Events</a> | 
                        <a class="external" href="https://www.apache.org/security">Security</a> | 
                        <a class="external" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> | 
                        <a class="external" href="https://www.apache.org/foundation/thanks.html">Thanks</a> 
                        <!-- REQUIRED BY APACHE [END] -->
                    </p>
                </div>
              
            </div>
          </div>
        </footer>
      </div>
    <!--===============================================
      Gobblin Center Space <end>
    =================================================-->
    </div>

    <!--===============================================
      Javascript files
    =================================================-->
    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
    <script src="../assets/js/bootstrap.min.js"></script>
    <script src="../assets/js/jquery.particleground.min.js"></script>
    <script src="../assets/js/custom.js"></script>
    <script src="../assets/js/gobblin.js"></script>
  </body>
</html>
